4.3 KiB
4.3 KiB
role-admin C 端正式版管理后台需求文档
1. 后台定位
role-admin 继续作为管理后台,不承载员工日常移动端工作。正式版需要在现有门店、角色、员工、权限策略基础上,增加 C 端运营能力:
- 公告管理。
- 任务管理。
- 排班管理。
- 员工密码重置和凭据审计。
2. 现有能力保留
继续保留当前页面:
- 门店管理。
- 角色管理。
- 员工管理。
- 权限策略。
登录与鉴权仍按现有流程:
POST /api/auth/admin/loginGET /api/auth/meGET /api/permissions/me
菜单和按钮继续以后端返回的 menus、permissions、actions 为准。
3. 新增菜单
在现有“权限管理”业务组之外,新增“员工工作台运营”业务组。
| 路由 | 菜单 | 权限 | 说明 |
|---|---|---|---|
/announcements |
公告管理 | announcement:view |
管理 C 端公告 |
/tasks |
任务管理 | task:view |
管理门店和员工任务 |
/shifts |
排班管理 | shift:view |
管理员工排班 |
/credential-audits |
凭据审计 | credential:audit:view |
查看密码重置审计 |
4. 公告管理
列表:
- 标题、重要级别、目标范围、状态、发布人、发布时间、已读人数。
- 支持状态、重要级别、关键词筛选。
表单:
- 标题、内容、重要级别。
- 目标范围:全部门店、指定门店、指定角色、指定员工。
- 保存草稿、发布、归档。
权限:
announcement:view: 查看列表和详情。announcement:manage: 新建、编辑、发布、归档。
5. 任务管理
列表:
- 标题、目标门店、分配员工、状态、优先级、截止时间、创建人。
- 支持门店、员工、状态、优先级、关键词筛选。
表单:
- 标题、描述、目标门店、分配员工、优先级、截止时间。
- 支持取消未完成任务。
详情:
- 展示任务状态流转记录和员工备注。
权限:
task:view: 查看任务。task:manage: 新建、编辑、取消任务。
6. 排班管理
列表:
- 门店、员工、岗位、开始时间、结束时间、状态。
- 支持门店、员工、日期范围筛选。
表单:
- 选择门店后加载员工。
- 选择员工、岗位、开始时间、结束时间。
- 同一员工同一时间段不能重复排班。
权限:
shift:view: 查看排班。shift:manage: 新增、编辑、取消排班。
7. 密码重置与凭据审计
用户提出“超级管理员与管理员需要支持查看自身和下级用户密码”。后台正式实现为“重置和一次性查看临时密码”,不做明文原密码查看。
7.1 员工管理页改造
在员工列表和员工详情增加:
- “重置密码”按钮:需要
credential:reset。 - 重置确认弹窗:必须填写原因。
- 重置成功弹窗:显示一次性临时密码,并提供复制按钮。
- 弹窗关闭后不再展示该临时密码。
范围规则:
- 超级管理员可重置所有员工。
- 管理员只能重置自己权限范围内的员工。
- 店长如被授予
credential:reset,只能重置本店员工。 - 不支持查看自身当前密码;自身密码走修改密码。
7.2 凭据审计页
展示:
- 操作者。
- 目标员工。
- 动作类型。
- 时间。
- IP。
- User-Agent。
- 原因。
筛选:
- 操作者、目标员工、时间范围、门店。
8. 前端实现要求
- 业务接口继续集中在
src/api/access.ts或按模块拆分到src/api/*.ts,页面不直接拼接 URL。 - 路由、菜单和按钮显隐继续基于后端权限。
- 新增页面应复用现有 Element Plus 和 pure-admin 页面风格。
- 列表页都要支持分页、筛选、重置、保存后刷新。
- 重置密码成功弹窗不能把临时密码写入本地存储、日志或 URL。
9. README 同步
新增页面、API 模块、路由模块或关键配置后,必须同步更新 README.md 的:
- 业务模块。
- 后端对接接口。
- 登录与鉴权流程中涉及的新增凭据规则。
10. 验收标准
- 超级管理员可以看到新增菜单。
- 没有权限的用户看不到对应菜单和按钮。
- 员工密码重置只显示一次性临时密码。
- 凭据审计能查到每次重置行为。
- 不存在“查看当前明文密码”的入口。