465 lines
20 KiB
Markdown
465 lines
20 KiB
Markdown
# 基础平台产品设计
|
||
|
||
## 1. 文档说明
|
||
|
||
### 1.1 文档目的
|
||
|
||
本文档用于定义基础平台的产品设计和业务需求,作为研发部门进行基础平台研发、测试部门进行测试验收的依据。
|
||
|
||
本文档重点描述基础平台需要支撑的业务对象、功能范围、业务规则、产品边界和验收标准,不描述具体技术实现方案。
|
||
|
||
### 1.2 阅读对象
|
||
|
||
- 研发部门:根据本文档理解基础平台的业务范围、功能模块、数据对象、业务规则和系统边界。
|
||
- 测试部门:根据本文档设计测试用例、验证功能完整性、业务规则正确性和跨模块协同结果。
|
||
- 产品部门:根据本文档进行需求澄清、范围控制、版本验收和后续迭代管理。
|
||
- 实施与交付团队:根据本文档理解基础平台能力边界和客户初始化配置方式。
|
||
|
||
### 1.3 建设背景
|
||
|
||
公司当前产品战略要求同时支撑纵向产品和横向产品:
|
||
|
||
- 纵向产品:营帐通拆分、连锁业务对账系统、分账系统、聚合支付系统、物流撮合行业分账试点。
|
||
- 横向产品:门店选址规划系统、连锁门店客服系统,以及后续餐饮连锁行业产品线。
|
||
|
||
为避免各业务系统重复建设组织、账号、权限、菜单、配置、消息、流程等通用能力,需要建设统一基础平台,作为后续多产品、多客户、多组织、多门店复用的底座。
|
||
|
||
### 1.4 版本范围
|
||
|
||
本文档定义基础平台 1.0 范围。
|
||
|
||
1.0 重点支撑:
|
||
|
||
- 多客户管理
|
||
- 组织管理
|
||
- 用户与账号管理
|
||
- 单点登录服务
|
||
- 统一 Token 认证鉴权
|
||
- 统一门户与菜单聚合
|
||
- 应用 iframe 容器
|
||
- 角色与权限管理
|
||
- 菜单与应用入口管理
|
||
- 基础配置管理
|
||
- 操作日志
|
||
- 消息与待办基础能力
|
||
- 基础数据字典
|
||
- 业务系统接入管理
|
||
|
||
1.0 不展开:
|
||
|
||
- 复杂工作流引擎
|
||
- 复杂主数据治理平台
|
||
- 数据中台
|
||
- 统一报表平台
|
||
- 复杂低代码配置平台
|
||
- 复杂开放平台能力
|
||
|
||
## 2. 产品定位
|
||
|
||
### 2.1 基础平台定位
|
||
|
||
基础平台是公司各业务产品的统一底座,为连锁业务对账系统、分账系统、聚合支付系统、门店选址规划系统、门店大数据平台、连锁门店客服系统等产品提供通用管理能力。
|
||
|
||
基础平台不直接承载具体业务交易,不负责对账、分账、支付、客服、选址等具体业务逻辑。基础平台负责统一管理业务系统运行所需的基础对象和通用能力。
|
||
|
||
### 2.2 核心价值
|
||
|
||
- 统一客户、组织、用户、角色、权限、菜单等基础能力。
|
||
- 支撑多产品复用,避免每个业务系统重复建设基础模块。
|
||
- 支撑多客户、多品牌、多门店、多业务系统的统一管理。
|
||
- 为后续分账系统 SaaS 化、聚合支付接入、客户项目交付提供基础能力。
|
||
- 为研发技术架构调整提供清晰的业务边界和模块边界。
|
||
|
||
### 2.3 产品边界
|
||
|
||
基础平台负责:
|
||
|
||
- 客户管理
|
||
- 组织管理
|
||
- 用户账号管理
|
||
- 单点登录服务
|
||
- 统一 Token 认证鉴权
|
||
- 统一门户与菜单聚合
|
||
- 应用 iframe 容器
|
||
- 角色权限管理
|
||
- 菜单与应用入口管理
|
||
- 基础配置管理
|
||
- 消息与待办基础能力
|
||
- 操作日志
|
||
- 数据字典
|
||
- 业务系统接入管理
|
||
|
||
基础平台不负责:
|
||
|
||
- 对账业务规则
|
||
- 分账业务规则
|
||
- 聚合支付业务规则
|
||
- 客服工单业务规则
|
||
- 选址评分模型
|
||
- 经营分析指标计算
|
||
- 具体客户项目的业务审批细节
|
||
|
||
## 3. 用户与使用场景
|
||
|
||
### 3.1 主要用户角色
|
||
|
||
| 角色 | 使用场景 |
|
||
| --- | --- |
|
||
| 平台超级管理员 | 管理客户、系统应用、全局配置、平台级账号 |
|
||
| 客户管理员 | 管理本客户下组织、用户、角色、权限、菜单 |
|
||
| 产品管理员 | 管理某个业务产品的菜单、权限项、接入配置 |
|
||
| 实施人员 | 初始化客户组织、账号、权限、配置 |
|
||
| 客服 / 运维人员 | 查询账号、权限、日志、消息状态,协助排查问题 |
|
||
| 业务系统用户 | 通过基础平台获得账号、权限、菜单、消息和待办 |
|
||
|
||
### 3.2 典型使用场景
|
||
|
||
#### 3.2.1 新客户初始化
|
||
|
||
实施人员为新客户创建客户档案,配置客户基本信息,初始化组织架构、管理员账号、基础角色和可用应用。
|
||
|
||
#### 3.2.2 新产品接入
|
||
|
||
产品管理员将新业务系统注册到基础平台,配置应用入口、菜单、权限项和可授权范围。
|
||
|
||
#### 3.2.3 客户开通业务产品
|
||
|
||
平台管理员为客户开通连锁业务对账系统、分账系统、聚合支付等业务产品,客户管理员再给本客户内部用户分配权限。
|
||
|
||
#### 3.2.4 用户登录与权限控制
|
||
|
||
用户登录后,根据所属客户、组织、角色和权限,看到对应业务系统入口和菜单,并只能操作授权范围内的数据。
|
||
|
||
#### 3.2.5 账号和权限问题排查
|
||
|
||
客服或运维人员可查询用户所属组织、角色、权限、菜单、登录状态和操作日志,用于定位用户无法访问或权限异常问题。
|
||
|
||
## 4. 核心业务对象
|
||
|
||
### 4.1 对象清单
|
||
|
||
| 对象 | 定义 | 说明 |
|
||
| --- | --- | --- |
|
||
| 客户 | 使用公司产品的企业或平台客户 | 例如餐饮连锁客户、鞋服连锁客户、物流撮合平台客户 |
|
||
| 应用 | 接入基础平台的业务系统 | 例如连锁业务对账系统、分账系统、聚合支付 |
|
||
| 组织 | 客户内部管理结构 | 例如总部、品牌、区域、门店、部门 |
|
||
| 用户 | 使用系统的自然人 | 可属于一个或多个组织 |
|
||
| 账号 | 用户登录系统的身份标识 | 与用户关联 |
|
||
| 登录会话 | 用户登录后形成的访问状态 | 用于支撑跨应用访问 |
|
||
| Token | 用户访问应用和接口的认证凭证 | 由基础平台统一签发和校验 |
|
||
| 门户框架 | 基础平台统一页面框架 | 包含头部、左侧菜单、Tab、内容区 |
|
||
| 应用入口 | 业务应用在基础平台中的访问入口 | 可指向基础平台页面或 iframe 应用页面 |
|
||
| 已打开页签 | 用户在门户中打开的页面 Tab | 可关联基础平台页面或业务应用页面 |
|
||
| iframe 容器 | 基础平台承载业务应用页面的容器 | 用于嵌入业务应用界面 |
|
||
| 角色 | 权限集合 | 例如客户管理员、财务主管、门店店长 |
|
||
| 权限项 | 系统可控制的功能或操作 | 例如查看、创建、修改、审核、导出 |
|
||
| 菜单 | 用户可见的系统导航入口 | 与应用和权限关联 |
|
||
| 数据范围 | 用户可查看或操作的数据边界 | 例如全部、指定组织、指定门店 |
|
||
| 配置项 | 可被客户或系统配置的参数 | 例如启用状态、业务开关 |
|
||
| 消息 | 系统向用户发送的通知 | 可包含待办、通知、提醒 |
|
||
| 操作日志 | 用户在系统中的关键操作记录 | 用于审计和排查 |
|
||
|
||
### 4.2 对象关系
|
||
|
||
- 一个客户可开通多个应用。
|
||
- 一个客户下可建立多级组织。
|
||
- 一个用户归属于一个客户。
|
||
- 一个用户可关联多个组织,但必须有一个默认组织。
|
||
- 一个用户可拥有多个角色。
|
||
- 一个用户登录基础平台后,可在已授权应用之间进行单点访问。
|
||
- 各业务应用访问时,Token 认证鉴权统一由基础平台完成。
|
||
- 基础平台统一聚合所有应用菜单。
|
||
- 业务应用不再独立渲染系统级菜单。
|
||
- 业务应用页面通过 iframe 方式嵌入基础平台内容区。
|
||
- 一个角色可包含多个权限项。
|
||
- 一个权限项归属于一个应用。
|
||
- 一个菜单归属于一个应用,并可绑定权限项。
|
||
- 一个用户最终可访问的菜单和功能,由客户开通应用、用户角色、权限项和数据范围共同决定。
|
||
|
||
## 5. 功能模块设计
|
||
|
||
基础平台功能模块详细设计已拆分至独立文档,便于研发、测试和产品分别按模块评审、开发和验收。
|
||
|
||
功能模块目录:[功能模块](./功能模块/README.md)
|
||
|
||
| 编号 | 功能模块 | 独立文档 |
|
||
| --- | --- | --- |
|
||
| 5.1 | 客户管理 | [01-客户管理.md](./功能模块/01-客户管理.md) |
|
||
| 5.2 | 应用管理 | [02-应用管理.md](./功能模块/02-应用管理.md) |
|
||
| 5.3 | 组织管理 | [03-组织管理.md](./功能模块/03-组织管理.md) |
|
||
| 5.4 | 用户与账号管理 | [04-用户与账号管理.md](./功能模块/04-用户与账号管理.md) |
|
||
| 5.5 | 单点登录与统一认证鉴权 | [05-单点登录与统一认证鉴权.md](./功能模块/05-单点登录与统一认证鉴权.md) |
|
||
| 5.6 | 统一门户与应用容器 | [06-统一门户与应用容器.md](./功能模块/06-统一门户与应用容器.md) |
|
||
| 5.7 | 角色管理 | [07-角色管理.md](./功能模块/07-角色管理.md) |
|
||
| 5.8 | 权限管理 | [08-权限管理.md](./功能模块/08-权限管理.md) |
|
||
| 5.9 | 菜单管理 | [09-菜单管理.md](./功能模块/09-菜单管理.md) |
|
||
| 5.10 | 基础配置管理 | [10-基础配置管理.md](./功能模块/10-基础配置管理.md) |
|
||
| 5.11 | 消息与待办 | [11-消息与待办.md](./功能模块/11-消息与待办.md) |
|
||
| 5.12 | 操作日志 | [12-操作日志.md](./功能模块/12-操作日志.md) |
|
||
| 5.13 | 数据字典 | [13-数据字典.md](./功能模块/13-数据字典.md) |
|
||
|
||
## 6. 跨模块业务规则
|
||
|
||
### 6.1 多客户隔离
|
||
|
||
- 所有客户数据必须隔离。
|
||
- 用户只能访问所属客户数据。
|
||
- 平台管理员可管理多个客户。
|
||
- 客户管理员只能管理本客户。
|
||
|
||
### 6.2 应用开通与访问
|
||
|
||
- 客户未开通应用时,该客户用户不可访问应用。
|
||
- 应用停用时,所有客户均不可访问。
|
||
- 用户是否能访问应用,由客户开通状态和用户角色共同决定。
|
||
|
||
### 6.3 权限生效顺序
|
||
|
||
用户最终权限由以下条件共同决定:
|
||
|
||
1. 客户是否启用。
|
||
2. 用户是否启用。
|
||
3. 应用是否启用。
|
||
4. 客户是否开通应用。
|
||
5. Token 是否有效。
|
||
6. 用户是否拥有对应角色。
|
||
7. 角色是否包含对应权限。
|
||
8. 数据范围是否覆盖目标数据。
|
||
|
||
任一条件不满足,用户不可访问对应功能或数据。
|
||
|
||
### 6.4 历史数据处理
|
||
|
||
- 客户、组织、用户、角色停用后,不删除历史数据。
|
||
- 历史操作日志保留。
|
||
- 历史业务数据归属不因组织调整自动变化。
|
||
|
||
## 7. 与业务系统关系
|
||
|
||
### 7.1 与营帐通现状关系
|
||
|
||
营帐通作为现有产品和客户项目现状,不作为基础平台 1.0 的新接入应用。
|
||
|
||
营帐通拆分后的目标产品为连锁业务对账系统和分账系统。基础平台 1.0 面向拆分后的连锁业务对账系统、分账系统提供客户、组织、用户、角色、菜单、权限、日志等能力。
|
||
|
||
营帐通现有业务能力、现状问题和迁移策略不在基础平台中处理,应在营帐通现状文档、连锁业务对账系统规划文档和分账系统规划文档中分别承接。
|
||
|
||
### 7.2 与连锁业务对账系统关系
|
||
|
||
基础平台提供用户、权限、组织、菜单、配置等能力。
|
||
|
||
连锁业务对账系统用户登录、Token 认证和访问鉴权统一通过基础平台完成。
|
||
|
||
连锁业务对账系统页面通过 iframe 嵌入基础平台内容区,不再独立渲染系统级菜单。
|
||
|
||
连锁业务对账系统负责对账任务、账单、流水、差异、报表等业务能力。
|
||
|
||
### 7.3 与分账系统关系
|
||
|
||
基础平台提供用户、权限、组织、菜单、配置等能力。
|
||
|
||
分账系统用户登录、Token 认证和访问鉴权统一通过基础平台完成。
|
||
|
||
分账系统页面通过 iframe 嵌入基础平台内容区,不再独立渲染系统级菜单。
|
||
|
||
分账系统负责结算主体、账户体系、分账规则、清分、分账、退款、出款等业务能力。
|
||
|
||
### 7.4 与聚合支付关系
|
||
|
||
基础平台提供用户、权限、应用入口、配置等能力。
|
||
|
||
聚合支付系统用户登录、Token 认证和访问鉴权统一通过基础平台完成。
|
||
|
||
聚合支付系统页面通过 iframe 嵌入基础平台内容区,不再独立渲染系统级菜单。
|
||
|
||
聚合支付系统负责支付渠道、支付订单、支付流水、退款、支付状态、支付通知等业务能力。
|
||
|
||
### 7.5 与客服系统关系
|
||
|
||
基础平台提供用户、组织、角色、权限、菜单、消息等能力。
|
||
|
||
客服系统用户登录、Token 认证和访问鉴权统一通过基础平台完成。
|
||
|
||
客服系统页面通过 iframe 嵌入基础平台内容区,不再独立渲染系统级菜单。
|
||
|
||
客服系统负责客诉、咨询、工单、补偿、回访、责任归属等业务能力。
|
||
|
||
## 8. 测试验收要求
|
||
|
||
### 8.1 测试范围
|
||
|
||
测试部门需重点覆盖:
|
||
|
||
- 客户隔离
|
||
- 组织管理
|
||
- 用户账号管理
|
||
- 单点登录
|
||
- Token 认证鉴权
|
||
- 统一门户布局
|
||
- 菜单聚合
|
||
- iframe 应用嵌入
|
||
- Tab 与 keepalive
|
||
- Token 共享与有效期管理
|
||
- 角色权限管理
|
||
- 菜单展示控制
|
||
- 应用开通控制
|
||
- 数据范围控制
|
||
- 配置项维护
|
||
- 消息与待办
|
||
- 操作日志
|
||
- 停用规则
|
||
- 多角色权限合并
|
||
|
||
### 8.2 核心测试场景
|
||
|
||
#### 8.2.1 客户隔离测试
|
||
|
||
- A 客户用户不能看到 B 客户组织、用户、角色、菜单、日志。
|
||
- A 客户停用后,A 客户用户不可登录。
|
||
- B 客户不受 A 客户停用影响。
|
||
|
||
#### 8.2.2 应用开通测试
|
||
|
||
- 未开通应用的客户不可见应用入口。
|
||
- 开通应用后,客户管理员可为用户授权。
|
||
- 应用停用后,所有客户均不可访问该应用。
|
||
|
||
#### 8.2.3 角色权限测试
|
||
|
||
- 用户分配角色后可访问对应菜单和操作。
|
||
- 移除角色后权限失效。
|
||
- 多角色用户权限为授权能力组合。
|
||
- 无权限用户不可通过直接访问地址绕过权限。
|
||
|
||
#### 8.2.4 单点登录与 Token 认证鉴权测试
|
||
|
||
- 用户登录基础平台后,可进入已授权业务应用。
|
||
- 用户未登录时,不可访问基础平台门户和业务应用。
|
||
- 用户访问未授权应用时,被拒绝访问。
|
||
- 用户访问业务应用入口时,统一进入基础平台门户登录和访问流程。
|
||
- Token 无效时,业务应用拒绝访问。
|
||
- Token 过期时,业务应用拒绝访问。
|
||
- Token 即将过期或已过期但允许刷新时,由基础平台门户统一刷新 Token。
|
||
- Token 刷新成功后,已打开 iframe 应用使用新 Token 继续访问。
|
||
- Token 刷新失败后,基础平台门户引导用户重新登录。
|
||
- 用户退出登录后,原访问状态失效。
|
||
- 用户在基础平台注销后,再访问其他应用时需要重新认证。
|
||
- 用户停用后,业务应用认证鉴权不通过。
|
||
- 客户停用后,该客户下用户认证鉴权不通过。
|
||
- 应用停用后,所有用户不可访问该应用。
|
||
- 所有接入应用均通过基础平台完成 Token 认证鉴权。
|
||
|
||
#### 8.2.5 当前登录用户信息测试
|
||
|
||
- 业务应用可通过基础平台 Token 获取当前登录用户信息。
|
||
- 当前用户信息包含用户、客户、默认组织、组织列表、角色、可访问应用、菜单、操作权限和数据范围。
|
||
- 用户切换组织后,业务应用获取到的当前组织和数据范围正确。
|
||
- 用户权限变更后,业务应用重新获取用户信息时权限结果正确。
|
||
- Token 无效时,不可获取当前用户信息。
|
||
|
||
#### 8.2.6 统一门户与 iframe 应用容器测试
|
||
|
||
- 基础平台主页面包含头部、左侧菜单导航栏和右侧内容区。
|
||
- 头部第一部分展示应用 logo、平台名称、菜单折叠按钮、常用菜单、主题设置、消息按钮、语言切换按钮、用户信息。
|
||
- 头部第二部分展示已打开页面 Tab 导航栏。
|
||
- 左侧菜单展示用户有权限访问的所有应用菜单。
|
||
- 用户无权限应用不展示菜单。
|
||
- 用户无权限菜单不展示。
|
||
- 点击基础平台菜单后,在右侧内容区打开基础平台页面。
|
||
- 点击业务应用菜单后,在右侧内容区通过 iframe 打开业务应用页面。
|
||
- 业务应用页面不展示自身系统级菜单。
|
||
- 打开页面后生成对应 Tab。
|
||
- 切换 Tab 时已打开页面状态保持。
|
||
- 关闭 Tab 后对应页面状态释放。
|
||
- 刷新当前 Tab 时仅刷新当前页面。
|
||
- 多个已打开 iframe 应用共享基础平台登录态。
|
||
- Token 刷新后,已打开 iframe 应用可继续访问。
|
||
- Token 失效或用户注销后,已打开 iframe 应用不可继续访问。
|
||
|
||
#### 8.2.7 数据范围测试
|
||
|
||
- 本组织用户只能访问本组织数据。
|
||
- 本组织及下级组织用户可访问本组织和下级组织数据。
|
||
- 指定组织权限按指定范围生效。
|
||
- 不同客户之间数据不可跨越。
|
||
|
||
#### 8.2.8 停用规则测试
|
||
|
||
- 停用客户后,客户下用户不可登录。
|
||
- 停用组织后,不可继续分配给新用户。
|
||
- 停用用户后,用户不可登录。
|
||
- 停用角色后,不可继续分配。
|
||
- 停用菜单后,用户不可见。
|
||
|
||
#### 8.2.9 日志测试
|
||
|
||
- 新增、修改、删除、启用、停用、授权、配置变更等关键操作生成日志。
|
||
- 日志记录操作人、时间、对象、结果。
|
||
- 日志按客户隔离。
|
||
|
||
## 9. 验收清单
|
||
|
||
| 模块 | 验收项 | 是否必须 |
|
||
| --- | --- | --- |
|
||
| 客户管理 | 支持客户新增、编辑、停用、应用开通 | 是 |
|
||
| 应用管理 | 支持应用、入口、菜单、权限项维护 | 是 |
|
||
| 组织管理 | 支持多级组织树和组织停用 | 是 |
|
||
| 用户管理 | 支持用户、账号、组织、角色维护 | 是 |
|
||
| 单点登录 | 支持一次登录访问多个已授权应用 | 是 |
|
||
| Token 认证鉴权 | 所有应用 Token 认证鉴权均通过基础平台完成 | 是 |
|
||
| Token 刷新 | 支持基础平台门户统一刷新 Token 并同步给已打开 iframe 应用 | 是 |
|
||
| 登录注销 | 用户注销后原 Token 不可继续访问应用 | 是 |
|
||
| 当前用户信息 | 支持业务应用通过 Token 获取当前登录用户信息 | 是 |
|
||
| 统一门户 | 支持头部、左侧菜单、Tab、右侧内容区布局 | 是 |
|
||
| 菜单聚合 | 支持聚合展示所有授权应用菜单 | 是 |
|
||
| iframe 应用容器 | 支持业务应用 iframe 嵌入基础平台内容区 | 是 |
|
||
| Tab 与 keepalive | 支持已打开页面 Tab 管理和状态保持 | 是 |
|
||
| Token 共享 | 支持已打开 iframe 应用共享基础平台 Token | 是 |
|
||
| 角色管理 | 支持角色授权和数据范围配置 | 是 |
|
||
| 权限管理 | 支持应用、菜单、操作、数据范围控制 | 是 |
|
||
| 菜单管理 | 支持菜单层级、排序、启停和权限绑定 | 是 |
|
||
| 配置管理 | 支持平台、客户、应用配置 | 是 |
|
||
| 消息待办 | 支持消息查询、已读未读、待办跳转 | 是 |
|
||
| 操作日志 | 支持关键操作记录和查询 | 是 |
|
||
| 多客户隔离 | 客户数据不可互相访问 | 是 |
|
||
| 停用规则 | 客户、组织、用户、角色、菜单停用规则正确 | 是 |
|
||
|
||
## 10. 后续迭代方向
|
||
|
||
基础平台 1.0 完成后,后续可按业务需要迭代:
|
||
|
||
- 更完整的流程审批能力
|
||
- 更完整的主数据管理能力
|
||
- 更细的数据权限模型
|
||
- 外部客户自助开通能力
|
||
- 开放平台和第三方接入能力
|
||
- 统一通知中心
|
||
- 更完整的审计与风控能力
|
||
- 统一首页和工作台
|
||
- 外部协同单点登录接入
|
||
|
||
上述能力不纳入 1.0 必须范围。
|
||
|
||
## 11. 2.0 版本规划补充
|
||
|
||
### 11.1 外部协同单点登录接入
|
||
|
||
基础平台 2.0 需要支持外部协同场景下的单点登录接入,使外部合作方、客户已有系统或第三方协同平台能够按规则接入基础平台认证体系。
|
||
|
||
2.0 重点支持:
|
||
|
||
- 外部系统单点登录接入
|
||
- 外部协同用户身份识别
|
||
- 外部用户与内部客户、组织、角色的映射关系
|
||
- 外部协同应用访问授权
|
||
- 外部协同登录状态管理
|
||
- 外部接入审计与日志
|
||
|
||
2.0 业务目标:
|
||
|
||
- 支持客户已有系统与公司业务系统之间的协同登录。
|
||
- 支持外部合作方访问被授权的业务应用。
|
||
- 保证外部协同用户访问仍受基础平台客户、组织、角色、权限、数据范围控制。
|
||
|
||
2.0 不在基础平台 1.0 范围内,研发和测试在 1.0 阶段只需预留产品边界认知,不作为 1.0 验收项。
|