主题
管理后台 Web
负责人:前端程序员
运行环境:PC 浏览器(内部使用,不对外公开)
核心职责:为运营人员、门店管理员、老板/财务提供数据查看与系统管理界面
职责边界
管理后台是面向内部运营人员的 Web 应用,通过调用云端 API 实现所有功能,本身不包含业务逻辑。
管理后台负责:
- 门店、用户、订单、产品的增删改查界面
- 数据分析图表展示
- 硬件状态监控与远程控制操作
- 优惠券和核销记录管理
- 多角色权限(老板 / 财务 / 门店管理员)
管理后台不负责:
- 直接操作硬件(通过云端 API 下指令)
- 用户端功能(由小程序负责)
功能页面清单
门店管理
- 门店列表(多店切换)
- 门店基本信息配置(名称、地址、营业时间)
- 硬件设备绑定与配置(工控机 API Key 管理)
- 门店地图配置(供小程序展示)
用户管理
- 用户列表(搜索、筛选)
- 用户详情(基本信息、会员状态、进出记录)
- 人脸信息管理(查看绑定状态,删除人脸数据)
- 手动开通/关闭会员
订单管理
- 订单列表(多维度筛选:时间、门店、用户、产品、状态)
- 订单详情
- 核销记录查看
- 退款操作
产品管理
- 产品套餐列表(月卡、次卡、体验卡等)
- 新增/编辑/下架产品
- 优惠券管理(创建批次、发放、查看核销情况)
硬件控制
- 各门店工控机在线状态(心跳监控)
- AB 门实时状态展示(锁定/解锁/门磁状态)
- 远程开门操作(带权限控制和操作日志)
- 灯光远程控制
- UPS 电量状态告警展示
数据分析
- 进出人次统计(日/周/月)
- 营收趋势(按门店/产品类型)
- 会员留存率
- 热门时段分析
- 数据导出(Excel/CSV)
- 飞书多维表格同步状态
角色权限矩阵
| 功能模块 | 老板 | 财务 | 门店管理员 |
|---|---|---|---|
| 查看所有门店数据 | ✅ | ✅ | ❌(仅本店) |
| 产品/价格管理 | ✅ | ❌ | ❌ |
| 订单退款 | ✅ | ✅ | ❌ |
| 优惠券创建 | ✅ | ✅ | ❌ |
| 硬件远程控制 | ✅ | ❌ | ✅ |
| 用户人脸数据管理 | ✅ | ❌ | ✅ |
| 数据分析查看 | ✅ | ✅ | ✅(本店) |
页面结构(路由规划)
/login # 登录页
/dashboard # 仪表盘(当日数据概览)
/stores # 门店列表
/stores/:id # 门店详情
/users # 用户列表
/users/:id # 用户详情
/orders # 订单列表
/orders/:id # 订单详情
/products # 产品管理
/coupons # 优惠券管理
/hardware # 硬件控制面板
/analytics # 数据分析
/settings # 系统设置(账号、门店配置)技术选型建议
| 组件 | 建议方案 | 备注 |
|---|---|---|
| 框架 | Vue 3 + TypeScript | 与 VitePress 生态一致 |
| UI 组件库 | Ant Design Vue 或 Element Plus | 后台管理类组件丰富 |
| 状态管理 | Pinia | Vue 3 推荐方案 |
| 图表库 | ECharts 或 Apache ECharts Vue | 数据分析页面 |
| 构建工具 | Vite | 开发体验好,AI 生成代码兼容 |
| HTTP 客户端 | Axios | 标准选型 |
| 实时状态 | WebSocket 或 SSE | 硬件状态实时推送 |
待确认事项
- [ ] 管理后台是否需要移动端适配(目前定位 PC 端)
- [ ] 飞书数据同步的展示形式(直接跳转飞书 vs 内嵌展示)
- [ ] 硬件状态实时刷新方式(WebSocket vs 定时轮询)
- [ ] 多门店管理员是否可以跨店查看部分数据