docs: add system menu redesign spec
This commit is contained in:
182
docs/superpowers/specs/2026-07-09-system-menu-redesign-design.md
Normal file
182
docs/superpowers/specs/2026-07-09-system-menu-redesign-design.md
Normal file
@@ -0,0 +1,182 @@
|
||||
# 消息中台管理后台菜单重构设计
|
||||
|
||||
> **日期**:2026-07-09
|
||||
> **状态**:已确认,待实现
|
||||
> **关联文档**:[消息与客户互动中台架构设计](../architecture/2026-07-06-message-customer-interaction-design.md)
|
||||
|
||||
---
|
||||
|
||||
## 1. 背景与问题
|
||||
|
||||
当前管理后台采用 14 项平铺菜单,功能随需求逐步叠加,导致:
|
||||
|
||||
- **职责割裂**:同一业务对象(如渠道账号)的初始化、状态监控、登录操作分散在不同页面。
|
||||
- **工作流不连贯**:运营人员完成一次“发消息”需要跳转发送记录、测试发送、发送策略等多个平级菜单。
|
||||
- **设计不统一**:部分页面是对象管理 CRUD,部分是流程编排,部分是工具页面,缺少统一的信息架构。
|
||||
|
||||
本设计从三类用户(平台管理员、租户管理员/技术人员、运营人员)的实际工作流出发,重新梳理菜单层级与功能定义。
|
||||
|
||||
---
|
||||
|
||||
## 2. 设计目标
|
||||
|
||||
1. **按工作流组织顶层菜单**:让用户按“接入 → 维护资产 → 运营发送 → 编排流程 → 系统管理”的路径找到功能。
|
||||
2. **按业务对象聚合二级功能**:同一对象(渠道账号、会话、联系人)的关联操作放在同一模块下。
|
||||
3. **明确功能边界**:每个菜单项都有清晰的功能定义、面向角色和与现有页面的映射关系。
|
||||
4. **预留扩展位**:IVR 流程等 2092 阶段功能先不实现,但保留模块位置说明。
|
||||
|
||||
---
|
||||
|
||||
## 3. 设计决策
|
||||
|
||||
采用 **混合式组织(候选 C)**:
|
||||
|
||||
- 顶层按 **工作流/职责域** 划分,降低日常操作路径长度。
|
||||
- 模块内按 **业务对象** 分组,保持数据模型与 UI 结构一致。
|
||||
- 权限按角色控制菜单可见性,而不是为每个角色单独一套菜单。
|
||||
|
||||
---
|
||||
|
||||
## 4. 角色定义
|
||||
|
||||
| 角色 | 说明 | 典型操作 |
|
||||
|------|------|---------|
|
||||
| 平台管理员 | 中台平台级管理 | 创建租户、维护平台角色 |
|
||||
| 租户管理员 | 业务系统技术人员/管理员 | 配置渠道、管理用户、配置流程 |
|
||||
| 运营人员 | 日常消息运营 | 发送、查看记录、维护联系人/群 |
|
||||
|
||||
> 说明:运营人员缺少部分租户内容管理,其他权限与租户管理员相同。具体可见性通过角色权限控制,不由菜单结构区分。
|
||||
|
||||
---
|
||||
|
||||
## 5. 菜单结构
|
||||
|
||||
### 5.1 一级菜单总览
|
||||
|
||||
| 一级菜单 | 定位 | 可见角色 |
|
||||
|---------|------|---------|
|
||||
| 概览 | 运营总览、快捷入口 | 全部 |
|
||||
| 渠道接入 | 渠道资源与账号接入 | 租户管理员、运营人员 |
|
||||
| 客户与群 | 联系人、会话、标签资产 | 租户管理员、运营人员 |
|
||||
| 消息运营 | 发送、记录、策略、消息查询 | 租户管理员、运营人员 |
|
||||
| 流程编排 | 入站消息处理配置 | 租户管理员 |
|
||||
| 系统管理 | 租户、用户、角色 | 平台管理员、租户管理员 |
|
||||
|
||||
### 5.2 概览
|
||||
|
||||
| 二级菜单 | 功能定义 | 页面/备注 |
|
||||
|---------|---------|----------|
|
||||
| 运营总览 | 展示今日发送量、成功/失败/待发送统计、最近异常、关键指标卡片 | 复用并增强现有 Dashboard |
|
||||
| 快捷入口 | 提供常用功能的一键跳转(测试发送、发送记录、渠道账号) | 新增 |
|
||||
|
||||
### 5.3 渠道接入
|
||||
|
||||
| 二级菜单 | 功能定义 | 页面/备注 |
|
||||
|---------|---------|----------|
|
||||
| 渠道主体 | 维护企业在各渠道的主体信息:企微 corp_id/secret、钉钉/飞书主体;支持会话存档开关 | 现有 ChannelSubject 页面迁移 |
|
||||
| 渠道账号 | 维护用于收发消息的载体账号:新增、编辑、启用/停用、查看在线/登录/风控状态、强制下线 | 现有 ChannelAccount 页面迁移 |
|
||||
| 账号初始化 | 统一入口引导初始化:企微员工/应用、个微扫码登录、机器人 webhook | 从 ChannelAccount 页面拆分出的引导流程 |
|
||||
| 应用管理 | 企微应用等渠道应用的配置:agent_id、agent_secret、应用消息推送能力 | 新增(原散落在渠道账号中) |
|
||||
|
||||
### 5.4 客户与群
|
||||
|
||||
| 二级菜单 | 功能定义 | 页面/备注 |
|
||||
|---------|---------|----------|
|
||||
| 联系人 | 维护 Person(业务身份),含 person_code、person_type、phone、institution_id、supplier_id、contract_id;支持新增/编辑/启用停用 | 现有 Person 页面增强 |
|
||||
| 渠道身份 | 管理 Person 在各渠道的身份映射:企微 external_userid、个微 wxid、钉钉 userid、飞书 open_id | 新增独立入口 |
|
||||
| 标签体系 | 树形标签管理:新增/编辑/删除、查看人员与会话标签分布;标签表达角色/合同/机构/供应商等业务属性 | 现有 Tag 页面升级为体系化管理 |
|
||||
| 会话/群聊 | 维护 Conversation:新增、编辑、同步群成员、查看历史消息、绑定业务字段(contract_id 等) | 现有 Conversation 页面迁移 |
|
||||
| 账号-会话绑定 | 为会话配置发送主备号、接收主备号及优先级;单聊约束需校验 channel_type 一致性 | 从 Conversation 页面拆分出的独立管理 |
|
||||
|
||||
### 5.5 消息运营
|
||||
|
||||
| 二级菜单 | 功能定义 | 页面/备注 |
|
||||
|---------|---------|----------|
|
||||
| 发送记录 | 按任务查询发送明细、状态、结果、重试记录;支持取消待发送任务 | 现有 SendRecord 页面迁移 |
|
||||
| 测试发送 | 模拟发送,不实际调用渠道,用于业务系统联调和发送逻辑验证 | 现有 MessageTest 页面迁移并改名 |
|
||||
| 发送策略 | 策略组配置:频率控制、时间窗口、黑名单、重试、主备切换 | 现有 SendPolicy 页面迁移 |
|
||||
| 消息查询 | 统一查询入站/出站消息事件(MessageEvent),支持按会话、人员、账号、来源(realtime / session_archive)筛选 | 新增 |
|
||||
|
||||
### 5.6 流程编排
|
||||
|
||||
| 二级菜单 | 功能定义 | 页面/备注 |
|
||||
|---------|---------|----------|
|
||||
| 入站 Webhook | 配置业务系统接收入站消息的 webhook URL、签名方式、测试连通性 | 现有 InboundWebhook 页面迁移 |
|
||||
| 入站流程 | 轻量画布配置入站消息处理流程:receive → intent → condition → webhook/reply | 现有 InboundFlow 页面迁移 |
|
||||
|
||||
> **本期不做**:IVR 流程(2092 阶段接入)。
|
||||
|
||||
### 5.7 系统管理
|
||||
|
||||
| 二级菜单 | 功能定义 | 页面/备注 |
|
||||
|---------|---------|----------|
|
||||
| 租户管理 | 平台管理员创建/编辑租户;租户管理员维护本租户基础信息、认证配置、入站 webhook | 现有 TenantManagement 页面增强 |
|
||||
| 用户管理 | 中台用户增删改查、重置密码、启用/停用、绑定角色 | 现有 UserManagement 页面迁移 |
|
||||
| 角色权限 | 平台角色 admin/operator/viewer 的权限配置与分配 | 新增(首期角色固定,可配置权限列表) |
|
||||
|
||||
---
|
||||
|
||||
## 6. 现有菜单调整映射
|
||||
|
||||
| 当前菜单 | 调整方式 | 新位置 |
|
||||
|---------|---------|--------|
|
||||
| 概览 | 保留并增强 | 概览 → 运营总览 |
|
||||
| 渠道主体 | 保留 | 渠道接入 → 渠道主体 |
|
||||
| 渠道账号 | 拆分 | 渠道接入 → 渠道账号 / 账号初始化 / 应用管理 |
|
||||
| 会话/群聊 | 拆分 | 客户与群 → 会话/群聊 / 账号-会话绑定 |
|
||||
| 联系人 | 保留,增强 | 客户与群 → 联系人 |
|
||||
| 标签 | 升级为体系 | 客户与群 → 标签体系 |
|
||||
| 发送记录 | 保留 | 消息运营 → 发送记录 |
|
||||
| 消息测试 | 保留,改名 | 消息运营 → 测试发送 |
|
||||
| 发送策略 | 保留 | 消息运营 → 发送策略 |
|
||||
| 入站流程 | 保留 | 流程编排 → 入站流程 |
|
||||
| IVR 流程 | 本期移除 | — |
|
||||
| 入站 Webhook | 保留 | 流程编排 → 入站 Webhook |
|
||||
| 流程追踪 | 合并 | 消息运营 → 发送记录(详情)/ 消息查询 |
|
||||
| 用户管理 | 保留 | 系统管理 → 用户管理 |
|
||||
| 租户管理 | 保留 | 系统管理 → 租户管理 |
|
||||
|
||||
---
|
||||
|
||||
## 7. 新增页面清单
|
||||
|
||||
| 页面 | 所属模块 | 功能说明 |
|
||||
|------|---------|---------|
|
||||
| 账号初始化 | 渠道接入 | 引导式初始化各渠道账号 |
|
||||
| 应用管理 | 渠道接入 | 企微应用等渠道应用配置 |
|
||||
| 渠道身份 | 客户与群 | 管理 Person 在各渠道的身份映射 |
|
||||
| 账号-会话绑定 | 客户与群 | 会话与收发账号的绑定管理 |
|
||||
| 消息查询 | 消息运营 | 统一查询入站/出站消息事件 |
|
||||
| 角色权限 | 系统管理 | 中台角色与权限配置 |
|
||||
|
||||
---
|
||||
|
||||
## 8. 不在本期范围内的功能
|
||||
|
||||
| 功能 | 原因 | 后续阶段 |
|
||||
|------|------|---------|
|
||||
| IVR 流程 | 属于 2092 IVR 语音配置需求,本期聚焦 1851 企微场景 | 2092 阶段 |
|
||||
| 模板管理 | 中台不保存模板,由业务系统自行维护 | 不涉及 |
|
||||
| 业务触发规则 | 中台不承载业务系统触发规则 | 不涉及 |
|
||||
|
||||
---
|
||||
|
||||
## 9. 实现要点
|
||||
|
||||
1. **前端路由**:按新菜单结构重排 `admin-web/src/router/index.ts`,路径建议保持语义化,如 `/channel-subject`、`/channel-account/init`、`/customer/person`、`/message/record`。
|
||||
2. **布局组件**:`Layout.vue` 从平铺 `el-menu-item` 改为分组 `el-sub-menu`,支持一级展开/收起。
|
||||
3. **权限控制**:菜单可见性通过 `authStore.roleCodes` 或后端返回的权限列表控制;URL 级权限同步调整。
|
||||
4. **页面拆分**:
|
||||
- `Conversation.vue` 中的“绑定账号”功能拆出为 `ConversationAccountBinding.vue`。
|
||||
- `ChannelAccount.vue` 中的初始化流程拆出为 `ChannelAccountInit.vue`。
|
||||
5. **空状态处理**:新增页面先实现最小可用版本,避免阻塞菜单上线。
|
||||
|
||||
---
|
||||
|
||||
## 10. 验收标准
|
||||
|
||||
- [ ] 左侧导航按新 6 大模块分组展示,无 IVR 流程入口。
|
||||
- [ ] 每个二级菜单有明确页面,无 404。
|
||||
- [ ] 租户管理员、运营人员、平台管理员看到的菜单符合角色定义。
|
||||
- [ ] 现有功能在迁移后行为保持一致。
|
||||
- [ ] 新增页面至少具备列表/查询能力,复杂编辑可二期补齐。
|
||||
Reference in New Issue
Block a user