迁移文档路径,将基础平台作为产品线下的产品之一

This commit is contained in:
2026-06-23 22:52:20 +08:00
parent 4c16cd8c6c
commit 192bc866bf
33 changed files with 13 additions and 27 deletions

View File

@@ -0,0 +1,706 @@
# 5.1 客户管理
本文档从《基础平台产品设计》第 5 章拆分而来,用于独立描述基础平台功能模块的业务需求、规则和验收标准。
上级文档:[基础平台产品设计](../基础平台产品设计.md)
## 5.1.1 功能说明
客户管理用于维护使用公司产品的客户主体,是多客户隔离和业务系统开通的基础。
## 5.1.2 功能范围
- 新增客户
- 编辑客户信息
- 启用 / 停用客户
- 查询客户列表
- 查看客户详情
- 为客户开通应用
- 维护客户管理员
## 5.1.3 字段要求
客户基础信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 客户名称 | 客户企业、平台或项目主体的完整名称 | 是 |
| 客户简称 | 用于列表、菜单、切换器等场景的展示名称 | 是 |
| 客户编码 | 基础平台内识别客户的唯一编码 | 是 |
| 客户类型 | 用于区分客户经营主体和产品服务模式 | 是 |
| 所属行业 | 用于区分客户行业解决方案、产品适配和统计分析口径 | 是 |
| 联系人 | 客户主要业务或项目联系人 | 否 |
| 联系方式 | 联系人手机号、电话或邮箱 | 否 |
| 启用状态 | 客户是否可正常使用已开通应用 | 是 |
| 开通应用 | 当前客户已开通的业务应用范围 | 否 |
| 客户管理员 | 当前客户下具备客户级管理权限的用户 | 是 |
| 创建时间 | 客户档案创建时间 | 是 |
| 更新时间 | 客户档案最近更新时间 | 是 |
### 5.1.3.1 客户编码规则
客户编码用于在基础平台内唯一识别客户,不面向客户业务人员作为主要展示名称。
编码规则:
- 客户编码全局唯一。
- 客户编码创建后原则上不允许修改。
- 客户编码由系统生成,支持平台管理员在创建客户时按规则确认。
- 客户编码建议格式为:`C` + 6 位流水号。
- 示例:`C000001``C000002`
- 流水号按基础平台全局递增,不按行业、客户类型或应用分别递增。
- 删除或停用客户后,原客户编码不得重新分配给其他客户。
- 客户编码仅用于系统识别、数据隔离、日志追踪和系统间关联,不承载客户行业、区域、品牌等业务含义。
编码生成要求:
- 新增客户时,系统自动生成下一个可用客户编码。
- 保存客户前,系统需要校验客户编码是否已存在。
- 客户编码生成失败或重复时,不允许保存客户。
- 导入客户数据时,如外部数据包含客户编码,需要校验是否符合平台编码规则;不符合规则的数据不得直接写入正式客户档案。
### 5.1.3.2 客户类型定义
客户类型用于区分客户主体与产品服务模式,支持后续按客户类型进行产品开通、交付管理、经营分析和权限初始化。
基础平台 1.0 支持以下客户类型:
| 客户类型 | 定义 | 适用示例 |
| --- | --- | --- |
| 连锁型客户 | 拥有多个门店、品牌或区域组织的连锁经营客户 | 连锁餐饮、连锁鞋服、连锁药店 |
| 平台型客户 | 自身经营撮合、交易、结算或分账平台的客户 | 物流平台、充电桩平台 |
| 试点客户 | 用于产品试点、POC、样板项目验证的客户 | 物流平台分账试点客户 |
| 内部测试客户 | 公司内部用于演示、测试、培训的客户 | 演示客户、培训客户 |
业务规则:
- 客户类型创建客户时必须选择。
- 客户类型支持后续编辑,但变更后不自动改变已开通应用、组织、用户和权限。
- 客户类型用于管理和统计,不直接决定客户是否能访问某应用。
- 如需通过客户类型控制默认开通应用或初始化模板,应在后续客户初始化规则中单独定义。
### 5.1.3.3 客户所属行业定义
所属行业用于标识客户业务所在行业,支撑行业解决方案沉淀、产品适配、客户统计和后续行业化配置。
基础平台 1.0 支持以下所属行业:
| 所属行业 | 定义 | 适用示例 |
| --- | --- | --- |
| 连锁餐饮 | 以餐饮门店经营为主的连锁客户 | 小吃、米线、火锅、卤味、自助餐、茶饮 |
| 连锁鞋服 | 以鞋服门店经营为主的连锁客户 | 鞋类、服饰、运动零售 |
| 连锁零售 | 以零售门店经营为主的连锁客户 | 便利店、专卖店、生活零售 |
| 连锁药店 | 以药品、健康产品零售为主的连锁客户 | 药店、健康门店 |
| 物流平台 | 以物流供需撮合、履约协同和平台交易为主的客户 | 货运撮合、同城配送撮合 |
| 充电桩平台 | 以充电桩运营和交易结算为主的客户 | 充电桩运营平台 |
| 其他行业 | 暂未归入标准行业分类的客户 | 待行业归类客户 |
业务规则:
- 所属行业创建客户时必须选择。
- 一个客户 1.0 阶段只允许选择一个主行业。
- 多业态集团客户以主要合作业务或主要上线产品对应行业作为主行业。
- 所属行业用于行业统计、方案归档和默认模板选择,不直接决定客户是否能访问某应用。
- 新增行业分类需由产品负责人确认后维护到数据字典。
## 5.1.4 为客户开通应用
### 5.1.4.1 功能说明
为客户开通应用用于控制某个客户可以使用哪些业务应用,是客户访问业务系统、客户管理员分配权限、用户查看应用入口的前置条件。
### 5.1.4.2 功能范围
- 查看客户已开通应用。
- 为客户新增开通应用。
- 关闭客户已开通应用。
- 设置应用开通状态。
- 查看应用开通时间、开通人、关闭时间、关闭人。
- 查看应用开通记录。
### 5.1.4.3 开通应用字段
应用开通信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 客户 | 被开通应用的客户 | 是 |
| 应用 | 被开通的业务应用 | 是 |
| 开通状态 | 已开通、已关闭 | 是 |
| 开通时间 | 应用开通时间 | 是 |
| 开通人 | 执行开通操作的平台用户 | 是 |
| 关闭时间 | 应用关闭时间 | 否 |
| 关闭人 | 执行关闭操作的平台用户 | 否 |
| 备注 | 开通或关闭原因说明 | 否 |
### 5.1.4.4 业务规则
- 只有平台管理员或具备客户应用开通权限的用户可以为客户开通应用。
- 只能开通基础平台中已启用的应用。
- 客户停用后,不允许继续新增开通应用。
- 客户未开通某应用时,该客户下用户不可看到该应用入口。
- 客户开通应用后,客户管理员仍需为用户分配角色和权限,用户才可访问对应菜单和功能。
- 关闭客户应用后,该客户下用户不可继续访问该应用。
- 关闭应用不删除该客户在业务应用中的历史业务数据。
- 应用开通和关闭需要记录操作日志。
- 同一客户同一应用只能存在一条当前有效的开通关系。
## 5.1.5 维护客户管理员
### 5.1.5.1 功能说明
维护客户管理员用于为客户指定具备客户级管理权限的用户。客户管理员负责维护本客户下的组织、用户、角色、权限和菜单授权。
### 5.1.5.2 功能范围
- 创建客户管理员账号。
- 从已有用户中设置客户管理员。
- 取消客户管理员身份。
- 查看客户管理员列表。
- 重置客户管理员密码。
- 启用 / 停用客户管理员账号。
### 5.1.5.3 客户管理员字段
客户管理员信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 用户姓名 | 客户管理员姓名 | 是 |
| 登录账号 | 客户管理员登录账号 | 是 |
| 手机号 | 客户管理员手机号 | 是 |
| 所属客户 | 客户管理员归属客户 | 是 |
| 所属组织 | 客户管理员所属组织 | 否 |
| 管理员状态 | 启用、停用 | 是 |
| 创建时间 | 管理员账号创建时间 | 是 |
### 5.1.5.4 业务规则
- 一个客户至少应有一个启用状态的客户管理员。
- 客户创建后,应通过客户管理员维护功能指定至少一个客户管理员。
- 客户管理员必须归属于当前客户。
- 客户管理员只能管理本客户下的数据。
- 客户管理员不可管理其他客户的组织、用户、角色、权限和菜单。
- 取消客户管理员身份前,需要确认该客户是否仍至少保留一个启用状态客户管理员。
- 停用最后一个客户管理员时,系统应阻止操作或提示先指定新的客户管理员。
- 客户管理员账号停用后不可登录基础平台。
- 客户管理员创建、变更、停用、取消管理员身份需要记录操作日志。
## 5.1.6 界面设计
### 5.1.6.1 页面入口
客户管理作为基础平台的管理类功能,建议放置在基础平台左侧菜单:
```text
基础平台
└── 平台管理
└── 客户管理
```
页面访问规则:
- 仅平台超级管理员、平台运营人员或具备客户管理权限的用户可访问客户管理页面。
- 客户管理员不可访问客户管理页面,客户管理员只管理本客户下的组织、用户、角色、权限和菜单。
- 无客户管理权限的用户不展示客户管理菜单。
### 5.1.6.2 控件类型规则
客户管理界面涉及的输入控件按以下规则定义:
| 字段 / 操作 | 控件类型 | 适用页面 |
| --- | --- | --- |
| 客户名称 | 文本输入框 | 客户列表查询、新增客户、编辑客户 |
| 客户简称 | 文本输入框 | 客户列表查询、新增客户、编辑客户 |
| 客户编码 | 文本输入框 / 只读文本 | 客户列表查询使用文本输入框,新增和编辑页面为只读文本 |
| 客户类型 | 下拉框 | 客户列表查询、新增客户、编辑客户 |
| 所属行业 | 下拉框 | 客户列表查询、新增客户、编辑客户 |
| 启用状态 | 下拉框 / Switch | 客户列表查询使用下拉框,新增和编辑页面状态控制使用 Switch |
| 应用名称 | 文本输入框 | 全部应用页签查询 |
| 应用编号 | 文本输入框 | 全部应用页签查询 |
| 开通状态 | 下拉框 | 全部应用页签查询 |
| 查询 | 按钮 | 查询区域 |
| 新增、编辑、查看、开通、关闭、维护管理员、添加管理员、保存、取消 | 按钮 | 列表、详情、弹窗 |
| 用户姓名 | 文本输入框 | 添加管理员表单弹窗 |
| 登录账号 | 文本输入框 | 添加管理员表单弹窗 |
| 手机号 | 文本输入框 | 添加管理员表单弹窗 |
| 所属组织 | 下拉框 / 树形选择器 | 添加管理员表单弹窗 |
| 管理员状态 | Switch | 客户管理员维护弹窗 |
状态类控件规则:
- 客户启用状态在新增、编辑或状态维护场景中使用 Switch。
- 客户管理员启用状态使用 Switch。
- 查询条件中的状态字段使用下拉框,便于选择全部、启用、停用等查询范围。
- 开通状态用于查询应用开通关系,使用下拉框,不使用 Switch。
### 5.1.6.3 页面结构
客户管理包含以下页面和区域:
| 页面 / 区域 | 展示方式 | 主要用途 |
| --- | --- | --- |
| 客户列表页 | 查询表单 + 数据表格 | 查询、筛选、查看、新增、编辑、启用、停用客户 |
| 新增客户页 / 弹窗 | 表单 | 创建客户基础档案 |
| 编辑客户页 / 弹窗 | 表单 | 修改客户基础信息、客户类型、所属行业、联系人等信息 |
| 客户详情页 | 上方只读基础信息区 + 下方 Tab 页签 | 查看客户基础信息、全部应用、已开通应用、客户管理员、操作记录 |
| 客户管理员维护弹窗 | 数据表格 + 表单弹窗 | 通过管理员表格查看、创建、设置、取消、停用客户管理员 |
### 5.1.6.4 客户列表页
客户列表页用于平台侧查看和维护所有客户。
展示方式:
- 顶部为查询表单。
- 下方为客户数据表格。
- 表格右侧操作列展示查看、编辑、维护管理员、启用、停用等操作。
列表筛选条件:
- 客户名称
- 客户简称
- 客户编码
- 客户类型
- 所属行业
- 启用状态
查询区规则:
- 查询按钮作为查询表单的最后一个表单元素展示。
- 查询条件较多或页面宽度不足时,查询区需要支持收缩和展开。
- 收缩状态下优先展示客户名称、客户编码、启用状态和查询按钮。
- 展开状态下展示全部查询条件。
列表字段:
| 字段 | 说明 |
| --- | --- |
| 客户编码 | 展示系统生成的客户唯一编码 |
| 客户名称 | 展示客户完整名称 |
| 客户简称 | 展示客户简称 |
| 客户类型 | 展示连锁型客户、平台型客户、试点客户、内部测试客户 |
| 所属行业 | 展示连锁餐饮、连锁鞋服、连锁零售、连锁药店、物流平台、充电桩平台、其他行业 |
| 启用状态 | 展示启用或停用 |
| 已开通应用 | 展示客户已开通应用数量或应用名称摘要 |
| 客户管理员 | 展示启用状态客户管理员数量 |
| 创建时间 | 展示客户创建时间 |
| 操作 | 查看、编辑、维护管理员、启用、停用 |
列表操作规则:
- 点击客户名称或查看进入客户详情页。
- 点击新增客户进入新增客户页或弹窗。
- 点击编辑进入编辑客户页或弹窗。
- 点击维护管理员进入客户管理员维护弹窗。
- 停用状态客户可执行启用操作。
- 启用状态客户可执行停用操作。
### 5.1.6.5 新增客户页 / 弹窗
新增客户用于创建客户基础档案,不在新增客户页完成应用开通和客户管理员初始化。
展示方式:
- 采用表单方式展示。
- 表单只包含客户基础信息。
- 不使用表格、Tab 页签或树形结构。
表单分区:
| 分区 | 字段 / 内容 |
| --- | --- |
| 客户基础信息 | 客户名称、客户简称、客户编码、客户类型、所属行业、联系人、联系方式 |
页面规则:
- 客户编码由系统自动生成,页面展示但不允许普通编辑。
- 客户名称、客户简称、客户类型、所属行业为必填。
- 新增客户页不提供应用开通能力。
- 新增客户页不提供客户管理员创建或设置能力。
- 客户创建后,可在客户详情的全部应用页签中进行应用开通。
- 客户创建后,可在客户详情或客户列表中独立维护客户管理员。
- 保存成功后进入客户详情页或返回客户列表页。
### 5.1.6.6 编辑客户页 / 弹窗
编辑客户用于维护客户基础资料。
展示方式:
- 采用表单方式展示。
- 表单字段与新增客户基础信息保持一致。
- 客户编码、创建时间作为只读字段展示。
- 不使用表格、Tab 页签或树形结构。
可编辑字段:
- 客户名称
- 客户简称
- 客户类型
- 所属行业
- 联系人
- 联系方式
不可编辑字段:
- 客户编码
- 创建时间
页面规则:
- 修改客户类型不自动改变已开通应用、组织、用户、角色和权限。
- 修改所属行业不自动改变客户已使用的业务系统和历史数据。
- 编辑客户信息需记录操作日志。
### 5.1.6.7 客户详情页
客户详情页用于集中查看客户档案和客户使用状态。
客户详情页分为上下两部分:
| 区域 | 展示方式 | 主要内容 |
| --- | --- | --- |
| 上方基础信息区 | 只读信息区 | 客户名称、简称、编码、类型、行业、联系人、联系方式、启用状态 |
| 下方页签区 | Tab 页签 | 全部应用、已开通应用、客户管理员、操作记录 |
下方页签说明:
| 页签 | 主要内容 |
| --- | --- |
| 全部应用 | 查询区域 + 数据表格展示全部应用、开通状态、开通时间、开通人和操作 |
| 已开通应用 | 数据表格展示当前客户已开通应用、开通时间、开通人和关闭操作 |
| 客户管理员 | 数据表格展示管理员姓名、账号、手机号、状态、创建时间 |
| 操作记录 | 数据表格展示客户新增、编辑、启用、停用、应用开通、应用关闭、管理员变更记录 |
详情页主操作按钮:
- 添加客户管理员
页面规则:
- 点击添加客户管理员按钮,打开客户管理员维护弹窗,并默认进入添加管理员表单弹窗。
- 应用开通在全部应用页签内操作。
- 关闭应用在已开通应用页签内操作。
- 取消管理员、重置密码、启用、停用管理员在客户管理员页签内操作。
### 5.1.6.8 全部应用页签
全部应用页签用于在客户详情页中查看客户与所有可用应用的开通关系,并完成应用开通或关闭。
展示方式:
- 上方为查询区域。
- 下方为应用数据表格。
- 表格最后一列展示开通或关闭操作。
- 不使用树形结构。
查询条件:
- 应用名称
- 应用编号
- 开通状态
查询规则:
- 开通状态默认选择未开通。
- 开通状态支持未开通、已开通、全部。
- 查询结果按查询条件过滤当前客户可查看的全部应用。
表格字段:
| 字段 | 说明 |
| --- | --- |
| 应用名称 | 展示应用名称 |
| 应用编号 | 展示应用唯一编号 |
| 应用状态 | 展示应用是否启用 |
| 开通状态 | 展示已开通或未开通 |
| 开通时间 | 已开通应用展示开通时间,未开通应用为空 |
| 开通人 | 已开通应用展示开通人,未开通应用为空 |
| 操作 | 已开通应用展示关闭,未开通应用展示开通 |
页面规则:
- 仅展示基础平台中启用状态的应用,停用应用不允许新增开通。
- 未开通应用展示开通按钮。
- 已开通应用展示关闭按钮。
- 已开通应用不允许重复开通。
- 开通应用前需要确认开通操作。
- 关闭应用前需要二次确认。
- 关闭应用时应提示:关闭后该客户下用户不可继续访问该应用,但不删除历史业务数据。
### 5.1.6.9 已开通应用页签
已开通应用页签用于集中查看当前客户已经开通的应用,并支持关闭已开通应用。
展示方式:
- 采用数据表格展示。
- 不设置查询区域。
- 表格最后一列展示关闭操作。
- 不使用树形结构。
表格字段:
| 字段 | 说明 |
| --- | --- |
| 应用名称 | 展示已开通应用名称 |
| 应用编号 | 展示应用唯一编号 |
| 应用状态 | 展示应用是否启用 |
| 开通时间 | 展示应用开通时间 |
| 开通人 | 展示开通操作人 |
| 操作 | 关闭 |
页面规则:
- 仅展示当前客户已开通应用。
- 点击关闭前需要二次确认。
- 关闭应用时应提示:关闭后该客户下用户不可继续访问该应用,但不删除历史业务数据。
- 关闭成功后,已开通应用页签列表刷新。
- 关闭成功后,该应用在全部应用页签中的开通状态变更为未开通。
### 5.1.6.10 客户管理员维护弹窗
客户管理员维护采用表格 + 表单弹窗的组合方式。
弹窗结构:
| 层级 | 形式 | 主要用途 |
| --- | --- | --- |
| 客户管理员维护弹窗 | 表格 | 查看当前客户管理员列表,并执行添加、设置、取消、重置密码、启用、停用操作 |
| 添加管理员表单弹窗 | 表单 | 创建新用户作为客户管理员,或从已有用户中选择并设置为客户管理员 |
客户管理员维护弹窗主体为管理员列表表格。
表格字段:
| 字段 | 说明 |
| --- | --- |
| 用户姓名 | 客户管理员姓名 |
| 登录账号 | 客户管理员登录账号 |
| 手机号 | 客户管理员手机号 |
| 所属组织 | 客户管理员所属组织 |
| 管理员状态 | 启用、停用 |
| 创建时间 | 管理员创建时间 |
| 操作 | 取消管理员、重置密码、启用、停用 |
维护弹窗按钮:
- 添加管理员
- 关闭弹窗
添加管理员表单弹窗支持两种方式:
| 添加方式 | 表单内容 | 说明 |
| --- | --- | --- |
| 创建新用户 | 用户姓名、登录账号、手机号、所属组织、初始密码或密码生成方式 | 创建新用户并设置为客户管理员 |
| 选择已有用户 | 用户查询条件、用户列表、选中用户 | 从当前客户已有用户中设置客户管理员 |
页面规则:
- 客户管理员维护弹窗打开后,默认展示当前客户管理员表格。
- 点击添加管理员后,打开添加管理员表单弹窗。
- 添加管理员表单弹窗提交成功后,返回客户管理员维护弹窗,并刷新管理员表格。
- 支持创建新用户作为客户管理员。
- 支持从当前客户已有用户中设置客户管理员。
- 取消管理员身份前,需要校验是否仍保留至少一个启用状态客户管理员。
- 停用客户管理员前,需要校验是否仍保留至少一个启用状态客户管理员。
- 客户管理员账号和手机号校验规则复用用户与账号管理模块。
## 5.1.7 使用导航
### 5.1.7.1 新增客户
操作路径:
```text
基础平台 > 平台管理 > 客户管理 > 新增客户
```
操作步骤:
1. 进入客户管理列表页。
2. 点击新增客户。
3. 填写客户名称、客户简称、客户类型、所属行业、联系人、联系方式。
4. 系统自动生成客户编码。
5. 保存客户。
6. 保存成功后,系统生成客户档案和客户编码。
7. 根据需要进入应用开通或客户管理员维护功能继续配置。
### 5.1.7.2 编辑客户信息
操作路径:
```text
基础平台 > 平台管理 > 客户管理 > 客户列表 > 编辑
```
操作步骤:
1. 进入客户管理列表页。
2. 按客户名称、客户编码、客户类型或所属行业查询客户。
3. 点击编辑。
4. 修改客户基础信息。
5. 保存修改。
6. 系统记录客户信息变更日志。
### 5.1.7.3 查看客户详情
操作路径:
```text
基础平台 > 平台管理 > 客户管理 > 客户列表 > 查看
```
或:
```text
基础平台 > 平台管理 > 客户管理 > 客户列表 > 客户名称
```
操作步骤:
1. 进入客户管理列表页。
2. 按客户名称、客户编码、客户类型或所属行业查询客户。
3. 点击查看或客户名称。
4. 进入客户详情页。
5. 在上方只读基础信息区查看客户基础信息。
6. 在下方 Tab 页签中查看全部应用、已开通应用、客户管理员和操作记录。
### 5.1.7.4 为客户开通应用
操作路径:
```text
基础平台 > 平台管理 > 客户管理 > 客户详情 > 全部应用
```
操作步骤:
1. 进入客户详情页。
2. 打开全部应用页签。
3. 查询区域默认按开通状态为未开通进行查询。
4. 可按应用名称、应用编号、开通状态调整查询条件。
5. 在应用数据表格中选择需要开通的未开通应用。
6. 点击表格最后一列的开通按钮。
7. 确认开通操作。
8. 系统记录应用开通关系和操作日志。
9. 客户管理员进入角色管理后,可为本客户角色配置该应用菜单权限、操作权限和数据范围,再在用户与账号管理中为用户分配角色。
### 5.1.7.5 关闭客户应用
操作路径:
```text
基础平台 > 平台管理 > 客户管理 > 客户详情 > 已开通应用 > 关闭
```
操作步骤:
1. 进入客户详情页。
2. 打开已开通应用页签。
3. 在已开通应用表格中选择需要关闭的应用。
4. 点击表格最后一列的关闭按钮。
5. 系统提示关闭影响。
6. 确认关闭。
7. 系统关闭该客户应用访问关系,并记录操作日志。
### 5.1.7.6 维护客户管理员
操作路径:
```text
基础平台 > 平台管理 > 客户管理 > 客户列表 > 维护管理员
```
或:
```text
基础平台 > 平台管理 > 客户管理 > 客户详情 > 添加客户管理员
```
或:
```text
基础平台 > 平台管理 > 客户管理 > 客户详情 > 客户管理员 Tab > 添加管理员
```
操作步骤:
1. 进入客户管理列表页或客户详情页。
2. 点击维护管理员或在客户详情页点击添加客户管理员。
3. 系统打开客户管理员维护弹窗。
4. 在维护弹窗中查看当前客户管理员表格。
5. 点击添加管理员。
6. 在添加管理员表单弹窗中选择创建新用户或选择已有用户。
7. 填写或选择用户信息。
8. 保存管理员设置。
9. 系统校验该客户至少存在一个启用状态客户管理员。
10. 系统记录管理员维护日志,并刷新客户管理员表格。
### 5.1.7.7 启用 / 停用客户
操作路径:
```text
基础平台 > 平台管理 > 客户管理 > 客户列表 > 启用 / 停用
```
操作步骤:
1. 进入客户管理列表页。
2. 查询目标客户。
3. 点击启用或停用。
4. 停用客户时,系统提示停用影响。
5. 确认操作。
6. 系统更新客户状态并记录操作日志。
停用影响:
- 客户下用户不可继续登录业务系统。
- 客户已开通应用不可继续访问。
- 历史客户档案、组织、用户、权限、日志和业务数据不删除。
## 5.1.8 业务规则
- 客户编码全局唯一。
- 停用客户后,该客户下用户不可登录业务系统。
- 客户停用不删除历史数据。
- 客户未开通某应用时,该客户下用户不可看到该应用入口。
- 一个客户至少应有一个客户管理员。
## 5.1.9 验收标准
- 可创建、编辑、停用客户。
- 新增客户时,系统可按规则生成全局唯一客户编码。
- 客户编码重复时,不允许保存客户。
- 可维护客户类型,并按客户类型查询客户。
- 可维护客户所属行业,并按所属行业查询客户。
- 可为客户开通和关闭应用。
- 客户详情页包含全部应用页签。
- 客户详情页保留已开通应用页签。
- 全部应用页签采用查询区域 + 数据表格展示。
- 全部应用页签查询条件包含应用名称、应用编号、开通状态。
- 全部应用页签开通状态默认选择未开通。
- 全部应用表格最后一列支持对未开通应用执行开通操作。
- 已开通应用页签采用数据表格展示当前客户已开通应用。
- 已开通应用只允许关闭,不允许重复开通。
- 客户未开通应用时,该客户下用户不可看到该应用入口。
- 客户开通应用后,客户管理员可继续为用户分配该应用权限。
- 关闭客户应用后,该客户下用户不可继续访问该应用。
- 可创建、设置、取消、停用客户管理员。
- 每个客户至少保留一个启用状态的客户管理员。
- 客户管理员维护采用表格 + 表单弹窗组合,维护弹窗展示管理员表格,添加管理员时打开表单弹窗。
- 客户列表页可按客户名称、客户简称、客户编码、客户类型、所属行业、启用状态查询客户。
- 客户列表页查询按钮作为查询表单最后一个表单元素展示。
- 客户列表页查询条件较多时支持收缩和展开。
- 客户类型、所属行业等枚举字段使用下拉框。
- 客户启用状态、客户管理员启用状态在状态维护场景中使用 Switch。
- 查询条件中的状态字段使用下拉框。
- 客户详情页可查看基础信息、全部应用、已开通应用、客户管理员和操作记录。
- 新增客户页不包含应用开通和客户管理员维护。
- 应用开通在客户详情页全部应用页签中完成。
- 客户管理员维护可从客户列表或客户详情进入。
- 停用客户后,该客户下账号无法继续访问系统。
- 客户之间数据不可互相查看。

View File

@@ -0,0 +1,701 @@
# 5.2 应用管理
本文档从《基础平台产品设计》第 5 章拆分而来,用于独立描述基础平台功能模块的业务需求、规则和验收标准。
上级文档:[基础平台产品设计](../基础平台产品设计.md)
## 5.2.1 功能说明
应用管理用于维护接入基础平台的业务系统,是基础平台进行应用入口聚合、菜单聚合、客户应用开通、应用访问鉴权、菜单操作权限定义和门户嵌入的基础。
应用管理只维护应用本身的基础信息、入口信息、接入状态、菜单、菜单操作权限定义和可授权范围,不承载各业务应用内部的业务规则。
操作权限应基于菜单或页面配置,并在应用管理的菜单配置中维护。角色管理负责对菜单、菜单操作权限和数据范围进行授权,不再单独设置独立的菜单管理或授权管理功能。
## 5.2.2 功能范围
- 新增应用
- 编辑应用信息
- 启用 / 停用应用
- 配置应用入口
- 配置应用菜单
- 配置菜单操作权限
- 配置应用可授权范围
- 查看已开通客户
- 查看应用操作记录
## 5.2.3 应用清单
基础平台 1.0 需要支持以下应用接入:
| 应用名称 | 应用定位 | 是否 1.0 必须 |
| --- | --- | --- |
| 连锁业务对账系统 | 承接连锁业务对账、账单、流水、差异处理等能力 | 是 |
| 分账系统 | 承接结算主体、账户、分账规则、清分、分账、出款等能力 | 是 |
| 聚合支付 | 承接支付渠道、支付订单、支付流水、退款、支付通知等能力 | 是 |
| 门店选址规划系统 | 承接门店选址评估、点位分析、选址规划等能力 | 是 |
| 连锁门店客服系统 | 承接客诉、咨询、工单、补偿、回访等能力 | 是 |
说明:
- 营帐通作为现有产品和客户项目现状,不作为基础平台 1.0 的新接入应用。
- 营帐通拆分后的目标产品分别按连锁业务对账系统、分账系统接入基础平台。
- 后续新增应用应通过应用管理进行注册和维护。
## 5.2.4 字段要求
应用基础信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 应用名称 | 应用的正式名称 | 是 |
| 应用简称 | 用于菜单、页签、列表等场景的短名称 | 是 |
| 应用编码 | 基础平台内识别应用的唯一编码 | 是 |
| 应用类型 | 区分基础平台应用、业务应用、外部应用等类型 | 是 |
| 应用入口类型 | 区分基础平台内置页面、iframe 嵌入页面、外部跳转入口 | 是 |
| 应用入口地址 | 应用级默认入口地址,通常用于应用首页、外部跳转或兜底入口;业务应用各功能点主要通过菜单地址进入 | 否 |
| 应用图标 | 门户、菜单、应用列表中展示的应用图标 | 否 |
| 应用说明 | 应用定位和用途说明 | 否 |
| 应用负责人 | 产品或业务负责人 | 否 |
| 接入状态 | 未接入、接入中、已接入 | 是 |
| 启用状态 | 启用、停用 | 是 |
| 排序 | 应用在应用列表或配置页中的展示顺序 | 否 |
| 创建时间 | 应用档案创建时间 | 是 |
| 更新时间 | 应用档案最近更新时间 | 是 |
### 5.2.4.1 应用编码规则
应用编码用于在基础平台内唯一识别应用。
编码规则:
- 应用编码全局唯一。
- 应用编码创建后原则上不允许修改。
- 应用编码由平台管理员或产品管理员创建应用时维护。
- 应用编码建议采用大写英文、数字和下划线组合。
- 应用编码建议格式为:业务域英文缩写 + 系统类型。
- 示例:`RECON_SYSTEM``SPLIT_SYSTEM``PAY_SYSTEM``SITE_SYSTEM``CS_SYSTEM`
- 应用编码仅用于系统识别、菜单归属、权限归属、应用开通和日志追踪,不作为页面展示名称。
编码校验要求:
- 新增应用时,系统需要校验应用编码是否已存在。
- 应用编码为空、重复或格式不符合规则时,不允许保存应用。
- 应用停用后,原应用编码不得被其他应用复用。
### 5.2.4.2 应用类型定义
基础平台 1.0 支持以下应用类型:
| 应用类型 | 定义 | 示例 |
| --- | --- | --- |
| 基础平台应用 | 基础平台自身提供的管理能力 | 客户管理、应用管理、组织管理、用户与账号管理 |
| 业务应用 | 公司自研并接入基础平台门户的业务系统 | 连锁业务对账系统、分账系统、聚合支付 |
| 外部应用 | 非基础平台内部建设,但需要通过基础平台入口访问的系统 | 后续客户外部协同系统、第三方系统 |
业务规则:
- 基础平台应用默认由基础平台维护,不作为客户开通应用进行售卖或授权。
- 业务应用可被客户开通,并可配置菜单和应用入口。
- 外部应用 1.0 仅预留类型,是否接入按项目需要单独评估。
### 5.2.4.3 应用入口类型定义
基础平台 1.0 支持以下应用入口类型:
| 入口类型 | 定义 | 适用场景 |
| --- | --- | --- |
| 基础平台页面 | 页面由基础平台自身承载 | 客户管理、应用管理 |
| iframe 嵌入 | 页面由业务应用提供,基础平台通过 iframe 嵌入右侧内容区 | 连锁业务对账系统、分账系统、聚合支付 |
| 外部跳转 | 从基础平台打开外部系统地址 | 后续外部协同或第三方系统 |
业务规则:
- 基础平台 1.0 中,业务应用默认采用 iframe 嵌入方式。
- iframe 嵌入应用不再独立渲染系统级菜单。
- 外部跳转入口不作为 1.0 重点能力,仅保留字段和边界。
- 应用入口地址为选填字段,不作为应用启用的必填前置。
- 业务应用通常通过基础平台菜单进入应用系统的各个功能点,菜单地址才是用户访问具体功能页面的主要入口。
- 如应用配置了应用级默认入口地址,该地址可用于应用首页、外部跳转或无具体菜单时的兜底入口。
## 5.2.5 配置应用入口
### 5.2.5.1 功能说明
配置应用入口用于定义应用级默认访问方式。业务应用各功能点通常通过基础平台菜单地址进入,应用入口地址不作为业务应用功能访问的唯一入口。
### 5.2.5.2 功能范围
- 维护应用入口类型。
- 维护应用级默认入口地址。
- 维护应用默认打开方式。
- 维护应用图标和展示名称。
- 检查应用入口配置完整性。
### 5.2.5.3 业务规则
- 应用启用前必须配置应用入口类型。
- 应用入口地址为选填;未配置应用入口地址时,用户仍可通过已授权菜单进入应用系统的各个功能点。
- 如果应用没有任何可用菜单,且未配置应用入口地址,则用户无法从门户进入该应用。
- 客户未开通应用时,即使应用已启用,也不可向该客户用户展示应用入口。
- 用户未授权应用时,不可看到应用入口。
- iframe 嵌入应用通过菜单地址打开后,应在基础平台右侧内容区展示。
- 应用入口地址变更后,不影响历史业务数据。
- 应用入口类型、应用入口地址变更需记录操作日志。
## 5.2.6 配置应用菜单
### 5.2.6.1 功能说明
配置应用菜单用于维护应用在基础平台统一门户中的导航入口。应用菜单最终由基础平台统一聚合展示,业务应用不再独立渲染系统级菜单。
### 5.2.6.2 功能范围
- 查看应用菜单树。
- 新增应用菜单。
- 编辑应用菜单。
- 启用 / 停用应用菜单。
- 调整菜单排序。
- 绑定菜单对应页面地址。
- 配置菜单下的操作权限。
### 5.2.6.3 业务规则
- 菜单必须归属于某个应用。
- 菜单可采用树形结构展示。
- 菜单路径由人工录入,在同一应用内唯一。
- 菜单路径允许修改,修改后应同步影响后续菜单打开地址和权限引用展示。
- 停用菜单后,用户不可看到该菜单。
- 菜单是否展示由应用启用状态、客户应用开通状态、用户权限共同决定。
- 操作权限必须归属于具体菜单或页面。
- 不允许脱离菜单或页面单独配置操作权限。
- 菜单停用后,该菜单下操作权限同时不可用。
- 角色授权时,应按菜单和菜单下操作权限进行勾选。
## 5.2.7 权限配置边界
### 5.2.7.1 功能说明
权限配置边界用于说明应用管理与角色管理之间的职责划分。
应用管理负责定义应用、菜单和菜单下的操作权限;角色管理负责将菜单、菜单操作权限和数据范围授权给角色;用户与账号管理负责将角色分配给用户。
### 5.2.7.2 功能范围
- 说明应用管理负责维护菜单和菜单操作权限定义。
- 说明菜单是操作权限的归属载体。
- 说明操作权限在应用管理的菜单配置中按菜单或页面维护。
- 说明角色授权时应基于菜单、菜单操作权限和数据范围进行组合。
### 5.2.7.3 业务规则
- 一个应用可包含多个菜单。
- 一个菜单可包含多个操作权限。
- 操作权限必须归属于具体菜单或页面。
- 不允许脱离菜单或页面单独配置操作权限。
- 应用管理只维护操作权限定义,不在应用管理中为具体客户、角色或用户授权。
- 角色管理引用应用管理中定义的菜单和菜单操作权限进行授权。
- 接口级权限与技术鉴权实现不在应用管理中描述,本文档只定义产品侧可授权操作。
## 5.2.8 配置应用可授权范围
### 5.2.8.1 功能说明
配置应用可授权范围用于定义某个应用可被哪些客户开通、可授权哪些组织或角色范围,为客户应用开通和权限分配提供基础约束。
### 5.2.8.2 功能范围
- 设置应用是否允许客户开通。
- 设置应用适用客户类型。
- 设置应用适用行业。
- 设置应用默认角色模板。
- 设置应用默认菜单范围。
### 5.2.8.3 业务规则
- 应用停用后,不允许继续被客户开通。
- 应用未设置为允许客户开通时,不出现在客户管理的未开通应用 Tab 中。
- 应用适用客户类型和所属行业仅作为开通筛选和提示,不自动替代人工开通决策。
- 客户开通应用后,客户管理员仍需为用户分配角色和权限。
- 可授权范围变更不自动取消客户已开通应用,需由平台管理员确认处理。
## 5.2.9 查看已开通客户
### 5.2.9.1 功能说明
查看已开通客户用于从应用视角查看当前应用已被哪些客户开通,便于平台管理员了解应用使用范围。
### 5.2.9.2 功能范围
- 查看已开通客户列表。
- 按客户名称、客户编码、客户类型、所属行业查询。
- 查看开通时间、开通人、客户启用状态。
- 跳转客户详情。
### 5.2.9.3 业务规则
- 已开通客户列表只展示当前应用的开通客户。
- 客户停用后,仍可在已开通客户列表中展示,但需标识客户停用状态。
- 应用管理中不直接为客户开通或关闭应用,客户开通和关闭操作在客户管理中完成。
## 5.2.10 业务规则
- 应用编码全局唯一。
- 应用启用前必须维护应用名称、应用编码、应用类型和入口类型。
- 应用停用后,所有客户不可访问该应用。
- 应用停用后,基础平台不展示该应用入口和该应用菜单。
- 客户未开通应用时,不显示该应用入口。
- 用户未授权应用时,不显示该应用入口。
- 应用菜单由产品管理员维护。
- 菜单下的操作权限在应用管理的菜单配置中维护。
- 应用入口类型、应用入口地址、菜单、菜单操作权限、可授权范围、启用状态变更需要记录操作日志。
- 应用管理不处理业务系统内部业务规则。
## 5.2.11 界面设计
### 5.2.11.1 页面入口
应用管理作为基础平台的管理类功能,建议放置在基础平台左侧菜单:
```text
基础平台
└── 平台管理
└── 应用管理
```
页面访问规则:
- 仅平台超级管理员、产品管理员或具备应用管理权限的用户可访问应用管理页面。
- 客户管理员不可访问应用管理页面。
- 无应用管理权限的用户不展示应用管理菜单。
### 5.2.11.2 页面结构
应用管理包含以下页面和区域:
| 页面 / 区域 | 展示方式 | 主要用途 |
| --- | --- | --- |
| 应用列表页 | 查询表单 + 数据表格 | 查询、查看、新增、编辑、启用、停用应用 |
| 新增应用页 / 弹窗 | 表单 | 创建应用基础档案和入口配置 |
| 编辑应用页 / 弹窗 | 表单 | 修改应用基础信息、入口配置、负责人等信息 |
| 应用详情页 | 上方只读基础信息区 + 下方 Tab 页签 | 查看应用基础信息、入口配置、菜单、可授权范围、已开通客户、操作记录 |
| 应用菜单编辑页面 | 表单 | 新增或编辑单个应用菜单 |
| 菜单操作权限配置页面 | 数据表格 + 表单弹窗 | 维护某个菜单或页面下可授权的操作权限 |
| 可授权范围编辑页面 | 表单 | 编辑应用适用客户类型、适用行业、是否允许客户开通 |
### 5.2.11.3 应用列表页
应用列表页用于平台侧查看和维护所有应用。
展示方式:
- 顶部为查询表单。
- 下方为应用数据表格。
- 表格右侧操作列展示查看、编辑、配置菜单、配置可授权范围、启用、停用等操作。
列表筛选条件:
- 应用名称
- 应用编码
- 应用类型
- 入口类型
- 接入状态
- 启用状态
- 创建时间
列表字段:
| 字段 | 说明 |
| --- | --- |
| 应用编码 | 展示应用唯一编码 |
| 应用名称 | 展示应用正式名称 |
| 应用简称 | 展示应用简称 |
| 应用类型 | 展示基础平台应用、业务应用、外部应用 |
| 入口类型 | 展示基础平台页面、iframe 嵌入、外部跳转 |
| 接入状态 | 展示未接入、接入中、已接入 |
| 启用状态 | 展示启用或停用 |
| 已开通客户 | 展示已开通客户数量 |
| 更新时间 | 展示最近更新时间 |
| 操作 | 查看、编辑、配置菜单、配置可授权范围、启用、停用 |
### 5.2.11.4 新增应用页 / 弹窗
新增应用用于创建应用基础档案和入口配置。
展示方式:
- 采用表单方式展示。
- 表单包含应用基础信息和入口配置。
- 不使用表格、Tab 页签或树形结构。
表单分区:
| 分区 | 字段 / 内容 |
| --- | --- |
| 应用基础信息 | 应用名称、应用简称、应用编码、应用类型、应用图标、应用说明、应用负责人 |
| 应用入口配置 | 应用入口类型、应用入口地址、接入状态、启用状态 |
表单控件和值来源:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 应用名称 | 文本输入框 | 人工录入 | 必填,应用正式名称 |
| 应用简称 | 文本输入框 | 人工录入 | 必填,用于菜单、页签、列表等短名称展示 |
| 应用编码 | 文本输入框 | 人工录入,系统校验唯一性和编码格式 | 必填,保存后原则上不允许修改 |
| 应用类型 | 下拉框 | 系统字典:基础平台应用、业务应用、外部应用 | 必填 |
| 应用图标 | 图标选择器 / 文件上传控件 | 平台预置图标库或上传图标文件 | 选填,用于门户、菜单和应用列表展示 |
| 应用说明 | 多行文本框 | 人工录入 | 选填,描述应用定位和用途 |
| 应用负责人 | 用户选择器 | 基础平台用户档案 | 选填,可选择产品负责人或业务负责人 |
| 应用入口类型 | 下拉框 | 系统字典基础平台页面、iframe 嵌入、外部跳转 | 必填 |
| 应用入口地址 | 文本输入框 | 人工录入 | 选填,用于应用级默认入口、外部跳转或兜底入口 |
| 接入状态 | 下拉框 | 系统字典:未接入、接入中、已接入 | 必填 |
| 启用状态 | Switch | 人工选择 | 必填,默认建议为停用,确认配置完整后再启用 |
页面规则:
- 应用名称、应用简称、应用编码、应用类型、应用入口类型为必填。
- 应用入口地址为选填。
- 业务应用各功能点主要通过菜单地址进入,新增应用时不要求配置应用入口地址。
- 应用编码保存后原则上不允许修改。
- 新增应用页不配置应用菜单。
- 应用创建后,可在应用详情或应用列表中独立配置菜单和可授权范围。
### 5.2.11.5 编辑应用页 / 弹窗
编辑应用用于维护应用基础信息和入口配置。
展示方式:
- 采用表单方式展示。
- 表单字段与新增应用保持一致。
- 应用编码、创建时间作为只读字段展示。
可编辑字段:
- 应用名称
- 应用简称
- 应用类型
- 应用入口类型
- 应用入口地址
- 应用图标
- 应用说明
- 应用负责人
- 接入状态
- 启用状态
- 排序
不可编辑字段:
- 应用编码
- 创建时间
表单控件和值来源:
- 编辑应用页字段控件类型与新增应用页保持一致。
- 应用编码在编辑应用页采用只读文本展示,不允许修改。
- 创建时间、更新时间采用只读文本展示,由系统生成。
- 启用状态采用 Switch 维护;停用应用时需要提示影响范围。
- 排序采用数字输入框,由人工录入,用于控制应用在配置列表或门户入口中的展示顺序。
### 5.2.11.6 应用详情页
应用详情页用于集中查看应用档案、接入配置和使用范围。
应用详情页分为上下两部分:
| 区域 | 展示方式 | 主要内容 |
| --- | --- | --- |
| 上方基础信息区 | 只读信息区 | 应用名称、简称、编码、类型、入口类型、入口地址、接入状态、启用状态 |
| 下方页签区 | Tab 页签 | 菜单配置、可授权范围、已开通客户、操作记录 |
下方页签说明:
| 页签 | 展示方式 | 主要内容 |
| --- | --- | --- |
| 菜单配置 | 树形表格 | 应用多级菜单树、菜单状态、菜单地址、菜单操作权限配置入口;支持进入应用菜单编辑页面和菜单操作权限配置页面 |
| 可授权范围 | 表单 | 展示是否允许客户开通、适用客户类型、适用行业、默认角色模板、默认菜单范围;支持进入可授权范围编辑页面 |
| 已开通客户 | 数据表格 | 客户名称、客户编码、客户类型、所属行业、开通时间、客户状态 |
| 操作记录 | 数据表格 | 应用新增、编辑、启用、停用、入口变更、菜单变更、可授权范围变更记录 |
详情页主操作按钮:
- 编辑应用
- 配置菜单
- 配置可授权范围
### 5.2.11.7 应用菜单编辑页面
应用菜单编辑页面用于新增或编辑某个应用下的单个菜单。
展示方式:
- 采用表单方式展示。
- 不在该页面展示完整多级菜单树。
- 多级菜单树在应用详情页下方的菜单配置 Tab 页签中展示。
- 用户在菜单配置 Tab 页签中点击新增、编辑、新增下级等操作后,进入应用菜单编辑页面维护单个菜单。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 菜单名称 | 文本输入框 | 人工录入 | 菜单展示名称 |
| 菜单路径 | 文本输入框 | 人工录入,系统校验当前应用下唯一性 | 菜单对应的应用内功能路径,允许编辑 |
| 上级菜单 | 树形选择器 | 当前应用菜单树 | 可为空;为空表示一级菜单 |
| 页面地址 | 文本输入框 | 人工录入 | 菜单对应页面地址,通常为业务应用提供的功能页面地址 |
| 启用状态 | Switch | 人工选择 | 控制菜单是否可展示和授权 |
| 排序 | 数字输入框 | 人工录入 | 菜单展示顺序 |
| 菜单说明 | 多行文本框 | 人工录入 | 菜单用途说明 |
页面规则:
- 新增一级菜单时,上级菜单可为空。
- 新增下级菜单时,系统默认带入上级菜单。
- 菜单路径在当前应用内唯一,保存时需要校验重复。
- 菜单路径由人工录入,新增和编辑时均允许修改。
- 菜单路径修改后,系统应提示可能影响菜单访问地址、角色授权展示和操作日志追踪。
- 菜单下的操作权限在应用管理的菜单配置中基于菜单或页面维护,应用菜单编辑页面不直接维护操作权限明细。
### 5.2.11.8 菜单操作权限配置页面
菜单操作权限配置页面用于维护某个菜单或页面下可被授权控制的操作动作。
展示方式:
- 采用数据表格 + 表单弹窗方式展示。
- 用户在应用详情页的菜单配置 Tab 页签中选择某个菜单,点击配置操作权限后进入。
- 数据表格展示当前菜单下已配置的操作权限。
- 新增或编辑操作权限时,打开表单弹窗维护单个操作权限。
列表字段:
| 字段 | 说明 |
| --- | --- |
| 操作名称 | 操作权限展示名称 |
| 操作编码 | 当前菜单下唯一的操作编码 |
| 操作类型 | 查看、新增、编辑、删除、审核、导入、导出、启用、停用、自定义操作 |
| 启用状态 | 启用、停用 |
| 说明 | 操作用途说明 |
| 操作 | 编辑、启用、停用 |
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 所属应用 | 只读文本 | 当前菜单归属应用 | 系统自动带入 |
| 所属菜单 | 只读文本 | 当前选中菜单 | 系统自动带入 |
| 操作名称 | 文本输入框 | 人工录入 | 操作权限展示名称 |
| 操作编码 | 文本输入框 | 人工录入,系统校验当前菜单下唯一性和编码格式 | 编辑时原则上不允许修改 |
| 操作类型 | 下拉框 | 系统字典:查看、新增、编辑、删除、审核、导入、导出、启用、停用、自定义操作 | 用于归类操作动作 |
| 启用状态 | Switch | 人工选择 | 控制该操作权限是否可用于授权 |
| 说明 | 多行文本框 | 人工录入 | 操作用途说明 |
业务规则:
- 操作权限必须归属于具体菜单或页面。
- 操作编码在同一菜单下唯一。
- 不允许脱离菜单或页面单独配置操作权限。
- 菜单停用后,该菜单下操作权限同时不可用。
- 操作权限停用后,不可继续用于新增角色授权。
- 已被角色引用的操作权限停用时,需要提示影响范围。
### 5.2.11.9 可授权范围编辑页面
可授权范围编辑页面用于维护应用是否可被客户开通,以及适用范围提示。
展示方式:
- 采用表单方式展示。
- 不使用表格、Tab 页签或树形结构。
- 当前可授权范围信息在应用详情页下方的可授权范围 Tab 页签中展示。
- 用户在可授权范围 Tab 页签中点击配置可授权范围后,进入可授权范围编辑页面。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 是否允许客户开通 | Switch | 人工选择 | 控制该应用是否出现在客户管理的未开通应用 Tab 中 |
| 适用客户类型 | 多选下拉框 | 系统字典:连锁型客户、平台型客户、试点客户、内部测试客户 | 用于提示和筛选适用客户类型 |
| 适用行业 | 多选下拉框 | 系统字典:连锁餐饮、连锁鞋服、连锁零售、连锁药店、物流平台、充电桩平台、其他行业 | 用于提示和筛选适用行业 |
| 默认角色模板 | 下拉框 / 多选下拉框 | 角色管理中已启用的角色模板 | 客户开通应用后可参考的默认角色模板 |
| 默认菜单范围 | 树形多选框 | 当前应用已启用菜单树 | 客户开通应用后默认可授权的菜单范围 |
## 5.2.12 使用导航
### 5.2.12.1 新增应用
操作路径:
```text
基础平台 > 平台管理 > 应用管理 > 新增应用
```
操作步骤:
1. 进入应用管理列表页。
2. 点击新增应用。
3. 填写应用名称、应用简称、应用编码、应用类型、应用入口类型。
4. 按需填写应用入口地址、应用图标、应用说明、应用负责人。
5. 设置接入状态和启用状态。
6. 保存应用。
7. 保存成功后,系统生成应用档案。
### 5.2.12.2 编辑应用
操作路径:
```text
基础平台 > 平台管理 > 应用管理 > 应用列表 > 编辑
```
操作步骤:
1. 进入应用管理列表页。
2. 按应用名称、应用编码、应用类型或启用状态查询应用。
3. 点击编辑。
4. 修改应用基础信息或入口配置。
5. 保存修改。
6. 系统记录应用信息变更日志。
### 5.2.12.3 查看应用详情
操作路径:
```text
基础平台 > 平台管理 > 应用管理 > 应用列表 > 查看
```
或:
```text
基础平台 > 平台管理 > 应用管理 > 应用列表 > 应用名称
```
操作步骤:
1. 进入应用管理列表页。
2. 按应用名称、应用编码、应用类型或启用状态查询应用。
3. 点击查看或应用名称。
4. 进入应用详情页。
5. 在上方只读基础信息区查看应用基础信息和入口配置。
6. 在下方 Tab 页签中查看菜单配置、可授权范围、已开通客户和操作记录。
### 5.2.12.4 配置应用菜单
操作路径:
```text
基础平台 > 平台管理 > 应用管理 > 应用列表 > 配置菜单
```
或:
```text
基础平台 > 平台管理 > 应用管理 > 应用详情 > 菜单配置
```
操作步骤:
1. 进入应用管理列表页或应用详情页。
2. 点击配置菜单。
3. 系统进入应用详情页下方的菜单配置 Tab 页签。
4. 在菜单配置 Tab 页签的树形表格中查看当前应用多级菜单树。
5. 点击新增、编辑或新增下级菜单。
6. 系统打开应用菜单编辑页面。
7. 通过表单维护单个菜单信息并保存。
8. 系统返回菜单配置 Tab 页签,并刷新菜单树。
9. 系统记录菜单配置变更日志。
### 5.2.12.5 配置菜单操作权限
操作路径:
```text
基础平台 > 平台管理 > 应用管理 > 应用详情 > 菜单配置 > 配置操作权限
```
操作步骤:
1. 进入应用详情页。
2. 打开菜单配置 Tab 页签。
3. 在菜单树形表格中选择目标菜单。
4. 点击配置操作权限。
5. 系统打开菜单操作权限配置页面。
6. 查看当前菜单下已有操作权限。
7. 点击新增或编辑。
8. 在表单弹窗中维护操作名称、操作编码、操作类型、启用状态和说明。
9. 保存操作权限。
10. 系统记录菜单操作权限配置变更日志。
### 5.2.12.6 配置可授权范围
操作路径:
```text
基础平台 > 平台管理 > 应用管理 > 应用列表 > 配置可授权范围
```
或:
```text
基础平台 > 平台管理 > 应用管理 > 应用详情 > 可授权范围
```
操作步骤:
1. 进入应用管理列表页或应用详情页。
2. 点击配置可授权范围。
3. 系统进入应用详情页下方的可授权范围 Tab 页签。
4. 查看当前可授权范围配置。
5. 点击编辑。
6. 系统打开可授权范围编辑页面。
7. 设置是否允许客户开通。
8. 设置适用客户类型、适用行业、默认角色模板和默认菜单范围。
9. 保存配置。
10. 系统返回可授权范围 Tab 页签,并刷新当前配置。
11. 系统记录可授权范围配置变更日志。
### 5.2.12.7 启用 / 停用应用
操作路径:
```text
基础平台 > 平台管理 > 应用管理 > 应用列表 > 启用 / 停用
```
操作步骤:
1. 进入应用管理列表页。
2. 查询目标应用。
3. 点击启用或停用。
4. 停用应用时,系统提示停用影响。
5. 确认操作。
6. 系统更新应用状态并记录操作日志。
停用影响:
- 所有客户不可继续访问该应用。
- 基础平台不展示该应用入口和该应用菜单。
- 已开通客户关系不删除。
- 历史业务数据不删除。
## 5.2.13 验收标准
- 可新增、编辑、启用、停用应用。
- 应用编码全局唯一,重复时不允许保存。
- 应用启用前必须维护入口类型,应用入口地址为选填。
- 业务应用各功能点可通过基础平台菜单地址进入。
- 应用列表页可按应用名称、应用编码、应用类型、入口类型、接入状态、启用状态查询应用。
- 应用详情页可查看基础信息、菜单配置、可授权范围、已开通客户和操作记录。
- 应用详情页的菜单配置 Tab 页签采用树形表格展示应用多级菜单树。
- 应用菜单编辑页面采用表单方式维护单个菜单。
- 应用菜单使用菜单路径作为应用内功能路径标识,不再使用菜单编码。
- 菜单路径由人工录入,并在当前应用内唯一。
- 菜单路径新增和编辑时均允许修改,重复时不允许保存。
- 菜单操作权限在应用管理的菜单配置中基于菜单或页面配置。
- 菜单操作权限配置页面采用数据表格 + 表单弹窗方式维护。
- 应用详情页的可授权范围 Tab 页签采用表单方式展示当前配置。
- 可授权范围编辑页面采用表单方式维护。
- 应用停用后,所有客户不可继续访问该应用。
- 客户未开通应用时,不显示该应用入口。
- 应用停用后,基础平台不展示该应用入口和该应用菜单。
- 应用入口、菜单、菜单操作权限、可授权范围、启用状态变更均生成操作日志。

View File

@@ -0,0 +1,563 @@
# 5.3 组织管理
本文档从《基础平台产品设计》第 5 章拆分而来,用于独立描述基础平台功能模块的业务需求、规则和验收标准。
上级文档:[基础平台产品设计](../基础平台产品设计.md)
## 5.3.1 功能说明
组织管理用于维护客户内部组织结构,是用户归属、角色授权、数据范围控制和业务系统数据隔离的基础。
基础平台组织用于表达客户内部管理结构,例如总部、分公司、部门、品牌、大区、区域、门店、平台商户等。组织管理只维护基础组织档案和组织层级,不承载门店经营、品牌经营、供应链、财务核算等业务属性。
## 5.3.2 功能范围
- 查询组织树
- 查看组织详情
- 新增组织
- 编辑组织
- 启用 / 停用组织
- 调整上级组织
- 维护组织负责人
- 维护组织类型
- 查看组织操作记录
## 5.3.3 字段要求
组织基础信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 所属客户 | 组织归属客户 | 是 |
| 组织名称 | 组织展示名称 | 是 |
| 组织简称 | 用于列表、选择器等场景的短名称 | 否 |
| 组织编码 | 当前客户下唯一的组织编码 | 是 |
| 组织类型 | 公司、分公司、部门、品牌、大区、区域、门店、平台商户、其他 | 是 |
| 上级组织 | 当前组织的父级组织 | 否 |
| 组织负责人 | 当前组织的主要负责人 | 否 |
| 联系方式 | 组织负责人或组织联系手机号、电话、邮箱 | 否 |
| 启用状态 | 组织是否可继续使用 | 是 |
| 排序 | 同级组织展示顺序 | 否 |
| 组织说明 | 组织用途或补充说明 | 否 |
| 创建时间 | 组织档案创建时间 | 是 |
| 更新时间 | 组织档案最近更新时间 | 是 |
### 5.3.3.1 组织编码规则
组织编码用于在基础平台内唯一识别客户下的组织。
编码规则:
- 组织编码在同一客户下唯一。
- 不同客户之间允许存在相同组织编码。
- 组织编码创建后原则上不允许修改。
- 组织编码可由系统生成,也可由平台管理员或客户管理员按客户已有编码维护。
- 系统生成时建议格式为:`O` + 6 位流水号。
- 示例:`O000001``O000002`
- 流水号按客户维度递增,不按组织类型分别递增。
- 删除或停用组织后,原组织编码不得在同一客户下复用。
- 组织编码仅用于系统识别、用户归属、权限范围、日志追踪和系统间关联,不承载组织层级含义。
编码校验要求:
- 新增组织时,系统需要校验同一客户下组织编码是否已存在。
- 组织编码为空、重复或格式不符合规则时,不允许保存组织。
- 导入或迁移组织数据时,如外部数据包含组织编码,需要校验是否在当前客户下唯一。
### 5.3.3.2 组织类型定义
基础平台 1.0 支持以下组织类型:
| 组织类型 | 定义 | 适用示例 |
| --- | --- | --- |
| 公司 | 客户内部最高层级或法人 / 管理主体 | 总部公司、品牌公司、业务公司 |
| 分公司 | 公司下设的分支经营或管理机构 | 省级分公司、城市分公司、区域分公司 |
| 部门 | 公司或组织下的职能部门 | 财务部、加盟部、直营部、运营部 |
| 品牌 | 连锁集团下的品牌管理单元 | 小吃品牌、茶饮品牌、火锅品牌 |
| 大区 | 品牌或业务线下的大区管理组织 | 华东大区、华南大区 |
| 区域 | 大区下的区域管理组织 | 上海区域、杭州区域 |
| 门店 | 连锁客户下的门店管理单元 | 加盟店、直营店、联营店 |
| 平台商户 | 平台型客户下的商户或经营主体 | 物流承运商、充电站运营商 |
| 其他 | 暂未归入标准类型的组织 | 临时组织、特殊协作组织 |
业务规则:
- 组织类型创建组织时必须选择。
- 组织类型支持后续编辑,但变更后不自动改变用户、角色、数据范围和历史业务数据。
- 分公司用于表达客户内部具有相对独立经营或管理职责的分支机构;大区、区域更偏运营管理层级,不默认等同于分公司。
- 门店可以作为组织类型纳入基础平台组织数据,用于用户归属、数据范围和权限控制;但万店规模客户不应在组织树中默认展开全部门店及其下级节点。
- 组织管理主页面的左侧管理组织树默认只展示管理组织,门店及其下级节点应通过右侧门店列表、门店检索或权限配置中的指定门店选择器进行展示和选择。
- 平台商户用于平台型客户的组织归属和权限范围,不等同于分账系统中的结算主体或账户。
- 督导、区域经理、店长等属于岗位、角色或人员职责,不作为组织类型维护;督导负责哪些门店应通过用户所属组织、角色授权和数据范围配置表达。
- 新增组织类型需由产品负责人确认后维护到数据字典。
## 5.3.4 组织树管理
### 5.3.4.1 功能说明
组织树管理用于按客户展示管理组织层级,并支持在组织树上进行新增、编辑、启停和调整上级组织。
对于门店数量较多的连锁客户,门店及其下级节点不在左侧管理组织树中默认作为节点逐级展开。门店仍可作为组织类型存在,但应通过门店列表、门店检索、分页表格或指定门店选择器承载。
### 5.3.4.2 功能范围
- 按客户查看管理组织树。
- 按组织名称、组织编码、组织类型、启用状态查询管理组织。
- 展开 / 收起组织层级。
- 查看选中管理组织下的门店列表和门店数量。
- 新增同级组织。
- 新增下级组织。
- 编辑组织信息。
- 启用 / 停用组织。
- 调整组织上级。
### 5.3.4.3 业务规则
- 组织必须归属于某个客户。
- 组织树按客户隔离,不允许跨客户查看或维护组织。
- 一个组织最多只能有一个上级组织。
- 顶层组织在客户初始化时创建,组织管理主页面不提供新增顶层组织按钮。
- 组织管理主页面新增组织时必须选择已有组织作为上级组织。
- 组织管理主页面不允许新增无上级组织的组织。
- 顶层组织允许没有上级组织,但仅由客户初始化流程创建。
- 左侧管理组织树默认展示公司、分公司、部门、品牌、大区、区域、平台商户、其他等管理组织。
- 门店组织及其下级节点不在左侧管理组织树中默认展示,避免万店客户组织树过深、节点过多、加载和操作困难。
- 新增或编辑组织时如选择组织类型为门店,保存后该组织进入右侧下级门店页签或门店检索结果,不进入左侧管理组织树默认展示范围。
- 如门店下存在档口、店中店、外摆点等特殊经营节点,默认跟随门店进入门店相关列表或后续门店业务系统,不进入左侧管理组织树默认展示范围。
- 如需要维护门店与区域、大区、品牌之间的归属关系,应在右侧门店列表或后续门店生命周期系统中完成。
- 不允许将组织调整到其他客户下。
- 不允许将组织调整到自己或自己的下级组织下。
- 调整上级组织不自动改变历史业务数据归属。
- 组织树默认只展示当前客户下启用和停用的管理组织,不展示已删除历史数据。
## 5.3.5 组织负责人维护
### 5.3.5.1 功能说明
组织负责人用于标识当前组织的管理责任人,便于后续消息通知、待办分派、权限初始化和问题排查。
### 5.3.5.2 功能范围
- 设置组织负责人。
- 更换组织负责人。
- 清空组织负责人。
- 查看组织负责人联系方式。
### 5.3.5.3 业务规则
- 组织负责人必须是当前客户下的用户。
- 停用用户不可被新增设置为组织负责人。
- 组织负责人变更不自动改变该用户的角色和权限。
- 组织负责人停用后,组织负责人字段保留历史展示,但系统应提示负责人已停用。
- 组织负责人变更需要记录操作日志。
## 5.3.6 启用 / 停用组织
### 5.3.6.1 功能说明
启用 / 停用组织用于控制组织是否可继续作为用户归属、角色授权和数据范围选择对象。
### 5.3.6.2 业务规则
- 停用组织后,该组织不可继续分配给新用户。
- 停用组织后,该组织不可继续作为新增角色数据范围。
- 停用组织不影响历史用户归属、历史角色授权和历史业务数据归属。
- 停用组织时,如果存在启用状态的下级组织,系统需要提示影响范围。
- 是否允许停用存在启用下级组织的组织由平台配置决定1.0 建议允许停用但需要二次确认。
- 启用上级组织不自动启用下级组织。
- 停用上级组织后,下级组织在组织树中仍展示原层级,但需要体现上级已停用状态。
- 停用组织和启用组织均需要记录操作日志。
## 5.3.7 业务规则
- 组织必须归属于某个客户。
- 组织编码在同一客户下唯一。
- 组织支持多级结构。
- 一个客户至少应有一个顶层组织。
- 用户可归属于一个或多个组织,但必须有一个默认组织,具体规则在用户与账号管理中定义。
- 数据权限可按全部、本组织及下级组织、本组织、指定组织、指定门店等范围生效,具体规则在角色管理中定义。
- 对于加盟连锁企业的督导场景,督导本人可归属于区域、大区或运营部门,实际负责门店通过角色数据范围选择指定门店,不通过新增组织类型表达。
- 组织调整不自动改变历史业务单据、历史对账数据、历史分账数据等业务数据归属。
- 客户停用后,不允许继续新增该客户下组织。
- 组织停用不删除组织档案。
## 5.3.8 界面设计
### 5.3.8.1 功能入口与访问权限
组织管理作为基础平台的客户内管理功能,建议放置在基础平台左侧菜单:
```text
基础平台
└── 组织管理
```
页面访问规则:
- 平台超级管理员、实施人员、具备组织管理权限的平台用户可维护所有客户组织。
- 客户管理员只能维护本客户下组织。
- 普通业务用户不可访问组织管理页面。
- 无组织管理权限的用户不展示组织管理菜单。
### 5.3.8.2 组织管理主页面
点击基础平台 > 组织管理后,直接进入组织管理主页面。组织管理主页面是组织管理的实际工作页面,用于展示管理组织树、组织详情和组织下门店列表。
展示方式:
- 平台用户进入页面后,顶部展示客户选择器和组织查询条件。
- 客户管理员或归属于某个客户的用户进入页面后,系统默认当前客户,不展示客户查询条件。
- 左侧为管理组织树,默认不展示门店及其下级节点。
- 右侧为组织详情区,采用 Tab 页签展示基础信息、下级门店、操作记录。
- 下级门店页签采用查询区域 + 数据表格 + 分页展示。
简化版原型图:
```text
┌──────────────────────────────────────────────────────────────────────────────┐
│ 基础平台 > 组织管理 │
├──────────────────────────────────────────────────────────────────────────────┤
│ 客户: [客户选择器/当前客户只读] 组织名称:[ ] 组织编码:[ ] │
│ 组织类型:[全部 v] 启用状态:[全部 v] [查询] [重置] │
├───────────────────────┬──────────────────────────────────────────────────────┤
│ 管理组织树 │ 组织详情 │
│ │ │
│ [新增下级组织] │ 当前组织:华东大区 [编辑] │
│ │ [调整上级] [停用]│
│ ▼ XX集团总部 │ │
│ ▼ 餐饮品牌公司 │ ┌──────────┬──────────┬──────────┐ │
│ ▼ 华东大区 │ │ 基础信息 │ 下级门店 │ 操作记录 │ │
│ 上海区域 门店128│ └──────────┴──────────┴──────────┘ │
│ 杭州区域 门店86 │ │
│ ▼ 华南大区 │ 基础信息页签: │
│ 广州区域 门店92 │ 组织名称:华东大区 │
│ │ 组织编码O000123 │
│ 说明:左侧不展示门店及 │ 组织类型:大区 │
│ 其下级节点,只展示门店 │ 上级组织:餐饮品牌公司 │
│ 数量。 │ 组织负责人:张三 │
│ │ 启用状态:启用 │
├───────────────────────┴──────────────────────────────────────────────────────┤
│ 下级门店页签示例: │
│ 门店名称:[ ] 门店编码:[ ] 启用状态:[全部 v] [查询] │
│ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ │
│ │ 门店名称 │ 门店编码 │ 所属品牌 │ 所属大区 │ 所属区域 │ 操作 │ │
│ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ │
│ │ 上海001店│ S000001 │ 餐饮品牌 │ 华东大区 │ 上海区域 │ 查看 编辑│ │
│ │ 上海002店│ S000002 │ 餐饮品牌 │ 华东大区 │ 上海区域 │ 查看 编辑│ │
│ └──────────┴──────────┴──────────┴──────────┴──────────┴──────────┘ │
│ < 1 / 20 > │
└──────────────────────────────────────────────────────────────────────────────┘
```
客户选择规则:
| 用户类型 | 客户选择方式 | 说明 |
| --- | --- | --- |
| 平台用户 | 客户选择器 | 需要先选择客户,再查看该客户组织 |
| 实施人员 | 客户选择器 | 可按项目需要选择客户 |
| 客户管理员 | 只读当前客户 | 默认当前客户,不允许切换 |
| 客户内普通管理用户 | 只读当前客户 | 默认当前客户,不允许切换 |
管理组织查询条件:
| 查询项 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 组织名称 | 文本输入框 | 人工录入 | 支持模糊查询 |
| 组织编码 | 文本输入框 | 人工录入 | 支持精确或模糊查询 |
| 组织类型 | 下拉框 | 系统字典:公司、分公司、部门、品牌、大区、区域、平台商户、其他 | 可为空,不包含门店 |
| 启用状态 | 下拉框 | 系统字典:全部、启用、停用 | 默认全部 |
| 查询 | 按钮 | 用户点击 | 作为查询区域最后一个表单元素 |
管理组织树字段:
| 字段 | 说明 |
| --- | --- |
| 组织名称 | 按层级展示组织名称 |
| 组织类型 | 展示组织类型标签 |
| 启用状态 | 停用组织需要展示停用标识 |
| 下级门店数 | 如当前组织下存在门店,展示门店数量,不展开门店及其下级节点 |
右侧基础信息页签字段:
| 字段 | 说明 |
| --- | --- |
| 组织名称 | 当前选中组织名称 |
| 组织简称 | 当前选中组织简称 |
| 组织编码 | 当前选中组织编码 |
| 组织类型 | 当前选中组织类型 |
| 上级组织 | 当前组织父级 |
| 组织负责人 | 当前组织负责人 |
| 联系方式 | 组织负责人或组织联系方式 |
| 启用状态 | 当前组织启用或停用 |
| 排序 | 同级排序 |
| 组织说明 | 组织用途说明 |
| 创建时间 | 组织创建时间 |
| 更新时间 | 最近更新时间 |
右侧下级门店页签:
| 区域 | 展示方式 | 说明 |
| --- | --- | --- |
| 门店查询区域 | 查询表单 | 按门店名称、门店编码、启用状态查询 |
| 门店列表 | 数据表格 + 分页 | 展示当前组织及下级组织范围内的门店 |
门店列表字段:
| 字段 | 说明 |
| --- | --- |
| 门店名称 | 门店组织名称 |
| 门店编码 | 门店组织编码 |
| 所属品牌 | 门店归属品牌组织 |
| 所属大区 | 门店归属大区组织 |
| 所属区域 | 门店归属区域组织 |
| 启用状态 | 启用、停用 |
| 操作 | 查看、编辑、调整归属、启用、停用 |
页面操作:
- 新增下级组织
- 查看下级门店
- 编辑组织
- 调整上级组织
- 启用组织
- 停用组织
### 5.3.8.3 组织新增 / 编辑页
组织新增 / 编辑页用于创建或维护客户下的组织档案。新增和编辑使用同一个页面或弹窗,根据操作模式控制默认值、只读字段和保存规则。
展示方式:
- 采用表单方式展示。
- 不使用表格或 Tab 页签。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 所属客户 | 下拉框 / 客户选择器 / 只读文本 | 客户管理中已启用客户 | 平台用户选择;客户管理员只读显示当前客户 |
| 组织名称 | 文本输入框 | 人工录入 | 必填 |
| 组织简称 | 文本输入框 | 人工录入 | 选填 |
| 组织编码 | 文本输入框 | 系统生成或人工录入 | 必填,当前客户下唯一 |
| 组织类型 | 下拉框 | 系统字典:公司、分公司、部门、品牌、大区、区域、门店、平台商户、其他 | 必填 |
| 上级组织 | 树形选择器 | 当前客户组织树 | 新增模式必填,新增下级组织时系统默认带入 |
| 组织负责人 | 用户选择器 | 当前客户下启用用户 | 选填 |
| 联系方式 | 文本输入框 | 人工录入或根据负责人带出 | 选填 |
| 启用状态 | Switch | 人工选择 | 默认启用 |
| 排序 | 数字输入框 | 人工录入 | 选填 |
| 组织说明 | 多行文本框 | 人工录入 | 选填 |
新增模式规则:
- 所属客户、组织名称、组织编码、组织类型为必填。
- 平台用户新增组织时必须先选择客户。
- 客户管理员新增组织时,所属客户默认为当前客户且不可修改。
- 新增下级组织时,上级组织默认带入当前选中组织。
- 新增模式下上级组织必填,不允许新增无上级组织的顶层组织。
- 组织编码可由系统生成或人工录入,保存时校验当前客户下唯一。
- 创建时间、更新时间由系统生成,不在新增表单中录入。
编辑模式规则:
- 所属客户、组织编码、创建时间、更新时间采用只读文本展示。
- 组织编码编辑时不允许修改。
- 组织名称、组织简称、组织类型、上级组织、组织负责人、联系方式、启用状态、排序、组织说明可编辑。
- 启用状态采用 Switch 维护;停用组织时需要提示影响范围。
- 上级组织如在编辑页支持调整,需要执行调整上级组织校验规则。
模式差异:
| 字段 / 规则 | 新增模式 | 编辑模式 |
| --- | --- | --- |
| 所属客户 | 平台用户选择;客户管理员只读当前客户 | 只读展示 |
| 组织编码 | 系统生成或人工录入 | 只读展示,不允许修改 |
| 上级组织 | 必填,新增下级时默认带入 | 可按规则调整 |
| 创建时间 | 不展示或系统生成 | 只读展示 |
| 更新时间 | 不展示或系统生成 | 只读展示 |
| 保存结果 | 创建组织档案 | 更新组织档案 |
### 5.3.8.4 调整上级组织弹窗
调整上级组织用于修改组织树层级。
展示方式:
- 采用表单 + 树形选择器方式展示。
- 不使用数据表格。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 当前组织 | 只读文本 | 当前选中组织 | 系统自动带入 |
| 当前上级组织 | 只读文本 | 当前组织父级 | 系统自动带入 |
| 新上级组织 | 树形选择器 | 当前客户组织树 | 必填 |
| 调整原因 | 多行文本框 | 人工录入 | 选填 |
页面规则:
- 新上级组织不能选择当前组织。
- 新上级组织不能选择当前组织的下级组织。
- 新上级组织必须属于同一客户。
- 新上级组织不能为空,组织管理主页面不允许通过调整上级组织生成新的顶层组织。
- 保存后刷新管理组织树。
- 调整上级组织需要记录操作日志。
### 5.3.8.5 操作记录页签
操作记录用于查看组织相关关键变更。
展示方式:
- 位于组织详情区下方。
- 采用数据表格展示。
- 不设置复杂筛选条件,默认展示当前组织相关操作记录。
列表字段:
| 字段 | 说明 |
| --- | --- |
| 操作时间 | 操作发生时间 |
| 操作人 | 执行操作的用户 |
| 操作类型 | 新增、编辑、启用、停用、调整上级组织、负责人变更 |
| 操作内容 | 操作摘要 |
| 操作说明 | 操作原因或备注 |
## 5.3.9 使用导航
### 5.3.9.1 查看管理组织树
操作路径:
```text
基础平台 > 组织管理
```
操作步骤:
1. 进入组织管理主页面。
2. 平台用户选择客户;客户管理员和客户内用户默认当前客户,不展示客户查询条件。
3. 按组织名称、组织编码、组织类型或启用状态查询。
4. 在左侧管理组织树查看组织层级。
5. 点击组织节点,在右侧查看组织详情。
### 5.3.9.2 查看下级门店
操作路径:
```text
基础平台 > 组织管理 > 组织详情 > 下级门店
```
操作步骤:
1. 进入组织管理主页面。
2. 平台用户选择客户;客户管理员和客户内用户默认当前客户。
3. 在左侧管理组织树选择品牌、大区、区域或其他管理组织。
4. 打开右侧下级门店页签。
5. 按门店名称、门店编码或启用状态查询门店。
6. 在门店列表中分页查看当前组织及下级组织范围内的门店。
### 5.3.9.3 新增组织
操作路径:
```text
基础平台 > 组织管理 > 组织新增 / 编辑页
```
操作步骤:
1. 进入组织管理主页面。
2. 选择客户。
3. 选择一个已有组织。
4. 点击新增下级组织。
5. 系统打开组织新增 / 编辑页,并进入新增模式,上级组织默认带入当前选中组织。
6. 填写组织名称、组织编码、组织类型。
7. 按需选择组织负责人,填写联系方式、排序和组织说明。
8. 设置启用状态。
9. 保存组织。
10. 系统刷新管理组织树并记录操作日志。
### 5.3.9.4 编辑组织
操作路径:
```text
基础平台 > 组织管理 > 组织新增 / 编辑页
```
操作步骤:
1. 进入组织管理主页面。
2. 查询并选择目标组织。
3. 点击编辑组织。
4. 系统打开组织新增 / 编辑页,并进入编辑模式。
5. 修改组织名称、组织简称、组织类型、上级组织、组织负责人、联系方式、启用状态、排序或组织说明。
6. 保存修改。
7. 系统刷新组织详情并记录操作日志。
### 5.3.9.5 调整上级组织
操作路径:
```text
基础平台 > 组织管理 > 组织树 > 调整上级组织
```
操作步骤:
1. 进入组织管理主页面。
2. 查询并选择目标组织。
3. 点击调整上级组织。
4. 在弹窗中选择新上级组织。
5. 系统校验是否同一客户、是否选择自身或下级组织。
6. 保存调整。
7. 系统刷新管理组织树并记录操作日志。
### 5.3.9.6 启用 / 停用组织
操作路径:
```text
基础平台 > 组织管理 > 组织树 > 启用 / 停用
```
操作步骤:
1. 进入组织管理主页面。
2. 查询并选择目标组织。
3. 点击启用或停用。
4. 停用组织时,系统提示停用影响。
5. 确认操作。
6. 系统更新组织状态并记录操作日志。
停用影响:
- 停用组织不可继续分配给新用户。
- 停用组织不可继续作为新增角色数据范围。
- 停用组织不删除历史组织档案。
- 停用组织不影响历史业务数据归属。
## 5.3.10 验收标准
- 可按客户维护管理组织树。
- 平台用户可选择客户查看组织;客户管理员只能查看和维护本客户组织。
- 组织编码在同一客户下唯一,重复时不允许保存。
- 可在已有组织下新增下级组织。
- 顶层组织由客户初始化流程创建,组织管理主页面不提供新增顶层组织按钮。
- 可编辑组织名称、简称、类型、负责人、联系方式、启用状态、排序和说明。
- 可调整组织上级,且不能调整到其他客户、自己或自己的下级组织下。
- 可启用和停用组织。
- 停用组织后不可继续分配给新用户。
- 停用组织后不可继续作为新增角色数据范围。
- 组织负责人只能选择当前客户下启用用户。
- 组织管理主页面采用查询区域 + 左侧管理组织树 + 右侧详情区展示。
- 客户管理员和客户内用户进入组织管理主页面时,默认当前客户,不展示客户查询条件。
- 左侧管理组织树默认不展示门店及其下级节点。
- 组织类型为门店的组织保存后进入门店列表和门店检索结果,不进入左侧管理组织树默认展示范围。
- 门店通过右侧下级门店页签的查询区域 + 数据表格 + 分页展示。
- 新增组织、编辑组织复用组织新增 / 编辑页,并采用表单方式展示。
- 调整上级组织采用表单 + 树形选择器方式展示。
- 操作记录采用数据表格展示。
- 组织新增、编辑、启用、停用、调整上级组织、负责人变更均生成操作日志。

View File

@@ -0,0 +1,829 @@
# 5.4 用户与账号管理
本文档从《基础平台产品设计》第 5 章拆分而来,用于独立描述基础平台功能模块的业务需求、规则和验收标准。
上级文档:[基础平台产品设计](../基础平台产品设计.md)
## 5.4.1 功能说明
用户与账号管理用于维护基础平台全局自然人档案、登录账号、第三方登录账号、自然人与客户的绑定关系、用户在客户下的所属组织、默认组织和角色分配,是统一登录、权限控制、数据范围控制和操作审计的基础。
用户是全局唯一的自然人档案,账号是用户登录系统的身份标识,客户绑定关系表达自然人在哪些客户下具备访问身份。用户、账号、客户绑定关系需要分离建模:一个自然人档案可以绑定多个客户,也可以绑定一个或多个登录账号;登录账号可以来自基础平台账号,也可以来自微信、企业微信、钉钉、飞书等第三方身份来源。
## 5.4.2 功能范围
- 查询用户列表
- 查看用户详情
- 新增用户
- 编辑用户
- 启用 / 停用用户
- 创建平台账号
- 绑定第三方账号
- 解绑账号
- 启用 / 停用账号
- 重置平台账号密码
- 维护用户客户绑定关系
- 维护用户在客户下的所属组织
- 设置默认组织
- 分配角色
- 查看用户操作记录
## 5.4.3 字段要求
用户基础信息是全局自然人档案,不直接表达用户在某个客户下的组织、角色和权限。
用户基础信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 用户姓名 | 用户真实姓名或业务显示名称 | 是 |
| 手机号 | 用户手机号,全局唯一 | 是 |
| 全局用户状态 | 自然人档案全局状态,启用、停用 | 是 |
| 绑定客户数 | 当前自然人已绑定的客户数量 | 否 |
| 绑定账号数 | 当前自然人已绑定的登录账号数量 | 否 |
| 最近登录时间 | 用户最近一次登录时间 | 否 |
| 创建时间 | 用户档案创建时间 | 是 |
| 更新时间 | 用户档案最近更新时间 | 是 |
### 5.4.3.1 客户绑定字段
客户绑定信息用于表达一个全局自然人档案在某个客户下的身份、组织归属、默认组织和客户内状态。
客户绑定信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 所属客户 | 自然人绑定的客户 | 是 |
| 所属组织 | 用户归属组织,可多选 | 是 |
| 默认组织 | 用户登录后的默认组织 | 是 |
| 客户内用户状态 | 该自然人在当前客户下的启用、停用状态 | 是 |
| 是否客户管理员 | 是否具备客户级管理权限 | 否 |
| 绑定时间 | 自然人与客户建立绑定关系的时间 | 是 |
| 更新时间 | 客户绑定关系最近更新时间 | 是 |
### 5.4.3.2 登录账号字段
登录账号信息作为用户详情下的独立账号信息维护,不作为用户基础档案字段直接维护。
登录账号信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 所属用户 | 登录账号绑定的用户 | 是 |
| 账号类型 | 平台账号、微信、企业微信、钉钉、飞书、其他 | 是 |
| 登录标识 | 用于登录识别的账号、手机号、邮箱、openId、unionId 或第三方用户 ID | 是 |
| 账号名称 | 第三方账号昵称或平台账号名称 | 否 |
| 绑定状态 | 已绑定、已解绑 | 是 |
| 启用状态 | 启用、停用 | 是 |
| 绑定时间 | 账号绑定时间 | 是 |
| 最近登录时间 | 该账号最近一次登录时间 | 否 |
### 5.4.3.3 登录账号规则
登录账号用于用户登录基础平台。
账号规则:
- 登录账号记录在基础平台全局唯一。
- 平台账号的登录标识在基础平台全局唯一。
- 第三方账号的登录标识在同一账号类型下全局唯一。
- 一个用户可以绑定多个账号。
- 一个账号同一时间只能绑定一个用户。
- 新增自然人档案时,系统默认以手机号创建并绑定一个平台账号,平台账号登录标识默认等于手机号。
- 登录账号创建或绑定后原则上不允许修改登录标识。
- 登录账号不得与已停用账号重复绑定给其他用户。
- 停用自然人档案后,该自然人下所有账号不可继续登录。
- 停用账号后,仅该账号不可继续登录,不影响同一用户下其他启用账号。
- 登录账号仅用于登录认证、日志追踪和系统识别,不承载组织、角色、门店等业务含义。
账号校验要求:
- 新增平台账号时,系统需要校验登录标识是否已存在。
- 绑定第三方账号时,系统需要校验该第三方账号是否已绑定其他用户。
- 登录标识为空、重复或格式不符合规则时,不允许保存账号。
- 客户管理员为本客户绑定自然人或创建账号时,也需要执行账号唯一性校验。
### 5.4.3.4 账号类型定义
基础平台 1.0 支持以下账号类型:
| 账号类型 | 定义 | 说明 |
| --- | --- | --- |
| 平台账号 | 基础平台自有登录账号 | 支持账号密码登录 |
| 微信 | 个人微信身份 | 可用于小程序、公众号或微信开放平台登录 |
| 企业微信 | 企业微信用户身份 | 可用于企业微信组织内用户登录 |
| 钉钉 | 钉钉用户身份 | 可用于钉钉组织内用户登录 |
| 飞书 | 飞书用户身份 | 可用于飞书组织内用户登录 |
| 其他 | 其他第三方身份来源 | 后续按项目扩展 |
业务规则:
- 第三方账号是否启用,取决于基础平台是否完成对应登录来源接入。
- 第三方账号绑定用户后,登录成功仍需要进入基础平台统一认证鉴权流程。
- 第三方账号只解决身份识别,不直接决定用户可访问的应用、菜单、操作和数据范围。
- 第三方账号解绑后,不删除用户档案。
### 5.4.3.5 手机号规则
手机号用于自然人唯一识别、用户联系、账号找回、短信验证和客户内部用户识别。
业务规则:
- 手机号在基础平台全局唯一。
- 不允许不同客户下创建相同手机号的不同自然人档案。
- 当某个客户新增用户时,如果手机号已存在,系统应识别为已有自然人档案,并引导将该自然人绑定到当前客户,而不是创建重复自然人档案。
- 新增自然人档案时,手机号默认作为平台账号登录标识使用,需要同时满足平台账号全局唯一规则。
- 手机号变更不自动修改平台账号登录标识,除非用户确认同步变更对应平台账号。
## 5.4.4 所属组织与默认组织
### 5.4.4.1 功能说明
所属组织用于表达用户在客户组织树中的归属关系。默认组织用于确定用户登录后的默认组织上下文。
### 5.4.4.2 功能范围
- 为用户选择一个或多个所属组织。
- 设置用户默认组织。
- 修改用户所属组织。
- 修改用户默认组织。
- 查看用户所属组织列表。
### 5.4.4.3 业务规则
- 自然人必须通过客户绑定关系归属于一个或多个客户。
- 自然人在每个已绑定客户下必须至少归属于一个启用状态组织。
- 自然人在同一客户下可归属于多个组织。
- 自然人在每个已绑定客户下必须有且仅有一个默认组织。
- 默认组织必须来自当前客户下用户所属组织范围。
- 停用组织不可新增分配给用户。
- 已分配给用户的组织被停用后,用户历史归属保留,但系统应提示该组织已停用。
- 用户切换组织时,业务应用获取到的当前组织和数据范围应随之变化。
- 所属组织变更需要记录操作日志。
## 5.4.5 角色分配
### 5.4.5.1 功能说明
角色分配用于为用户授予应用、菜单、操作权限和数据范围。
### 5.4.5.2 功能范围
- 查看用户已分配角色。
- 为用户新增角色。
- 移除用户角色。
- 查看角色类型、所属应用、数据范围。
- 查看角色分配时间和分配人。
### 5.4.5.3 业务规则
- 只能为用户分配当前客户可用角色。
- 停用角色不可新增分配给用户。
- 用户可拥有多个角色。
- 多角色功能权限取并集。
- 数据范围合并规则以角色管理模块为准。
- 客户未开通应用时,不应向用户分配该应用角色。
- 角色分配和移除需要记录操作日志。
## 5.4.6 启用 / 停用用户
### 5.4.6.1 功能说明
启用 / 停用用户用于控制用户是否可登录基础平台和访问业务应用。
### 5.4.6.2 业务规则
- 停用自然人档案后,该自然人下所有账号不可登录基础平台。
- 停用自然人档案后,该自然人原 Token 在下一次认证鉴权时应失效。
- 停用自然人档案不删除用户档案、客户绑定关系、历史组织归属、历史角色分配和历史操作日志。
- 停用自然人档案不自动解绑或释放该自然人下登录账号。
- 停用客户绑定关系后,该自然人不可再以该客户身份访问基础平台和业务应用,但不影响其在其他客户下的访问身份。
- 停用客户管理员时,需要校验该客户是否仍至少保留一个启用状态客户管理员。
- 启用自然人档案前,需要确认账号信息完整。
- 启用客户绑定关系前,需要确认所属客户启用、默认组织有效、账号信息完整。
- 自然人档案启停、客户绑定关系启停需要记录操作日志。
## 5.4.7 登录账号管理
### 5.4.7.1 功能说明
登录账号管理用于为用户创建平台账号、绑定第三方账号、解绑账号、启用 / 停用账号,以及重置平台账号密码。
### 5.4.7.2 功能范围
- 查看用户已绑定账号。
- 创建平台账号。
- 绑定第三方账号。
- 解绑账号。
- 启用 / 停用账号。
- 重置平台账号密码。
- 查看账号最近登录时间。
### 5.4.7.3 业务规则
- 一个用户可以绑定多个账号。
- 一个账号同一时间只能绑定一个用户。
- 新增自然人档案时,系统默认创建并绑定一个平台账号,登录标识默认为用户手机号。
- 用户至少应有一个启用状态的登录账号,特殊导入或待激活用户除外。
- 平台账号支持密码重置。
- 第三方账号不在基础平台内重置密码。
- 停用某个账号后,该账号不可继续登录,但不影响同一用户下其他启用账号。
- 解绑账号后,该账号不可继续登录该用户身份。
- 解绑用户最后一个启用账号时,需要提示用户可能无法登录。
- 平台账号创建、账号绑定、解绑、启用、停用、平台账号密码重置需要记录操作日志。
## 5.4.8 密码与账号安全
### 5.4.8.1 功能说明
密码与账号安全用于支持平台账号初始登录、平台账号密码重置和账号访问控制。
### 5.4.8.2 功能范围
- 设置平台账号初始密码。
- 系统生成平台账号初始密码。
- 重置平台账号密码。
- 要求用户通过平台账号首次登录时修改密码。
- 查看最近登录时间。
### 5.4.8.3 业务规则
- 新增自然人档案时,系统默认创建平台账号并将登录标识设置为用户手机号。
- 用户需要登录基础平台时,必须至少绑定一个启用状态账号。
- 初始密码可由系统生成或人工设置,具体方式按平台配置。
- 重置平台账号密码后,用户下次通过该平台账号登录应按安全策略要求修改密码。
- 平台管理员、客户管理员或具备用户管理权限的用户可重置平台账号密码。
- 用户不可查看其他用户密码。
- 密码规则、复杂度、有效期等安全策略由基础配置管理统一维护。
- 平台账号密码重置需要记录操作日志。
## 5.4.9 业务规则
- 自然人档案全局唯一。
- 一个自然人档案可以绑定多个客户。
- 手机号在基础平台全局唯一。
- 客户绑定关系按客户隔离。
- 平台用户可按授权范围管理多个客户下的用户绑定关系。
- 客户管理员只能管理本客户下的用户绑定关系。
- 普通业务用户不可访问用户与账号管理页面。
- 用户和账号分离维护。
- 平台账号登录标识在基础平台全局唯一。
- 第三方账号登录标识在同一账号类型下全局唯一。
- 自然人在每个客户下可属于多个组织。
- 自然人在每个客户下必须有一个默认组织。
- 是否客户管理员在用户与账号管理中只读展示,客户管理员身份的设置、取消和至少保留一个启用状态客户管理员的规则以客户管理模块为准。
- 用户最终权限由客户应用开通、用户角色、菜单操作权限和数据范围共同决定。
- 用户离职或停用不删除历史操作日志。
## 5.4.10 界面设计
### 5.4.10.1 功能入口与访问权限
用户与账号管理作为基础平台的全局自然人档案和客户绑定关系管理功能,建议放置在基础平台左侧菜单:
```text
基础平台
└── 用户与账号管理
```
页面访问规则:
- 平台超级管理员、实施人员、具备用户管理权限的平台用户可维护全局自然人档案和授权客户下的用户绑定关系。
- 客户管理员只能维护本客户下的用户绑定关系;如手机号已存在,只能将已有自然人绑定到本客户,不能创建重复自然人档案。
- 普通业务用户不可访问用户与账号管理页面。
- 无用户管理权限的用户不展示用户与账号管理菜单。
### 5.4.10.2 用户列表页
点击基础平台 > 用户与账号管理后,进入用户列表页。
展示方式:
- 平台用户进入页面后,顶部展示客户选择器和用户查询条件。
- 客户管理员或归属于某个客户的用户进入页面后,系统默认当前客户,不展示客户查询条件。
- 用户列表采用查询区域 + 数据表格展示。
- 查询条件较多时支持展开 / 收起。
- 查询按钮作为查询区域最后一个表单元素。
简化版原型图:
```text
┌──────────────────────────────────────────────────────────────────────────────┐
│ 基础平台 > 用户与账号管理 [新增用户] │
├──────────────────────────────────────────────────────────────────────────────┤
│ 客户:[客户选择器/当前客户只读] 姓名:[ ] 登录标识:[ ] │
│ 手机号:[ ] 所属组织:[组织选择器] 角色:[全部 v] 客户内状态:[全部 v]│
│ [查询] [重置] │
├──────────────────────────────────────────────────────────────────────────────┤
│ 用户列表 │
│ ┌────────┬──────────┬──────────┬──────────┬──────────┬────────┐ │
│ │ 姓名 │ 手机号 │ 默认组织 │ 绑定账号 │ 客户状态 │ 操作 │ │
│ ├────────┼──────────┼──────────┼──────────┼──────────┼────────┤ │
│ │ 张三 │ 138**** │ 华东大区 │ 2 │ 启用 │ 查看 │ │
│ │ 李四 │ 139**** │ 上海区域 │ 1 │ 启用 │ 编辑 │ │
│ └────────┴──────────┴──────────┴──────────┴──────────┴────────┘ │
│ < 1 / 20 > │
└──────────────────────────────────────────────────────────────────────────────┘
```
客户选择规则:
| 用户类型 | 客户选择方式 | 说明 |
| --- | --- | --- |
| 平台用户 | 客户选择器 | 需要先选择客户,再查看该客户用户 |
| 实施人员 | 客户选择器 | 可按项目需要选择客户 |
| 客户管理员 | 只读当前客户 | 默认当前客户,不允许切换 |
| 客户普通管理用户 | 只读当前客户 | 默认当前客户,不允许切换 |
查询条件:
| 查询项 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 用户姓名 | 文本输入框 | 人工录入 | 支持模糊查询 |
| 登录标识 | 文本输入框 | 人工录入 | 支持按平台账号、手机号、第三方账号标识查询 |
| 手机号 | 文本输入框 | 人工录入 | 支持精确或模糊查询 |
| 所属组织 | 树形选择器 | 当前客户组织树和门店选择器 | 可为空 |
| 角色 | 下拉框 | 当前客户可用角色 | 可为空 |
| 客户内用户状态 | 下拉框 | 系统字典:全部、启用、停用 | 默认全部 |
| 查询 | 按钮 | 用户点击 | 作为查询区域最后一个表单元素 |
列表字段:
| 字段 | 说明 |
| --- | --- |
| 用户姓名 | 用户显示姓名 |
| 手机号 | 用户手机号 |
| 绑定客户 | 平台用户查看时展示;自然人绑定多个客户时展示数量或标签 |
| 默认组织 | 用户默认组织 |
| 角色数量 | 用户已分配角色数量 |
| 绑定账号数 | 用户已绑定账号数量 |
| 是否客户管理员 | 是、否 |
| 全局用户状态 | 自然人档案启用、停用 |
| 客户内用户状态 | 当前客户绑定关系启用、停用 |
| 最近登录时间 | 最近一次登录时间 |
| 操作 | 查看、编辑、分配角色、账号管理、启用、停用 |
### 5.4.10.3 用户新增 / 编辑页
用户新增 / 编辑页用于创建或维护全局自然人档案,并在指定客户下建立或维护客户绑定关系。新增和编辑使用同一个页面或弹窗,根据操作模式控制默认值、只读字段和保存规则。
展示方式:
- 采用表单方式展示。
- 表单分为自然人基础信息、客户绑定信息、默认平台账号信息。
- 新增用户时,系统先按手机号识别全局自然人档案;手机号不存在时创建自然人档案,手机号已存在时绑定已有自然人到当前客户。
- 创建新的自然人档案时系统默认按手机号创建并绑定平台账号;其他账号在用户详情页登录账号页签中维护。
- 不在新增 / 编辑页直接配置角色,角色在用户详情页角色页签中维护。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 绑定客户 | 客户选择器 / 只读文本 | 客户管理中已启用客户 | 平台用户选择;客户管理员只读当前客户 |
| 用户姓名 | 文本输入框 | 人工录入 | 必填 |
| 手机号 | 文本输入框 | 人工录入 | 必填,全局唯一 |
| 所属组织 | 树形多选器 | 当前客户启用组织,门店通过门店选择器选择 | 必填 |
| 默认组织 | 下拉框 / 树形选择器 | 用户已选所属组织 | 必填 |
| 全局用户状态 | Switch | 人工选择 | 默认启用,新建自然人时展示 |
| 客户内用户状态 | Switch | 人工选择 | 默认启用 |
| 备注 | 多行文本框 | 人工录入 | 选填 |
默认平台账号字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 创建默认平台账号 | Switch | 系统默认开启 | 新增用户时默认开启;特殊导入或待激活用户可按权限关闭 |
| 登录标识 | 只读文本 | 默认等于手机号 | 手机号变更时同步刷新 |
| 初始密码 | 密码输入框 / 系统生成 | 人工录入或系统生成 | 按平台密码策略控制 |
| 首次登录修改密码 | Switch | 人工选择 | 默认开启 |
新增模式规则:
- 绑定客户、用户姓名、手机号、所属组织、默认组织为必填。
- 平台用户新增用户时必须先选择绑定客户。
- 客户管理员新增用户时,绑定客户默认为当前客户且不可修改。
- 手机号保存时校验全局唯一;如手机号已存在,则不创建新的自然人档案,而是进入已有自然人绑定当前客户的流程。
- 默认组织必须从所属组织中选择。
- 新增自然人档案时,系统默认创建并绑定一个平台账号,平台账号登录标识默认为手机号。
- 手机号作为平台账号登录标识时,需要同时校验平台账号全局唯一。
- 默认平台账号创建成功后,账号类型为平台账号,绑定用户为当前自然人档案。
- 关闭创建默认平台账号仅适用于特殊导入、待激活用户或经授权的管理场景。
- 保存成功后,可在用户详情页登录账号页签继续绑定第三方账号或维护其他登录账号。
- 新增用户时不直接分配角色,保存成功后可在用户详情页角色页签分配角色。
编辑模式规则:
- 绑定客户、创建时间、更新时间采用只读文本展示。
- 用户姓名、手机号、所属组织、默认组织、全局用户状态、客户内用户状态、备注可编辑。
- 修改所属组织后,如默认组织不在新的所属组织范围内,需要重新选择默认组织。
- 停用自然人档案时需要提示所有客户身份、登录账号和 Token 影响。
- 停用客户绑定关系时需要提示当前客户访问影响,但不影响该自然人在其他客户下的身份。
模式差异:
| 字段 / 规则 | 新增模式 | 编辑模式 |
| --- | --- | --- |
| 绑定客户 | 平台用户选择;客户管理员只读当前客户 | 只读展示 |
| 所属组织 | 必填 | 可编辑 |
| 默认组织 | 必填,来自所属组织 | 可编辑,必须来自所属组织 |
| 登录账号 | 默认按手机号创建平台账号 | 账号在用户详情页登录账号页签维护 |
| 角色 | 不在新增页配置 | 不在编辑页配置,通过用户详情维护 |
| 保存结果 | 创建自然人档案并绑定客户,或绑定已有自然人到当前客户 | 更新自然人档案或当前客户绑定关系 |
### 5.4.10.4 用户详情页
用户详情页用于查看用户基础信息、客户绑定关系、所属组织、登录账号、已分配角色、用户状态和操作记录。
展示方式:
- 上方为用户基础信息只读区。
- 下方为 Tab 页签。
- Tab 页签包括:所属组织、登录账号、已分配角色、操作记录。
详情页区域:
| 区域 | 展示方式 | 主要内容 |
| --- | --- | --- |
| 上方基础信息区 | 只读信息区 | 用户姓名、手机号、绑定客户、默认组织、全局用户状态、客户内用户状态、绑定账号数、最近登录时间 |
| 下方页签区 | Tab 页签 | 所属组织、登录账号、已分配角色、操作记录 |
详情页主操作按钮:
- 编辑用户
- 创建平台账号
- 绑定第三方账号
- 分配角色
- 启用用户
- 停用用户
所属组织页签:
| 字段 | 说明 |
| --- | --- |
| 组织名称 | 用户所属组织 |
| 组织编码 | 所属组织编码 |
| 组织类型 | 所属组织类型 |
| 是否默认组织 | 是、否 |
| 启用状态 | 组织启用状态 |
登录账号页签:
| 字段 | 说明 |
| --- | --- |
| 账号类型 | 平台账号、微信、企业微信、钉钉、飞书、其他 |
| 登录标识 | 平台账号、手机号、邮箱、openId、unionId 或第三方用户 ID |
| 账号名称 | 第三方账号昵称或平台账号名称 |
| 绑定状态 | 已绑定、已解绑 |
| 启用状态 | 启用、停用 |
| 绑定时间 | 账号绑定时间 |
| 最近登录时间 | 该账号最近一次登录时间 |
| 操作 | 重置密码、启用、停用、解绑;其中重置密码仅平台账号展示 |
已分配角色页签:
| 字段 | 说明 |
| --- | --- |
| 角色名称 | 用户已分配角色 |
| 角色类型 | 平台角色、客户角色、应用角色 |
| 所属应用 | 角色归属应用 |
| 数据范围 | 角色对应数据范围 |
| 分配人 | 执行分配的用户 |
| 分配时间 | 角色分配时间 |
| 操作 | 移除 |
操作记录页签:
| 字段 | 说明 |
| --- | --- |
| 操作时间 | 操作发生时间 |
| 操作人 | 执行操作的用户 |
| 操作类型 | 新增、编辑、启用、停用、创建平台账号、绑定账号、解绑账号、账号停用、重置平台账号密码、分配角色、移除角色、组织变更 |
| 操作内容 | 操作摘要 |
| 操作说明 | 操作原因或备注 |
### 5.4.10.5 登录账号维护
登录账号维护用于创建平台账号、绑定第三方账号、启用 / 停用账号、解绑账号和重置平台账号密码。
展示方式:
- 位于用户详情页登录账号 Tab 页签。
- 已绑定账号采用数据表格展示。
- 创建平台账号、绑定第三方账号、重置平台账号密码采用表单弹窗。
创建平台账号弹窗字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 用户姓名 | 只读文本 | 当前用户 | 系统自动带入 |
| 账号类型 | 只读文本 | 平台账号 | 系统自动带入 |
| 登录标识 | 文本输入框 | 人工录入或根据手机号带出 | 必填,平台全局唯一 |
| 初始密码 | 密码输入框 / 系统生成 | 人工录入或系统生成 | 必填或系统生成 |
| 启用状态 | Switch | 人工选择 | 默认启用 |
| 首次登录修改密码 | Switch | 人工选择 | 默认开启 |
绑定第三方账号弹窗字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 用户姓名 | 只读文本 | 当前用户 | 系统自动带入 |
| 账号类型 | 下拉框 | 微信、企业微信、钉钉、飞书、其他 | 必填 |
| 登录标识 | 文本输入框 | 第三方账号标识 | 必填,同一账号类型下唯一 |
| 账号名称 | 文本输入框 | 第三方账号昵称或名称 | 选填 |
| 启用状态 | Switch | 人工选择 | 默认启用 |
页面规则:
- 平台账号登录标识在基础平台全局唯一。
- 第三方账号登录标识在同一账号类型下全局唯一。
- 一个账号同一时间只能绑定一个用户。
- 第三方账号不在基础平台内重置密码。
- 解绑账号后,该账号不可继续登录该用户身份。
- 平台账号创建、账号绑定、解绑、启用、停用、平台账号密码重置需要记录操作日志。
### 5.4.10.6 分配角色弹窗
分配角色弹窗用于维护用户角色。
展示方式:
- 采用数据表格 + 表单弹窗方式展示。
- 当前已分配角色在用户详情页已分配角色页签展示。
- 点击分配角色后,打开角色选择弹窗。
角色选择字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 应用 | 下拉框 | 当前客户已开通应用 | 可为空 |
| 角色名称 | 文本输入框 | 人工录入 | 支持模糊查询 |
| 角色类型 | 下拉框 | 平台角色、客户角色、应用角色 | 可为空 |
| 角色列表 | 表格 + 多选框 | 当前客户可用且启用的角色 | 可多选 |
页面规则:
- 只能选择启用状态角色。
- 只能选择当前客户可用角色。
- 客户未开通应用时,不展示该应用角色。
- 保存后刷新已分配角色页签。
- 分配角色和移除角色需要记录操作日志。
### 5.4.10.7 重置密码弹窗
重置密码弹窗用于为用户下某个平台账号重置登录密码。
展示方式:
- 采用表单弹窗方式展示。
- 不使用表格或 Tab 页签。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 用户姓名 | 只读文本 | 当前用户 | 系统自动带入 |
| 登录标识 | 只读文本 | 当前平台账号登录标识 | 系统自动带入 |
| 密码生成方式 | 单选框 | 系统生成、人工设置 | 必填 |
| 新密码 | 密码输入框 | 人工录入 | 人工设置时必填 |
| 首次登录修改密码 | Switch | 人工选择 | 默认开启 |
页面规则:
- 仅平台账号支持重置密码。
- 第三方账号不展示重置密码操作。
- 重置密码后该平台账号原密码失效。
- 系统生成密码时,需要按安全策略生成。
- 重置密码后需要提示用户登录影响。
- 重置密码需要记录操作日志。
## 5.4.11 使用导航
### 5.4.11.1 查询用户
操作路径:
```text
基础平台 > 用户与账号管理
```
操作步骤:
1. 进入用户列表页。
2. 平台用户选择客户;客户管理员和客户普通管理用户默认当前客户,不展示客户查询条件。
3. 按用户姓名、登录标识、手机号、所属组织、角色或客户内用户状态查询。
4. 在用户列表中查看当前客户下已绑定的自然人。
### 5.4.11.2 新增用户
操作路径:
```text
基础平台 > 用户与账号管理 > 用户新增 / 编辑页
```
操作步骤:
1. 进入用户列表页。
2. 点击新增用户。
3. 系统打开用户新增 / 编辑页,并进入新增模式。
4. 填写用户姓名、手机号。
5. 系统按手机号校验是否已存在全局自然人档案。
6. 如手机号不存在,创建新的自然人档案;如手机号已存在,展示已有自然人摘要并引导绑定到当前客户。
7. 选择当前客户下的所属组织和默认组织。
8. 按需填写备注。
9. 新建自然人时,确认默认平台账号信息,登录标识默认等于手机号。
10. 新建自然人时,设置初始密码或选择系统生成初始密码。
11. 保存用户。
12. 系统创建自然人档案并绑定当前客户,或将已有自然人绑定到当前客户。
13. 系统记录操作日志。
14. 如需要绑定微信、企业微信、钉钉、飞书等第三方账号,继续进入用户详情页的登录账号页签维护。
### 5.4.11.3 编辑用户
操作路径:
```text
基础平台 > 用户与账号管理 > 用户新增 / 编辑页
```
操作步骤:
1. 进入用户列表页。
2. 查询并选择目标用户。
3. 点击编辑用户。
4. 系统打开用户新增 / 编辑页,并进入编辑模式。
5. 修改用户姓名、手机号、当前客户下的所属组织、默认组织、全局用户状态、客户内用户状态或备注。
6. 保存修改。
7. 系统刷新用户详情并记录操作日志。
### 5.4.11.4 查看用户详情
操作路径:
```text
基础平台 > 用户与账号管理 > 用户详情
```
操作步骤:
1. 进入用户列表页。
2. 查询目标用户。
3. 点击查看或用户姓名。
4. 进入用户详情页。
5. 查看基础信息、所属组织、登录账号、已分配角色和操作记录。
### 5.4.11.5 创建平台账号
操作路径:
```text
基础平台 > 用户与账号管理 > 用户详情 > 登录账号 > 创建平台账号
```
操作步骤:
1. 进入用户详情页。
2. 打开登录账号页签。
3. 点击创建平台账号。
4. 填写登录标识。
5. 设置初始密码或选择系统生成初始密码。
6. 设置账号启用状态和首次登录修改密码。
7. 保存账号。
8. 系统刷新登录账号页签并记录操作日志。
### 5.4.11.6 绑定第三方账号
操作路径:
```text
基础平台 > 用户与账号管理 > 用户详情 > 登录账号 > 绑定第三方账号
```
操作步骤:
1. 进入用户详情页。
2. 打开登录账号页签。
3. 点击绑定第三方账号。
4. 选择账号类型:微信、企业微信、钉钉、飞书或其他。
5. 填写第三方登录标识和账号名称。
6. 保存绑定关系。
7. 系统校验该第三方账号未绑定其他用户。
8. 系统刷新登录账号页签并记录操作日志。
### 5.4.11.7 账号启用 / 停用 / 解绑
操作路径:
```text
基础平台 > 用户与账号管理 > 用户详情 > 登录账号
```
操作步骤:
1. 进入用户详情页。
2. 打开登录账号页签。
3. 查询目标账号。
4. 点击启用、停用或解绑。
5. 停用或解绑账号时,系统提示登录影响。
6. 确认操作。
7. 系统刷新登录账号页签并记录操作日志。
### 5.4.11.8 分配角色
操作路径:
```text
基础平台 > 用户与账号管理 > 用户详情 > 分配角色
```
操作步骤:
1. 进入用户详情页。
2. 点击分配角色。
3. 系统打开分配角色弹窗。
4. 按应用、角色名称或角色类型查询角色。
5. 勾选需要分配的角色。
6. 保存角色分配。
7. 系统刷新已分配角色页签并记录操作日志。
### 5.4.11.9 重置平台账号密码
操作路径:
```text
基础平台 > 用户与账号管理 > 用户详情 > 登录账号 > 重置密码
```
操作步骤:
1. 进入用户详情页。
2. 打开登录账号页签。
3. 选择平台账号。
4. 点击重置密码。
5. 系统打开重置密码弹窗。
6. 选择系统生成或人工设置密码。
7. 设置是否首次登录修改密码。
8. 保存。
9. 系统重置该平台账号密码并记录操作日志。
### 5.4.11.10 启用 / 停用用户
操作路径:
```text
基础平台 > 用户与账号管理 > 用户列表 > 启用 / 停用
```
操作步骤:
1. 进入用户列表页。
2. 查询目标用户。
3. 点击启用或停用。
4. 停用用户时,系统提示停用影响,并区分停用全局自然人档案或停用当前客户绑定关系。
5. 确认操作。
6. 系统更新全局用户状态或客户内用户状态,并记录操作日志。
停用影响:
- 停用全局自然人档案后,该自然人下所有账号不可继续登录基础平台。
- 停用当前客户绑定关系后,该自然人不可再以当前客户身份访问基础平台和业务应用,但不影响其他客户身份。
- 用户已登录 Token 在下一次认证鉴权时失效,或在切换到被停用客户身份时失效。
- 用户历史客户绑定关系、组织归属、账号绑定关系、角色分配和操作日志不删除。
- 如停用客户管理员,需要校验客户至少保留一个启用状态客户管理员。
## 5.4.12 验收标准
- 可按客户查询用户列表,列表展示当前客户下已绑定的自然人。
- 平台用户可选择客户查看用户绑定关系;客户管理员只能查看和维护本客户用户绑定关系。
- 客户管理员和客户普通管理用户进入用户列表页时,默认当前客户,不展示客户查询条件。
- 自然人档案全局唯一。
- 一个自然人档案可以绑定多个客户。
- 手机号在基础平台全局唯一,重复手机号不创建新的自然人档案。
- 当前客户新增用户时,如手机号已存在,应支持将已有自然人绑定到当前客户。
- 用户和登录账号分离维护。
- 可新增自然人档案,新增自然人时默认使用手机号创建并绑定平台账号。
- 新增用户时默认平台账号登录标识等于手机号,并校验平台账号全局唯一。
- 新增用户页可设置默认平台账号初始密码或选择系统生成初始密码。
- 可编辑用户姓名、手机号、当前客户下所属组织、默认组织、全局用户状态、客户内用户状态和备注。
- 用户新增、编辑复用用户新增 / 编辑页,并采用表单方式展示。
- 自然人在每个已绑定客户下至少归属于一个启用状态组织。
- 自然人在每个已绑定客户下必须有一个默认组织,且默认组织必须来自当前客户下所属组织。
- 可在用户详情页查看所属组织、登录账号、已分配角色和操作记录。
- 一个用户可绑定多个登录账号。
- 平台账号登录标识在基础平台全局唯一,重复时不允许保存。
- 第三方账号登录标识在同一账号类型下唯一,重复时不允许绑定。
- 支持账号类型:平台账号、微信、企业微信、钉钉、飞书、其他。
- 可创建平台账号。
- 可绑定、解绑第三方账号。
- 可启用、停用单个账号。
- 可重置平台账号密码。
- 第三方账号不展示重置密码操作。
- 可为用户分配和移除角色。
- 只能为用户分配当前客户可用且启用的角色。
- 客户未开通应用时,不可分配该应用角色。
- 停用全局自然人档案后,该用户下所有账号不可登录基础平台。
- 停用客户绑定关系后,该用户不可再以该客户身份访问基础平台和业务应用。
- 停用账号后,仅该账号不可登录,不影响同一用户下其他启用账号。
- 停用用户后,历史客户绑定关系、组织归属、账号绑定关系、角色分配和操作日志不删除。
- 停用客户管理员时,需要校验客户至少保留一个启用状态客户管理员。
- 用户新增、编辑、启用、停用、平台账号创建、账号绑定、账号解绑、账号启停、平台账号密码重置、角色分配、角色移除、组织变更均生成操作日志。

View File

@@ -0,0 +1,72 @@
# 5.5 单点登录与统一认证鉴权
本文档从《基础平台产品设计》第 5 章拆分而来,用于独立描述基础平台功能模块的业务需求、规则和验收标准。
上级文档:[基础平台产品设计](../基础平台产品设计.md)
## 5.5.1 功能说明
单点登录与统一认证鉴权用于支撑用户一次登录后访问多个已授权业务应用,并统一完成所有应用的 Token 认证和鉴权。
基础平台作为统一认证中心,所有接入应用不再各自独立维护登录认证逻辑。业务应用需要根据基础平台返回的认证结果和权限结果,控制用户访问。
详细流程、Token 交互规则和验收口径见:[单点登录与统一认证鉴权设计](../单点登录与统一认证鉴权设计.md)。
## 5.5.2 功能范围
- 用户统一登录
- 用户统一退出
- 登录状态维护
- Token 签发
- Token 校验
- Token 刷新
- Token 失效
- 应用访问鉴权
- 用户身份信息获取
- 当前登录用户信息获取
- 用户授权应用列表获取
- 用户菜单和权限获取
## 5.5.3 业务规则
- 用户登录由基础平台统一完成。
- 用户登录成功后,可访问已开通且已授权的业务应用。
- 用户未登录时,不可访问任何业务应用。
- 用户访问业务应用时,业务应用必须通过基础平台完成 Token 认证鉴权。
- Token 无效、过期、被注销或用户已停用时,业务应用必须拒绝访问。
- 用户退出登录后,已登录应用应同步失效或在下一次认证时失效。
- 客户停用、用户停用、应用停用、客户未开通应用、用户未授权应用时,认证鉴权均不通过。
- 用户权限变更后,应能在合理时间内影响用户后续访问。
- 业务应用不得绕过基础平台独立放行用户访问。
## 5.5.4 鉴权判断维度
基础平台认证鉴权至少需要判断:
- Token 是否有效。
- 用户是否存在且启用。
- 用户所属客户是否启用。
- 应用是否存在且启用。
- 客户是否已开通该应用。
- 用户是否拥有该应用访问权限。
- 用户是否拥有对应菜单、操作或数据范围权限。
## 5.5.5 业务系统接入要求
所有接入基础平台的业务系统均需满足:
- 登录入口统一接入基础平台。
- 用户身份校验统一通过基础平台。
- Token 认证鉴权统一通过基础平台。
- 菜单、权限、数据范围以基础平台授权结果为准。
- 业务系统可保留自身业务权限补充规则,但不得与基础平台授权结果冲突。
## 5.5.6 验收标准
- 用户一次登录后,可访问多个已授权应用。
- 未授权应用不可访问。
- Token 无效或过期时,业务应用拒绝访问。
- 用户停用、客户停用、应用停用后,业务应用拒绝访问。
- 用户退出后,再访问业务应用需要重新登录。
- 各业务应用均通过基础平台完成 Token 认证鉴权。

View File

@@ -0,0 +1,36 @@
# 5.6 统一门户与应用容器
本文档从《基础平台产品设计》第 5 章拆分而来,用于独立描述基础平台功能模块的业务需求、规则和验收标准。
上级文档:[基础平台产品设计](../基础平台产品设计.md)
## 5.6.1 功能说明
统一门户与应用容器用于承载基础平台页面和各业务应用页面。基础平台负责所有业务系统的菜单聚合、业务链接入口、页面框架、Tab 管理、iframe 嵌入和 Token 有效期管理。
业务应用不再独立渲染系统级菜单。业务应用只负责提供自身业务页面,由基础平台通过 iframe 嵌入到右侧内容区。
详细页面结构、容器规则、keepalive 规则和验收口径见:[统一门户与应用容器设计](../统一门户与应用容器设计.md)。
## 5.6.2 页面总体布局
基础平台主页面由三部分组成:
- 头部区域
- 左侧菜单导航栏
- 右侧内容区
右侧内容区用于展示基础平台自身页面和各业务应用 iframe 页面。
## 5.6.3 验收标准
- 基础平台可聚合展示用户有权限访问的所有应用菜单。
- 业务应用不再独立展示系统级菜单。
- 点击业务应用菜单后,可在右侧内容区通过 iframe 打开应用页面。
- 打开的页面可生成 Tab。
- Tab 切换时页面状态可保持。
- 关闭 Tab 后页面状态释放。
- iframe 应用可使用基础平台 Token 访问业务接口。
- Token 刷新后,已打开 iframe 应用可继续访问。
- 用户注销后,已打开 iframe 应用不可继续访问。

View File

@@ -0,0 +1,563 @@
# 5.7 角色管理
本文档从《基础平台产品设计》第 5 章拆分而来,用于独立描述基础平台功能模块的业务需求、规则和验收标准。
上级文档:[基础平台产品设计](../基础平台产品设计.md)
## 5.7.1 功能说明
角色管理用于将应用、菜单、菜单操作权限和数据范围组合成可分配给用户的权限集合。
角色不是用户基础信息。用户基础信息只维护自然人档案、所属组织和默认组织;用户能访问什么应用、菜单、操作和数据,由用户被分配的角色决定。
应用管理负责定义应用、菜单和菜单下的操作权限;角色管理负责引用这些已定义能力进行授权;用户与账号管理负责把角色分配给具体用户。
## 5.7.2 功能范围
- 查询角色列表
- 查看角色详情
- 新增角色
- 编辑角色
- 复制角色
- 启用 / 停用角色
- 配置角色菜单权限
- 配置角色操作权限
- 配置角色数据范围
- 查看已分配用户
- 查看角色操作记录
## 5.7.3 字段要求
角色基础信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 所属客户 | 角色归属客户;平台角色可为空或归属平台 | 条件必填 |
| 角色名称 | 角色展示名称 | 是 |
| 角色编码 | 角色唯一编码 | 是 |
| 角色类型 | 平台角色、客户角色、应用角色 | 是 |
| 所属应用 | 应用角色归属应用 | 条件必填 |
| 角色来源 | 系统预置、自定义 | 是 |
| 是否角色模板 | 是否可作为应用开通后的默认角色模板 | 是 |
| 角色说明 | 角色用途说明 | 否 |
| 启用状态 | 启用、停用 | 是 |
| 创建时间 | 角色创建时间 | 是 |
| 更新时间 | 角色最近更新时间 | 是 |
### 5.7.3.1 角色编码规则
角色编码用于系统识别、权限计算、日志追踪和接口返回,不作为页面主要展示名称。
编码规则:
- 平台角色编码在基础平台全局唯一。
- 客户角色编码在同一客户下唯一。
- 应用角色编码在同一应用下唯一。
- 编码建议采用大写英文字母、数字和下划线组合。
- 系统预置角色编码创建后原则上不允许修改。
- 自定义角色编码创建后原则上不允许修改,避免影响权限引用和日志追踪。
编码示例:
| 角色类型 | 编码示例 | 说明 |
| --- | --- | --- |
| 平台角色 | PLATFORM_ADMIN | 平台超级管理员 |
| 客户角色 | CUSTOMER_ADMIN | 客户管理员 |
| 应用角色 | RECON_FINANCE | 连锁业务对账系统财务角色 |
## 5.7.4 角色类型
基础平台 1.0 支持以下角色类型:
| 角色类型 | 定义 | 维护主体 | 适用范围 |
| --- | --- | --- | --- |
| 平台角色 | 平台内部管理角色 | 平台超级管理员 | 平台管理、客户管理、应用管理、运维管理等平台级功能 |
| 客户角色 | 客户内部通用角色 | 客户管理员 / 实施人员 | 客户下多应用、多组织用户 |
| 应用角色 | 面向某个应用的角色 | 产品管理员 / 客户管理员 | 指定应用下的菜单、操作和数据范围 |
业务说明:
- 平台角色主要用于公司内部平台管理人员,不直接面向客户普通业务用户。
- 客户角色用于客户内部通用管理场景,例如客户管理员、总部财务、区域运营等。
- 应用角色用于某个业务系统内的权限组合,例如对账财务、分账运营、客服主管等。
- 督导不是组织类型,也不是用户基础字段;督导可以作为客户角色或应用角色维护,并通过数据范围配置其负责门店。
## 5.7.5 权限配置
### 5.7.5.1 菜单权限
菜单权限用于控制用户能否在基础平台门户中看到对应菜单,并进入对应业务页面。
业务规则:
- 菜单来源于应用管理中已启用的应用菜单。
- 客户未开通的应用,不可为客户角色授权该应用菜单。
- 停用应用下的菜单不可授权。
- 停用菜单不可授权。
- 授权子菜单时,系统应自动包含其上级菜单的展示权限,保证菜单路径完整。
- 取消上级菜单权限时,应提示是否同步取消下级菜单和操作权限。
### 5.7.5.2 操作权限
操作权限用于控制用户在某个菜单或页面下可执行的具体动作。
业务规则:
- 操作权限来源于应用管理中菜单下配置的操作权限。
- 操作权限必须依附于具体菜单或页面。
- 不允许脱离菜单单独授权操作权限。
- 用户未获得菜单权限时,不可单独获得该菜单下操作权限。
- 菜单下操作权限停用后,不可继续用于新增角色授权。
- 已被角色引用的操作权限停用时,需要在角色权限配置中展示停用状态,并提示管理员处理。
### 5.7.5.3 数据范围
数据范围用于控制用户可查看或操作的数据边界。
基础平台 1.0 支持以下数据范围:
| 数据范围 | 说明 | 选择要求 |
| --- | --- | --- |
| 全部数据 | 当前客户下全部授权数据 | 仅平台角色、客户高权限角色可选 |
| 本组织及下级组织 | 用户默认组织及下级组织数据 | 无需手工选择组织 |
| 本组织 | 用户默认组织数据 | 无需手工选择组织 |
| 指定组织 | 指定组织及可选下级范围 | 需要选择组织 |
| 指定门店 | 指定门店数据 | 需要选择门店 |
| 本人数据 | 用户本人创建、负责或被分配的数据 | 无需手工选择组织 |
业务规则:
- 数据范围必须按客户隔离。
- 指定组织来源于组织管理中的启用组织。
- 指定门店来源于组织管理中组织类型为门店的启用组织,左侧管理组织树默认不展示门店,但数据范围选择器需要支持门店检索和选择。
- 督导负责区域下部分门店时,数据范围应配置为指定门店,或配置为指定组织并明确是否包含下级门店。
- 角色未配置数据范围时,不应默认授予全部数据。
- 多角色用户的数据范围按授权范围合并,但不得突破客户隔离边界。
## 5.7.6 业务规则
- 角色必须归属于平台或某个客户。
- 客户角色只能在所属客户内使用。
- 应用角色必须归属于一个应用。
- 客户未开通某应用时,不可给该客户角色授权该应用菜单和操作权限。
- 系统预置角色可复制为自定义角色。
- 系统预置角色是否允许编辑由平台配置控制1.0 建议只允许复制,不直接编辑核心预置角色。
- 自定义角色可编辑角色名称、说明、菜单权限、操作权限和数据范围。
- 已分配给用户的角色停用后,该角色权限对用户失效。
- 角色停用后不可继续分配给新用户。
- 停用角色不删除历史分配记录和操作日志。
- 删除角色不作为 1.0 必备能力;如需取消使用,通过停用处理。
- 用户拥有多个角色时,菜单权限和操作权限取并集。
- 用户拥有多个角色时,数据范围按角色授权范围合并。
- 权限变更后,用户下次刷新菜单、获取当前用户信息或 Token 重新鉴权时应获得最新权限结果。
## 5.7.7 界面设计
### 5.7.7.1 功能入口与访问权限
角色管理作为基础平台的客户内管理功能,建议放置在基础平台左侧菜单:
```text
基础平台
└── 角色管理
```
页面访问规则:
- 平台超级管理员、实施人员、具备角色管理权限的平台用户可维护平台角色和客户角色。
- 客户管理员只能维护本客户下客户角色和应用角色。
- 产品管理员可维护其负责应用的应用角色模板。
- 普通业务用户不可访问角色管理页面。
- 无角色管理权限的用户不展示角色管理菜单。
### 5.7.7.2 角色列表页
点击基础平台 > 角色管理后,进入角色列表页。
展示方式:
- 平台用户进入页面后,顶部展示客户选择器和角色查询条件。
- 客户管理员或归属于某个客户的用户进入页面后,系统默认当前客户,不展示客户查询条件。
- 角色列表采用查询区域 + 数据表格展示。
- 查询条件较多时支持展开 / 收起。
- 查询按钮作为查询区域最后一个表单元素。
简化版原型图:
```text
┌──────────────────────────────────────────────────────────────────────────────┐
│ 基础平台 > 角色管理 [新增角色] │
├──────────────────────────────────────────────────────────────────────────────┤
│ 客户:[客户选择器/当前客户只读] 角色名称:[ ] 角色编码:[ ] │
│ 角色类型:[全部 v] 所属应用:[全部 v] 启用状态:[全部 v] [查询] [重置] │
├──────────────────────────────────────────────────────────────────────────────┤
│ 角色列表 │
│ ┌────────────┬────────────┬────────┬────────────┬────────┬────────┐ │
│ │ 角色名称 │ 角色编码 │ 类型 │ 所属应用 │ 状态 │ 操作 │ │
│ ├────────────┼────────────┼────────┼────────────┼────────┼────────┤ │
│ │ 客户管理员 │ CUSTOMER...│ 客户 │ - │ 启用 │ 查看 │ │
│ │ 对账财务 │ RECON_FIN │ 应用 │ 对账系统 │ 启用 │ 编辑 │ │
│ └────────────┴────────────┴────────┴────────────┴────────┴────────┘ │
│ < 1 / 20 > │
└──────────────────────────────────────────────────────────────────────────────┘
```
查询条件:
| 查询项 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 所属客户 | 客户选择器 / 只读文本 | 客户管理中已启用客户 | 平台用户选择;客户管理员只读当前客户 |
| 角色名称 | 文本输入框 | 人工录入 | 支持模糊查询 |
| 角色编码 | 文本输入框 | 人工录入 | 支持精确或模糊查询 |
| 角色类型 | 下拉框 | 平台角色、客户角色、应用角色 | 可为空 |
| 所属应用 | 下拉框 | 当前客户已开通应用 / 平台全部应用 | 可为空 |
| 启用状态 | 下拉框 | 全部、启用、停用 | 默认全部 |
| 查询 | 按钮 | 用户点击 | 作为查询区域最后一个表单元素 |
列表字段:
| 字段 | 说明 |
| --- | --- |
| 角色名称 | 角色展示名称 |
| 角色编码 | 角色编码 |
| 所属客户 | 平台用户查看时展示 |
| 角色类型 | 平台角色、客户角色、应用角色 |
| 所属应用 | 应用角色展示所属应用 |
| 角色来源 | 系统预置、自定义 |
| 是否角色模板 | 是、否 |
| 启用状态 | 启用、停用 |
| 已分配用户数 | 当前角色已分配用户数量 |
| 更新时间 | 最近更新时间 |
| 操作 | 查看、编辑、复制、配置权限、启用、停用 |
### 5.7.7.3 角色新增 / 编辑页
角色新增 / 编辑页用于创建或维护角色基础信息。新增和编辑使用同一个页面或弹窗,根据操作模式控制默认值、只读字段和保存规则。
展示方式:
- 采用表单方式展示。
- 只维护角色基础信息。
- 不在新增 / 编辑页直接配置菜单权限、操作权限和数据范围。
- 角色保存后,在角色详情页下方页签中配置权限和数据范围。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 所属客户 | 客户选择器 / 只读文本 | 客户管理中已启用客户 | 平台角色可为空;客户管理员只读当前客户 |
| 角色名称 | 文本输入框 | 人工录入 | 必填 |
| 角色编码 | 文本输入框 | 人工录入 / 系统生成 | 必填,按角色类型校验唯一性 |
| 角色类型 | 下拉框 | 平台角色、客户角色、应用角色 | 必填 |
| 所属应用 | 下拉框 | 应用管理中已启用应用 | 应用角色必填 |
| 角色来源 | 只读文本 | 新增默认为自定义 | 系统预置角色由系统生成 |
| 是否角色模板 | Switch | 人工选择 | 默认否 |
| 启用状态 | Switch | 人工选择 | 默认启用 |
| 角色说明 | 多行文本框 | 人工录入 | 选填 |
新增模式规则:
- 角色名称、角色编码、角色类型、启用状态为必填。
- 客户角色必须选择所属客户。
- 应用角色必须选择所属应用。
- 客户管理员新增角色时,所属客户默认为当前客户且不可修改。
- 新增角色时不直接分配用户。
- 新增角色时不直接配置权限,保存后进入角色详情页配置。
编辑模式规则:
- 角色编码、角色类型、角色来源原则上只读。
- 系统预置角色是否允许编辑,由平台配置控制。
- 已分配用户数大于 0 的角色,编辑权限或数据范围时需要提示影响范围。
- 停用角色时需要提示该角色已分配用户数量和权限失效影响。
### 5.7.7.4 角色详情页
角色详情页用于查看角色基础信息、配置权限、配置数据范围、查看已分配用户和操作记录。
展示方式:
- 上方为角色基础信息只读区。
- 下方为 Tab 页签。
- Tab 页签包括:菜单权限、数据范围、已分配用户、操作记录。
详情页区域:
| 区域 | 展示方式 | 主要内容 |
| --- | --- | --- |
| 上方基础信息区 | 只读信息区 | 角色名称、角色编码、角色类型、所属客户、所属应用、启用状态、已分配用户数 |
| 下方页签区 | Tab 页签 | 菜单权限、数据范围、已分配用户、操作记录 |
详情页主操作按钮:
- 编辑角色
- 复制角色
- 配置权限
- 配置数据范围
- 启用角色
- 停用角色
### 5.7.7.5 菜单权限配置页签
菜单权限配置页签用于维护角色可访问的应用菜单和菜单下操作权限。
展示方式:
- 采用应用选择器 + 菜单树形表格展示。
- 菜单树按应用分组展示。
- 菜单节点支持勾选菜单权限。
- 菜单节点下展示该菜单可授权的操作权限复选框。
字段与控件:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 应用 | 下拉框 / 应用分组 | 当前客户已开通且启用的应用 | 客户角色可多应用;应用角色限定所属应用 |
| 菜单树 | 树形表格 + 复选框 | 应用管理中已启用菜单 | 勾选菜单访问权限 |
| 操作权限 | 复选框组 | 菜单下已启用操作权限 | 勾选查看、新增、编辑、审核、导出等操作 |
页面规则:
- 客户未开通应用时,不展示该应用菜单。
- 应用角色只展示所属应用菜单。
- 勾选操作权限时,系统自动勾选对应菜单权限。
- 取消菜单权限时,系统提示是否同步取消该菜单下操作权限。
- 保存后,已分配该角色的用户权限在重新获取权限时生效。
- 权限配置变更需要记录操作日志。
### 5.7.7.6 数据范围配置页签
数据范围配置页签用于维护角色对应的数据访问边界。
展示方式:
- 采用表单 + 组织 / 门店选择器展示。
- 数据范围类型使用单选框。
- 指定组织、指定门店根据所选数据范围展示对应选择器。
字段与控件:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 数据范围类型 | 单选框 | 全部数据、本组织及下级组织、本组织、指定组织、指定门店、本人数据 | 必填 |
| 指定组织 | 树形多选器 | 当前客户启用组织树 | 选择指定组织时展示 |
| 是否包含下级组织 | Switch | 人工选择 | 指定组织时可配置 |
| 指定门店 | 门店选择器 / 表格多选 | 当前客户启用门店 | 选择指定门店时展示 |
| 数据范围说明 | 多行文本框 | 人工录入 | 选填 |
页面规则:
- 数据范围类型必填。
- 指定组织时,至少选择一个组织。
- 指定门店时,至少选择一个门店。
- 指定门店选择器需要支持按门店名称、门店编码、所属区域查询。
- 普通客户角色默认不允许选择全部数据,除非具备高权限授权。
- 保存后,已分配该角色的用户数据范围在重新获取权限时生效。
- 数据范围变更需要记录操作日志。
### 5.7.7.7 已分配用户页签
已分配用户页签用于查看当前角色已被哪些用户使用。
展示方式:
- 采用查询区域 + 数据表格展示。
查询条件:
| 查询项 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 用户姓名 | 文本输入框 | 人工录入 | 支持模糊查询 |
| 手机号 | 文本输入框 | 人工录入 | 支持模糊查询 |
| 所属组织 | 树形选择器 | 当前客户组织树和门店选择器 | 可为空 |
| 用户状态 | 下拉框 | 全部、启用、停用 | 默认全部 |
列表字段:
| 字段 | 说明 |
| --- | --- |
| 用户姓名 | 用户显示姓名 |
| 手机号 | 用户手机号 |
| 默认组织 | 用户默认组织 |
| 用户状态 | 启用、停用 |
| 分配人 | 执行角色分配的用户 |
| 分配时间 | 角色分配时间 |
页面规则:
- 已分配用户页签只做查看,不在此处直接分配或移除用户角色。
- 用户角色分配和移除在用户与账号管理中完成。
### 5.7.7.8 操作记录页签
操作记录页签用于查看角色相关关键操作。
展示方式:
- 采用数据表格展示。
列表字段:
| 字段 | 说明 |
| --- | --- |
| 操作时间 | 操作发生时间 |
| 操作人 | 执行操作的用户 |
| 操作类型 | 新增、编辑、复制、启用、停用、配置菜单权限、配置操作权限、配置数据范围 |
| 操作内容 | 操作摘要 |
| 操作说明 | 操作原因或备注 |
## 5.7.8 使用导航
### 5.7.8.1 查询角色
操作路径:
```text
基础平台 > 角色管理
```
操作步骤:
1. 进入角色列表页。
2. 平台用户选择客户;客户管理员和客户内用户默认当前客户,不展示客户查询条件。
3. 按角色名称、角色编码、角色类型、所属应用或启用状态查询。
4. 在角色列表中查看角色。
### 5.7.8.2 新增角色
操作路径:
```text
基础平台 > 角色管理 > 角色新增 / 编辑页
```
操作步骤:
1. 进入角色列表页。
2. 点击新增角色。
3. 系统打开角色新增 / 编辑页,并进入新增模式。
4. 填写角色名称、角色编码。
5. 选择角色类型。
6. 如为客户角色,选择所属客户。
7. 如为应用角色,选择所属应用。
8. 设置是否角色模板、启用状态和角色说明。
9. 保存角色。
10. 系统创建角色并记录操作日志。
11. 进入角色详情页配置菜单权限和数据范围。
### 5.7.8.3 编辑角色
操作路径:
```text
基础平台 > 角色管理 > 角色新增 / 编辑页
```
操作步骤:
1. 进入角色列表页。
2. 查询并选择目标角色。
3. 点击编辑角色。
4. 系统打开角色新增 / 编辑页,并进入编辑模式。
5. 修改角色名称、是否角色模板、启用状态或角色说明。
6. 保存修改。
7. 系统刷新角色详情并记录操作日志。
### 5.7.8.4 配置菜单权限和操作权限
操作路径:
```text
基础平台 > 角色管理 > 角色详情 > 菜单权限
```
操作步骤:
1. 进入角色详情页。
2. 打开菜单权限页签。
3. 选择应用或查看应用分组。
4. 在菜单树中勾选角色可访问菜单。
5. 在菜单节点下勾选可授权操作权限。
6. 保存权限配置。
7. 系统刷新菜单权限页签并记录操作日志。
### 5.7.8.5 配置数据范围
操作路径:
```text
基础平台 > 角色管理 > 角色详情 > 数据范围
```
操作步骤:
1. 进入角色详情页。
2. 打开数据范围页签。
3. 选择数据范围类型。
4. 如选择指定组织,选择组织并设置是否包含下级组织。
5. 如选择指定门店,按门店名称、门店编码或所属区域查询并选择门店。
6. 保存数据范围。
7. 系统刷新数据范围页签并记录操作日志。
### 5.7.8.6 复制角色
操作路径:
```text
基础平台 > 角色管理 > 角色列表 / 角色详情 > 复制角色
```
操作步骤:
1. 查询并选择目标角色。
2. 点击复制角色。
3. 系统打开角色新增 / 编辑页,并带入原角色基础信息、菜单权限、操作权限和数据范围。
4. 修改角色名称和角色编码。
5. 保存角色。
6. 系统创建新角色并记录操作日志。
### 5.7.8.7 启用 / 停用角色
操作路径:
```text
基础平台 > 角色管理 > 角色列表 / 角色详情 > 启用 / 停用
```
操作步骤:
1. 查询并选择目标角色。
2. 点击启用或停用。
3. 停用角色时,系统提示已分配用户数量和权限失效影响。
4. 确认操作。
5. 系统更新角色状态并记录操作日志。
停用影响:
- 角色不可继续分配给新用户。
- 已分配该角色的用户不再获得该角色对应菜单、操作和数据范围。
- 历史角色分配记录和操作日志不删除。
## 5.7.9 验收标准
- 可按客户查询角色列表。
- 平台用户可选择客户查看角色;客户管理员只能查看和维护本客户角色。
- 客户管理员和客户内用户进入角色列表页时,默认当前客户,不展示客户查询条件。
- 可新增、编辑、复制、启用、停用角色。
- 用户基础信息中不维护角色,角色通过用户详情页分配。
- 角色编码按角色类型和归属范围校验唯一性。
- 平台角色、客户角色、应用角色的适用范围正确。
- 应用角色必须归属于一个应用。
- 客户未开通应用时,不可为该客户角色授权该应用菜单和操作权限。
- 菜单权限来源于应用管理中的启用菜单。
- 操作权限来源于应用管理中菜单下的启用操作权限。
- 不允许脱离菜单单独授权操作权限。
- 勾选操作权限时,系统自动具备对应菜单权限。
- 可配置数据范围:全部数据、本组织及下级组织、本组织、指定组织、指定门店、本人数据。
- 指定组织和指定门店的数据范围选择器可正常选择和保存。
- 督导负责部分门店时,可通过指定门店或指定组织数据范围授权。
- 角色停用后不可继续分配给新用户。
- 角色停用后,已分配用户不再获得该角色权限。
- 多角色用户菜单权限和操作权限按并集生效。
- 多角色用户数据范围按授权范围合并,且不突破客户隔离。
- 角色新增、编辑、复制、启用、停用、菜单权限配置、操作权限配置、数据范围配置均生成操作日志。

View File

@@ -0,0 +1,298 @@
# 5.8 基础配置管理
本文档从《基础平台产品设计》第 5 章拆分而来,用于独立描述基础平台功能模块的业务需求、规则和验收标准。
上级文档:[基础平台产品设计](../基础平台产品设计.md)
## 5.8.1 功能说明
基础配置管理用于维护基础平台运行所需的平台级参数、客户级差异化参数、应用级接入参数和基础开关。
基础配置不承载业务系统的复杂业务规则。业务规则、业务流程、业务单据规则应放在对应业务系统中维护,例如对账规则放在连锁业务对账系统,分账规则放在分账系统,支付渠道规则放在聚合支付系统。
基础配置 1.0 重点解决:
- 配置可查询。
- 配置可新增和修改。
- 配置可启用和停用。
- 配置变更可记录。
- 配置值可结构化维护。
- 配置版本冲突可识别和回滚。
## 5.8.2 功能范围
- 查询配置列表
- 查看配置详情
- 新增配置
- 编辑配置
- 启用 / 停用配置
- 维护配置值
- 查看配置版本
- 回滚配置版本
- 查看配置操作记录
## 5.8.3 配置项目目录
基础配置管理按配置场景拆分为独立文档。总览文档只保留模块边界、通用规则、入口结构、使用导航和统一验收标准;各配置项目的字段、控件和页面规则详见子文档。
配置项目目录:[基础配置](./基础配置/README.md)
| 编号 | 配置项目 | 独立文档 |
| --- | --- | --- |
| 5.8.3.1 | 平台运行配置 | [01-平台运行配置.md](./基础配置/01-平台运行配置.md) |
| 5.8.3.2 | 登录与安全配置 | [02-登录与安全配置.md](./基础配置/02-登录与安全配置.md) |
| 5.8.3.3 | 门户与应用容器配置 | [03-门户与应用容器配置.md](./基础配置/03-门户与应用容器配置.md) |
| 5.8.3.4 | 客户级配置 | [04-客户级配置.md](./基础配置/04-客户级配置.md) |
| 5.8.3.5 | 应用级接入配置 | [05-应用级接入配置.md](./基础配置/05-应用级接入配置.md) |
| 5.8.3.6 | 消息与通知配置 | [06-消息与通知配置.md](./基础配置/06-消息与通知配置.md) |
| 5.8.3.7 | 对象存储配置 | [07-对象存储配置.md](./基础配置/07-对象存储配置.md) |
| 5.8.3.8 | 短信发送配置 | [08-短信发送配置.md](./基础配置/08-短信发送配置.md) |
| 5.8.3.9 | 审计与日志配置 | [09-审计与日志配置.md](./基础配置/09-审计与日志配置.md) |
| 5.8.3.10 | 基础开关配置 | [10-基础开关配置.md](./基础配置/10-基础开关配置.md) |
| 5.8.3.11 | 配置项管理 | [11-配置项管理.md](./基础配置/11-配置项管理.md) |
| 5.8.3.12 | 配置版本记录 | [12-配置版本记录.md](./基础配置/12-配置版本记录.md) |
## 5.8.4 不建议纳入基础配置的内容
以下内容不建议放入基础配置管理,避免基础配置变成业务系统规则中心:
- 对账规则、差异处理规则、账单生成规则。
- 分账规则、结算周期、清分规则、出款规则。
- 支付通道费率、支付路由、退款规则。
- 门店选址模型参数、评分权重。
- 客服工单流转规则、补偿规则、客诉处理 SLA。
- 商品、菜单、价格、库存、营销活动规则。
- 组织架构、用户、角色、菜单本身的主数据。
上述内容应分别进入对应业务系统或对应基础模块维护。基础配置只维护基础平台运行所需的通用参数和开关。
## 5.8.5 字段要求
配置项基础信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 配置名称 | 配置项展示名称 | 是 |
| 配置编码 | 配置项唯一编码 | 是 |
| 配置分类 | 平台运行、登录安全、门户容器、客户配置、应用配置、消息通知、对象存储、短信发送、审计日志、业务开关 | 是 |
| 配置层级 | 平台级、客户级、应用级 | 是 |
| 所属客户 | 客户级配置所属客户 | 条件必填 |
| 所属应用 | 应用级配置所属应用 | 条件必填 |
| 配置值类型 | JSON、文本、数字、布尔、枚举 | 是 |
| 配置值 | 配置实际内容 | 是 |
| 配置值预览 | 列表页展示的配置值摘要 | 否 |
| 版本 | 配置当前版本号 | 是 |
| 启用状态 | 启用、停用 | 是 |
| 备注 | 配置说明 | 否 |
| 创建时间 | 配置创建时间 | 是 |
| 更新时间 | 配置最近更新时间 | 是 |
### 5.8.5.1 配置编码规则
配置编码用于系统读取配置、版本管理和操作日志追踪。
编码规则:
- 配置编码在同一配置层级和归属范围内唯一。
- 平台级配置编码全局唯一。
- 客户级配置编码在同一客户下唯一。
- 应用级配置编码在同一应用下唯一。
- 配置编码创建后原则上不允许修改。
- 配置编码建议采用大写英文字母、数字和下划线组合。
编码示例:
| 配置分类 | 编码示例 |
| --- | --- |
| 登录安全 | TOKEN_EXPIRE_MINUTES |
| 登录安全 | PASSWORD_COMPLEXITY_RULE |
| 门户容器 | MAX_OPEN_TAB_COUNT |
| 对象存储 | OBJECT_STORAGE_PROVIDER |
| 短信发送 | SMS_PROVIDER |
| 审计日志 | OPERATION_LOG_RETENTION_DAYS |
| 基础开关 | ENABLE_THIRD_PARTY_LOGIN |
## 5.8.6 业务规则
- 平台级配置仅平台管理员维护。
- 客户级配置仅影响当前客户。
- 应用级配置仅影响对应应用。
- 配置编码保存时必须校验唯一性。
- 配置值保存前必须通过类型校验。
- JSON 类型配置保存前必须是合法 JSON。
- 配置启用后,业务功能读取启用状态配置。
- 配置停用后,系统应按默认值或上级配置执行;没有默认值时,需要提示配置不可用。
- 配置变更需要生成新版本。
- 配置保存时需要校验当前版本,避免多人同时编辑导致覆盖。
- 配置回滚时,需要生成新的配置版本,不直接覆盖历史版本。
- 配置变更、启用、停用、回滚需要记录操作日志。
## 5.8.7 界面入口与访问权限
基础配置管理作为基础平台管理功能,建议放置在基础平台左侧菜单,并按配置场景拆分页面:
```text
基础平台
└── 基础配置管理
├── 平台运行配置
├── 登录与安全配置
├── 门户与应用容器配置
├── 客户级配置
├── 应用级接入配置
├── 消息与通知配置
├── 对象存储配置
├── 短信发送配置
├── 审计与日志配置
├── 基础开关配置
└── 配置项管理
```
页面访问规则:
- 平台超级管理员可维护全部配置页面。
- 实施人员可按授权范围维护客户级配置和应用级接入配置。
- 客户管理员是否可维护客户级配置,由客户配置开关控制。
- 产品管理员可按授权范围维护其负责应用的应用级接入配置。
- 普通业务用户不可访问基础配置管理页面。
- 无基础配置管理权限的用户不展示基础配置管理菜单。
设计原则:
- 场景化配置页面面向实施、运维、客户管理员,使用业务化表单,不直接暴露 JSON。
- 配置项管理面向平台管理员和研发支持人员,作为底层配置项兜底维护页面。
- 常用配置应优先进入场景化页面,不应要求使用者记忆配置编码。
- 复杂结构化配置可在配置项管理中维护,但需要控制权限和操作审计。
## 5.8.8 使用导航
### 5.8.8.1 维护场景化配置
操作路径:
```text
基础平台 > 基础配置管理 > 对应配置页面
```
操作步骤:
1. 进入基础配置管理。
2. 选择平台运行配置、登录与安全配置、门户与应用容器配置、客户级配置、应用级接入配置、消息与通知配置、对象存储配置、短信发送配置、审计与日志配置或基础开关配置。
3. 按页面表单维护对应配置。
4. 点击保存。
5. 系统校验配置值、版本号和权限范围。
6. 系统生成新版本并记录操作日志。
### 5.8.8.2 查询配置项
操作路径:
```text
基础平台 > 基础配置管理 > 配置项管理
```
操作步骤:
1. 进入配置项管理页。
2. 按配置名称、配置编码、配置分类、配置层级、所属客户、所属应用或启用状态查询。
3. 在配置项列表中查看配置。
### 5.8.8.3 新增配置项
操作路径:
```text
基础平台 > 基础配置管理 > 配置项管理 > 新增配置
```
操作步骤:
1. 进入配置项管理页。
2. 点击新增配置。
3. 系统打开配置新增 / 编辑抽屉。
4. 填写配置名称、配置编码、配置分类、配置层级。
5. 如为客户级配置,选择所属客户。
6. 如为应用级配置,选择所属应用。
7. 选择配置值类型并填写配置值。
8. 设置启用状态和备注。
9. 保存配置。
10. 系统创建配置、生成初始版本并记录操作日志。
### 5.8.8.4 编辑配置项
操作路径:
```text
基础平台 > 基础配置管理 > 配置项管理 > 编辑
```
操作步骤:
1. 进入配置项管理页。
2. 查询目标配置。
3. 点击编辑。
4. 系统打开配置新增 / 编辑抽屉。
5. 修改配置名称、配置值、启用状态或备注。
6. 保存配置。
7. 系统校验配置值格式和版本号。
8. 系统生成新版本并记录操作日志。
### 5.8.8.5 启用 / 停用配置
操作路径:
```text
基础平台 > 基础配置管理 > 配置项管理 > 启用 / 停用
```
操作步骤:
1. 进入配置项管理页。
2. 查询目标配置。
3. 点击启用或停用。
4. 停用配置时,系统提示配置停用影响。
5. 确认操作。
6. 系统更新配置状态、生成新版本并记录操作日志。
### 5.8.8.6 回滚配置版本
操作路径:
```text
基础平台 > 基础配置管理 > 配置项管理 > 版本记录 > 回滚
```
操作步骤:
1. 进入配置项管理页或场景化配置页面。
2. 查询目标配置或打开当前配置的版本记录。
3. 查看配置历史版本。
4. 选择需要回滚的历史版本。
5. 点击回滚。
6. 系统二次确认回滚操作。
7. 系统生成新版本并记录操作日志。
## 5.8.9 验收标准
- 基础配置管理按配置场景拆分页面展示。
- 可维护平台运行配置、登录与安全配置、门户与应用容器配置、客户级配置、应用级接入配置、消息与通知配置、对象存储配置、短信发送配置、审计与日志配置、基础开关配置。
- 对象存储配置支持阿里云 OSS、腾讯云 COS、华为云 COS/OBS、MinIO、RustFS。
- 对象存储启用前必须完成连接测试。
- 对象存储 SecretKey 等敏感字段不得明文回显。
- 短信发送配置支持阿里云、腾讯云、华为云。
- 短信发送配置支持按模板场景维护短信模板。
- 同一短信模板场景同一时间只能启用一个模板。
- 短信发送 SecretKey、验证码等敏感信息不得写入操作日志。
- 场景化配置页面采用业务化表单,不要求用户直接编辑 JSON。
- 配置项管理可查询平台级、客户级、应用级配置。
- 配置项管理可新增、编辑、启用、停用配置。
- 配置编码按配置层级和归属范围校验唯一性。
- 配置值保存前按配置值类型完成格式校验。
- JSON 类型配置保存前必须校验为合法 JSON。
- 配置列表可展示配置值预览。
- 配置变更后生成新版本。
- 多人同时编辑同一配置时,系统可识别版本冲突。
- 可查看配置历史版本。
- 可回滚配置历史版本,回滚后生成新版本。
- 停用配置时能够提示配置影响。
- 平台级配置、客户级配置、应用级配置的维护权限正确。
- 配置新增、编辑、启用、停用、回滚均生成操作日志。

View File

@@ -0,0 +1,499 @@
# 5.9 消息与待办
本文档从《基础平台产品设计》第 5 章拆分而来,用于独立描述基础平台功能模块的业务需求、规则和验收标准。
上级文档:[基础平台产品设计](../基础平台产品设计.md)
## 5.9.1 功能说明
消息与待办用于为基础平台和各业务应用提供统一的消息提醒、待办聚合、已读未读、待办处理状态、消息跳转和用户消息中心能力。
消息偏通知提醒,解决“用户需要知道什么”;待办偏任务处理,解决“用户需要处理什么”。基础平台负责统一承载和展示消息与待办,不负责各业务系统内部的业务审批规则、工单流转规则和单据处理规则。
业务应用负责生成业务消息和业务待办,并提供对应业务页面;基础平台负责接收、展示、计数、状态维护和跳转入口。
## 5.9.2 功能范围
- 消息列表
- 待办列表
- 消息详情
- 待办详情
- 未读消息提醒
- 待办数量提醒
- 已读 / 未读
- 单条已读
- 全部已读
- 待办状态更新
- 待办跳转业务系统
- 消息归档
- 消息查询
- 消息操作记录
## 5.9.3 消息与待办分类
### 5.9.3.1 消息分类
基础平台 1.0 支持以下消息分类:
| 消息分类 | 定义 | 示例 |
| --- | --- | --- |
| 系统消息 | 基础平台自身产生的通知 | 账号创建、密码重置、客户停用、应用停用 |
| 业务消息 | 业务应用产生的通知 | 对账差异提醒、分账失败提醒、支付异常提醒 |
| 公告消息 | 平台或客户发布的公告 | 系统维护公告、功能上线公告 |
| 安全消息 | 与账号、登录、安全相关的提醒 | 异地登录、密码重置、账号停用 |
### 5.9.3.2 待办分类
基础平台 1.0 支持以下待办分类:
| 待办分类 | 定义 | 示例 |
| --- | --- | --- |
| 审批待办 | 需要用户审批或确认的事项 | 自采申请审批、应用开通确认 |
| 处理待办 | 需要用户处理的业务事项 | 对账差异处理、分账异常处理 |
| 确认待办 | 需要用户确认结果的事项 | 配置变更确认、角色权限变更确认 |
| 工单待办 | 来自客服或运维工单的处理事项 | 客诉工单处理、系统问题处理 |
### 5.9.3.3 优先级
消息和待办支持优先级:
| 优先级 | 说明 |
| --- | --- |
| 高 | 影响登录、结算、支付、业务处理中断等紧急事项 |
| 中 | 需要用户及时关注或处理的一般事项 |
| 低 | 通知类、公告类或非紧急事项 |
## 5.9.4 字段要求
### 5.9.4.1 消息字段
消息信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 所属客户 | 消息归属客户 | 是 |
| 接收用户 | 消息接收人 | 是 |
| 来源应用 | 消息来源应用 | 是 |
| 消息分类 | 系统消息、业务消息、公告消息、安全消息 | 是 |
| 消息标题 | 消息标题 | 是 |
| 消息内容 | 消息正文摘要或完整内容 | 是 |
| 优先级 | 高、中、低 | 是 |
| 已读状态 | 未读、已读 | 是 |
| 发送时间 | 消息生成或发送时间 | 是 |
| 阅读时间 | 用户首次阅读时间 | 否 |
| 跳转类型 | 无跳转、基础平台页面、业务应用页面、外部链接 | 是 |
| 跳转地址 | 消息点击后的目标页面 | 条件必填 |
| 业务对象类型 | 消息关联的业务对象类型 | 否 |
| 业务对象编号 | 消息关联的业务对象编号 | 否 |
| 归档状态 | 未归档、已归档 | 是 |
### 5.9.4.2 待办字段
待办信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 所属客户 | 待办归属客户 | 是 |
| 待办处理人 | 待办接收和处理用户 | 是 |
| 来源应用 | 待办来源应用 | 是 |
| 待办分类 | 审批待办、处理待办、确认待办、工单待办 | 是 |
| 待办标题 | 待办标题 | 是 |
| 待办内容 | 待办说明 | 是 |
| 优先级 | 高、中、低 | 是 |
| 待办状态 | 待处理、处理中、已处理、已取消、已过期 | 是 |
| 发送时间 | 待办生成时间 | 是 |
| 截止时间 | 待办建议处理截止时间 | 否 |
| 处理时间 | 待办完成或关闭时间 | 否 |
| 跳转类型 | 基础平台页面、业务应用页面、外部链接 | 是 |
| 跳转地址 | 待办点击后的目标页面 | 是 |
| 业务对象类型 | 待办关联的业务对象类型 | 是 |
| 业务对象编号 | 待办关联的业务对象编号 | 是 |
| 处理结果 | 待办处理结果摘要 | 否 |
## 5.9.5 业务规则
### 5.9.5.1 消息规则
- 消息必须归属于一个客户和一个接收用户。
- 平台级用户接收的平台管理消息可不归属具体业务客户,但必须有接收用户。
- 用户只能查看自己的消息。
- 客户管理员不可查看客户内其他用户的个人消息,除非具备消息审计权限。
- 消息默认进入未读状态。
- 用户打开消息详情后,消息可自动标记为已读。
- 用户可手工将消息标记为已读。
- 用户可执行全部已读。
- 消息归档不删除消息,只从默认列表中隐藏。
- 消息保留时长由基础配置管理中的消息保留天数控制。
### 5.9.5.2 待办规则
- 待办必须归属于一个客户和一个处理用户。
- 待办必须关联来源应用和业务对象。
- 用户只能查看和处理分配给自己的待办。
- 待办状态包括待处理、处理中、已处理、已取消、已过期。
- 待办点击后应跳转到对应业务页面处理,不在基础平台内处理业务单据。
- 业务应用处理完成后,应同步更新基础平台待办状态。
- 待办已处理后,不再计入待处理数量。
- 待办已取消或已过期后,不再允许用户继续处理。
- 同一个业务对象可产生多个待办,但同一处理人下相同业务动作不应重复生成有效待办。
### 5.9.5.3 跳转规则
- 基础平台页面跳转在右侧内容区打开基础平台页面。
- 业务应用页面跳转通过统一门户 iframe 容器打开业务应用页面。
- 外部链接跳转需要按应用接入规则控制1.0 不作为重点能力。
- 用户无目标应用权限时,不允许跳转,并提示无权限访问。
- 目标应用停用、客户未开通应用或菜单停用时,不允许跳转。
- 跳转地址应尽量关联具体菜单或页面,避免只跳转到应用首页。
### 5.9.5.4 数量提醒规则
- 门户头部消息按钮展示未读消息数和待处理待办数。
- 未读消息数只统计当前登录用户未读且未归档消息。
- 待处理待办数只统计当前登录用户待处理和处理中待办。
- 消息和待办数量刷新频率由基础配置管理中的未读消息提醒间隔控制。
- 数量过多时可展示为 `99+`
## 5.9.6 界面设计
### 5.9.6.1 功能入口与访问权限
消息与待办作为基础平台个人工作入口,建议放置在门户头部消息按钮和基础平台左侧菜单:
```text
基础平台
└── 消息与待办
```
入口包括:
- 头部消息按钮:展示未读消息数和待处理待办数,点击后打开消息浮层。
- 消息与待办菜单:进入完整消息中心页面。
- 待办跳转入口:从消息中心或头部浮层跳转到业务应用页面。
页面访问规则:
- 登录用户可查看自己的消息和待办。
- 平台运维人员可按授权范围查询消息投递状态,用于问题排查。
- 普通用户不可查看其他用户消息和待办。
- 无消息与待办权限的用户不展示消息与待办菜单,但头部消息按钮可作为个人入口展示。
### 5.9.6.2 头部消息浮层
头部消息浮层用于快速查看未读消息和待处理待办。
展示方式:
- 点击门户头部消息按钮打开浮层。
- 浮层采用 Tab 页签展示:消息、待办。
- 每个页签展示最近消息或待办列表。
- 底部展示查看全部入口。
消息页签字段:
| 字段 | 说明 |
| --- | --- |
| 消息标题 | 消息标题 |
| 消息分类 | 系统、业务、公告、安全 |
| 优先级 | 高、中、低 |
| 发送时间 | 消息发送时间 |
| 已读状态 | 未读、已读 |
待办页签字段:
| 字段 | 说明 |
| --- | --- |
| 待办标题 | 待办标题 |
| 来源应用 | 待办来源应用 |
| 优先级 | 高、中、低 |
| 截止时间 | 待办建议处理截止时间 |
| 待办状态 | 待处理、处理中 |
页面规则:
- 点击消息进入消息详情。
- 点击待办进入待办详情或直接跳转业务页面。
- 点击查看全部进入消息与待办主页面。
### 5.9.6.3 消息与待办主页面
消息与待办主页面用于集中查看消息和待办。
展示方式:
- 页面采用 Tab 页签展示。
- Tab 页签包括:消息、待办。
- 每个页签采用查询区域 + 数据表格展示。
- 查询按钮作为查询区域最后一个表单元素。
### 5.9.6.4 消息列表页签
查询条件:
| 查询项 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 消息标题 | 文本输入框 | 人工录入 | 支持模糊查询 |
| 消息分类 | 下拉框 | 系统消息、业务消息、公告消息、安全消息 | 可为空 |
| 来源应用 | 下拉框 | 当前用户可访问应用 | 可为空 |
| 优先级 | 下拉框 | 全部、高、中、低 | 默认全部 |
| 已读状态 | 下拉框 | 全部、未读、已读 | 默认全部 |
| 发送时间 | 日期范围选择器 | 人工选择 | 可为空 |
| 查询 | 按钮 | 用户点击 | 作为查询区域最后一个表单元素 |
列表字段:
| 字段 | 说明 |
| --- | --- |
| 消息标题 | 消息标题 |
| 消息分类 | 系统、业务、公告、安全 |
| 来源应用 | 消息来源应用 |
| 优先级 | 高、中、低 |
| 已读状态 | 未读、已读 |
| 发送时间 | 消息发送时间 |
| 操作 | 查看、标记已读、归档 |
页面规则:
- 未读消息需要在列表中突出展示。
- 支持批量标记已读。
- 支持全部已读。
- 支持归档消息。
### 5.9.6.5 待办列表页签
查询条件:
| 查询项 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 待办标题 | 文本输入框 | 人工录入 | 支持模糊查询 |
| 待办分类 | 下拉框 | 审批、处理、确认、工单 | 可为空 |
| 来源应用 | 下拉框 | 当前用户可访问应用 | 可为空 |
| 优先级 | 下拉框 | 全部、高、中、低 | 默认全部 |
| 待办状态 | 下拉框 | 全部、待处理、处理中、已处理、已取消、已过期 | 默认待处理 |
| 截止时间 | 日期范围选择器 | 人工选择 | 可为空 |
| 查询 | 按钮 | 用户点击 | 作为查询区域最后一个表单元素 |
列表字段:
| 字段 | 说明 |
| --- | --- |
| 待办标题 | 待办标题 |
| 待办分类 | 审批、处理、确认、工单 |
| 来源应用 | 待办来源应用 |
| 优先级 | 高、中、低 |
| 待办状态 | 待处理、处理中、已处理、已取消、已过期 |
| 截止时间 | 建议处理截止时间 |
| 发送时间 | 待办生成时间 |
| 操作 | 查看、去处理 |
页面规则:
- 待处理和处理中待办默认展示在前。
- 高优先级待办需要突出展示。
- 已处理、已取消、已过期待办不可继续处理。
- 点击去处理时,按跳转规则打开对应业务页面。
### 5.9.6.6 消息详情页 / 弹窗
消息详情用于查看消息完整内容。
展示方式:
- 采用详情弹窗或右侧抽屉展示。
- 内容较短时可用弹窗;内容较长时建议使用抽屉。
详情字段:
| 字段 | 说明 |
| --- | --- |
| 消息标题 | 消息标题 |
| 消息分类 | 系统、业务、公告、安全 |
| 来源应用 | 消息来源应用 |
| 消息内容 | 消息完整内容 |
| 发送时间 | 消息发送时间 |
| 已读状态 | 未读、已读 |
| 业务对象 | 关联业务对象类型和编号 |
操作按钮:
- 关闭
- 标记已读
- 跳转查看
- 归档
### 5.9.6.7 待办详情页 / 弹窗
待办详情用于查看待办完整信息和处理入口。
展示方式:
- 采用详情弹窗或右侧抽屉展示。
详情字段:
| 字段 | 说明 |
| --- | --- |
| 待办标题 | 待办标题 |
| 待办分类 | 审批、处理、确认、工单 |
| 来源应用 | 待办来源应用 |
| 待办内容 | 待办完整说明 |
| 优先级 | 高、中、低 |
| 待办状态 | 当前待办状态 |
| 截止时间 | 建议处理截止时间 |
| 业务对象 | 关联业务对象类型和编号 |
| 处理结果 | 已处理时展示 |
操作按钮:
- 关闭
- 去处理
- 标记处理中
页面规则:
- 去处理跳转到业务应用页面。
- 标记处理中只改变基础平台待办状态,不代表业务单据已处理完成。
- 业务应用处理完成后同步更新为已处理。
### 5.9.6.8 消息投递查询页
消息投递查询页用于平台运维、实施或客服排查消息是否生成、发送、阅读和跳转异常。
展示方式:
- 查询区域 + 数据表格。
- 仅具备消息运维权限的用户可见。
查询条件:
| 查询项 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 所属客户 | 客户选择器 | 客户管理中已启用客户 | 可为空 |
| 接收用户 | 用户选择器 | 用户与账号管理中的用户 | 可为空 |
| 来源应用 | 应用选择器 | 应用管理中的应用 | 可为空 |
| 消息 / 待办标题 | 文本输入框 | 人工录入 | 支持模糊查询 |
| 状态 | 下拉框 | 未读、已读、待处理、已处理等 | 可为空 |
| 时间范围 | 日期范围选择器 | 人工选择 | 可为空 |
页面规则:
- 运维查询用于排查,不允许代替用户处理待办。
- 查询结果需要按客户数据隔离。
## 5.9.7 使用导航
### 5.9.7.1 查看头部消息提醒
操作路径:
```text
基础平台门户 > 头部消息按钮
```
操作步骤:
1. 用户登录基础平台。
2. 系统在头部消息按钮展示未读消息数和待处理待办数。
3. 用户点击消息按钮。
4. 系统打开消息浮层。
5. 用户在消息或待办页签中查看最近记录。
### 5.9.7.2 查看消息列表
操作路径:
```text
基础平台 > 消息与待办 > 消息
```
操作步骤:
1. 进入消息与待办主页面。
2. 打开消息页签。
3. 按消息标题、消息分类、来源应用、优先级、已读状态或发送时间查询。
4. 查看消息列表。
### 5.9.7.3 查看待办列表
操作路径:
```text
基础平台 > 消息与待办 > 待办
```
操作步骤:
1. 进入消息与待办主页面。
2. 打开待办页签。
3. 按待办标题、待办分类、来源应用、优先级、待办状态或截止时间查询。
4. 查看待办列表。
### 5.9.7.4 处理消息
操作路径:
```text
基础平台 > 消息与待办 > 消息 > 查看
```
操作步骤:
1. 查询目标消息。
2. 点击查看。
3. 系统打开消息详情。
4. 用户查看消息内容。
5. 系统标记消息为已读,或用户手工标记为已读。
6. 如消息存在跳转地址,用户点击跳转查看。
### 5.9.7.5 处理待办
操作路径:
```text
基础平台 > 消息与待办 > 待办 > 去处理
```
操作步骤:
1. 查询目标待办。
2. 点击去处理。
3. 系统校验用户是否有目标应用和菜单权限。
4. 校验通过后,通过统一门户 iframe 容器打开业务应用页面。
5. 用户在业务应用中处理业务事项。
6. 业务应用处理完成后,同步更新待办状态。
7. 基础平台刷新待办状态和待处理数量。
### 5.9.7.6 全部已读
操作路径:
```text
基础平台 > 消息与待办 > 消息 > 全部已读
```
操作步骤:
1. 进入消息页签。
2. 点击全部已读。
3. 系统提示确认操作。
4. 用户确认后,系统将当前用户未读消息标记为已读。
5. 系统刷新未读消息数量。
## 5.9.8 验收标准
- 用户可通过门户头部消息按钮查看未读消息数和待处理待办数。
- 用户可查看自己的消息列表和待办列表。
- 普通用户不可查看其他用户消息和待办。
- 消息支持系统消息、业务消息、公告消息、安全消息分类。
- 待办支持审批待办、处理待办、确认待办、工单待办分类。
- 消息支持未读、已读状态。
- 消息支持查看详情、标记已读、全部已读、归档。
- 待办支持待处理、处理中、已处理、已取消、已过期状态。
- 待办可关联来源应用和业务对象。
- 待办可跳转到对应基础平台页面或业务应用页面。
- 用户无目标应用或菜单权限时,不允许跳转待办。
- 业务应用处理完成后,基础平台待办状态可更新为已处理。
- 头部消息数量与消息列表、待办列表状态一致。
- 消息保留天数、待办提醒开关、未读消息提醒间隔可受基础配置管理控制。
- 平台运维人员可按授权范围查询消息投递状态。
- 消息查看、标记已读、全部已读、归档、待办状态变更、待办跳转均生成操作日志。

View File

@@ -0,0 +1,398 @@
# 5.10 操作日志
本文档从《基础平台产品设计》第 5 章拆分而来,用于独立描述基础平台功能模块的业务需求、规则和验收标准。
上级文档:[基础平台产品设计](../基础平台产品设计.md)
## 5.10.1 功能说明
操作日志用于记录基础平台中的关键用户操作、管理配置变更、安全敏感操作和跨应用跳转操作,支撑审计追溯、问题排查、责任界定和安全风控。
操作日志只记录“谁在什么时间,对什么对象,做了什么操作,结果如何”。操作日志不替代业务单据流水,不记录完整业务处理过程,不作为业务系统账务、审批、工单、对账或分账明细。
## 5.10.2 功能范围
- 操作日志采集
- 操作日志查询
- 操作日志详情
- 操作日志导出
- 操作结果记录
- 变更前后摘要记录
- 敏感操作标识
- 日志留存控制
## 5.10.3 必须记录操作清单
### 5.10.3.1 登录与账号安全类
以下操作必须记录操作日志或登录安全日志:
| 操作类型 | 触发场景 | 是否必须 |
| --- | --- | --- |
| 登录成功 | 用户通过平台账号或第三方账号登录成功 | 是 |
| 登录失败 | 用户登录失败,包括账号不存在、密码错误、账号停用等 | 是 |
| 登录锁定 | 连续登录失败触发账号锁定 | 是 |
| 退出登录 | 用户主动注销登录 | 是 |
| Token 刷新失败 | Token 刷新失败并引导重新登录 | 是 |
| 密码重置 | 管理员重置平台账号密码 | 是 |
| 首次登录修改密码 | 用户首次登录修改密码 | 是 |
| 账号启用 / 停用 | 登录账号启用、停用 | 是 |
| 第三方账号绑定 / 解绑 | 微信、企微、钉钉、飞书等账号绑定或解绑 | 是 |
### 5.10.3.2 客户管理类
以下客户管理操作必须记录:
| 操作类型 | 触发场景 | 是否必须 |
| --- | --- | --- |
| 新增客户 | 创建客户档案 | 是 |
| 编辑客户 | 修改客户名称、简称、类型、行业、状态等基础信息 | 是 |
| 启用 / 停用客户 | 客户启用或停用 | 是 |
| 开通应用 | 为客户开通业务应用 | 是 |
| 关闭应用 | 关闭客户已开通应用 | 是 |
| 添加客户管理员 | 为客户添加管理员 | 是 |
| 取消客户管理员 | 取消用户客户管理员身份 | 是 |
| 启用 / 停用客户管理员 | 客户管理员启用或停用 | 是 |
| 重置客户管理员密码 | 重置客户管理员平台账号密码 | 是 |
### 5.10.3.3 应用管理类
以下应用管理操作必须记录:
| 操作类型 | 触发场景 | 是否必须 |
| --- | --- | --- |
| 新增应用 | 创建应用档案 | 是 |
| 编辑应用 | 修改应用名称、简称、类型、入口等基础信息 | 是 |
| 启用 / 停用应用 | 应用启用或停用 | 是 |
| 配置应用入口 | 修改应用入口类型、入口地址、打开方式 | 是 |
| 新增 / 编辑菜单 | 新增或修改应用菜单 | 是 |
| 启用 / 停用菜单 | 菜单启用或停用 | 是 |
| 调整菜单排序 | 修改菜单展示顺序 | 是 |
| 配置菜单操作权限 | 新增、编辑、停用菜单下操作权限 | 是 |
| 配置可授权范围 | 修改适用客户类型、行业、默认角色模板、默认菜单范围 | 是 |
### 5.10.3.4 组织管理类
以下组织管理操作必须记录:
| 操作类型 | 触发场景 | 是否必须 |
| --- | --- | --- |
| 新增组织 | 新增下级组织 | 是 |
| 编辑组织 | 修改组织名称、编码、类型、负责人等信息 | 是 |
| 启用 / 停用组织 | 组织启用或停用 | 是 |
| 调整上级组织 | 调整组织父级关系 | 是 |
| 组织负责人变更 | 变更组织负责人 | 是 |
### 5.10.3.5 用户与账号管理类
以下用户与账号操作必须记录:
| 操作类型 | 触发场景 | 是否必须 |
| --- | --- | --- |
| 新增用户 | 创建用户档案并默认创建平台账号 | 是 |
| 编辑用户 | 修改用户姓名、手机号、所属组织、默认组织、状态等 | 是 |
| 启用 / 停用用户 | 用户启用或停用 | 是 |
| 所属组织变更 | 用户所属组织发生变化 | 是 |
| 默认组织变更 | 用户默认组织发生变化 | 是 |
| 创建平台账号 | 为用户创建平台账号 | 是 |
| 绑定第三方账号 | 为用户绑定微信、企微、钉钉、飞书等账号 | 是 |
| 解绑账号 | 解绑平台账号或第三方账号 | 是 |
| 启用 / 停用账号 | 登录账号启用或停用 | 是 |
| 重置平台账号密码 | 管理员重置平台账号密码 | 是 |
| 分配角色 | 给用户分配角色 | 是 |
| 移除角色 | 移除用户角色 | 是 |
### 5.10.3.6 角色管理类
以下角色管理操作必须记录:
| 操作类型 | 触发场景 | 是否必须 |
| --- | --- | --- |
| 新增角色 | 创建平台角色、客户角色或应用角色 | 是 |
| 编辑角色 | 修改角色名称、说明、模板标识等 | 是 |
| 复制角色 | 基于已有角色复制新角色 | 是 |
| 启用 / 停用角色 | 角色启用或停用 | 是 |
| 配置菜单权限 | 修改角色可访问菜单 | 是 |
| 配置操作权限 | 修改角色菜单下操作权限 | 是 |
| 配置数据范围 | 修改全部、本组织、指定组织、指定门店等数据范围 | 是 |
### 5.10.3.7 基础配置管理类
以下配置操作必须记录:
| 操作类型 | 触发场景 | 是否必须 |
| --- | --- | --- |
| 场景化配置变更 | 修改平台运行、登录安全、门户容器、客户级、应用级、对象存储、短信发送等配置 | 是 |
| 新增配置项 | 在配置项管理中新建配置项 | 是 |
| 编辑配置项 | 修改配置项基础信息或配置值 | 是 |
| 启用 / 停用配置项 | 配置项启用或停用 | 是 |
| 配置版本回滚 | 回滚到历史配置版本 | 是 |
| 基础开关变更 | 启用或停用基础平台功能开关 | 是 |
说明:对象存储和短信发送配置涉及 AccessKey、SecretKey、验证码等敏感信息操作日志只能记录配置项名称、服务商、变更类型、启停状态和脱敏摘要不得记录密钥、验证码、Token 等明文内容。
### 5.10.3.8 消息与待办类
以下消息与待办操作必须记录:
| 操作类型 | 触发场景 | 是否必须 |
| --- | --- | --- |
| 查看消息 | 用户打开消息详情 | 建议 |
| 标记已读 | 单条消息标记已读 | 是 |
| 全部已读 | 用户执行全部已读 | 是 |
| 归档消息 | 用户归档消息 | 是 |
| 待办状态变更 | 待办标记处理中、已处理、已取消、已过期 | 是 |
| 待办跳转 | 用户从待办跳转业务页面 | 是 |
说明:查看消息频率较高,可按配置决定是否记录;涉及状态变化的消息和待办操作必须记录。
### 5.10.3.9 数据字典类
以下数据字典操作必须记录:
| 操作类型 | 触发场景 | 是否必须 |
| --- | --- | --- |
| 新增字典 | 新增数据字典和字典值列表 | 是 |
| 编辑字典 | 修改字典名称、归属业务系统、状态、备注等 | 是 |
| 删除字典 | 软删除数据字典 | 是 |
| 新增字典值 | 在字典中新增字典值 | 是 |
| 删除字典值 | 从字典中删除字典值 | 是 |
| 启用 / 停用字典值 | 字典值启用或停用 | 是 |
| 调整字典值排序 | 修改字典值展示顺序 | 是 |
| 修改字典值颜色 | 修改字典值展示颜色 | 是 |
### 5.10.3.10 城市管理类
以下城市管理操作必须记录:
| 操作类型 | 触发场景 | 是否必须 |
| --- | --- | --- |
| 新增国家 | 新增国家主数据 | 是 |
| 编辑国家 | 修改国家名称、简称、国家码、ISO 编码等 | 是 |
| 启用 / 停用国家 | 国家启用或停用 | 是 |
| 删除国家 | 删除国家主数据 | 是 |
| 新增城市节点 | 新增省份、城市、区县、街道节点 | 是 |
| 编辑城市节点 | 修改城市名称、编码、外部编码、经纬度、排序等 | 是 |
| 启用 / 停用城市节点 | 城市节点启用或停用 | 是 |
| 删除城市节点 | 删除城市节点 | 是 |
### 5.10.3.11 支行信息管理类
以下支行信息管理操作必须记录:
| 操作类型 | 触发场景 | 是否必须 |
| --- | --- | --- |
| 新增支行信息 | 新增银行总行、支行、支行号、银行侧城市编码和行政省市映射信息 | 是 |
| 编辑支行信息 | 修改总行信息、支行信息、银行侧城市编码、行政省市或状态 | 是 |
| 启用 / 停用支行信息 | 支行信息启用或停用 | 是 |
| 删除支行信息 | 软删除支行信息 | 是 |
| 删除失败 | 支行信息因存在业务引用被禁止删除 | 是 |
### 5.10.3.12 导入导出类
以下导入导出操作必须记录:
| 操作类型 | 触发场景 | 是否必须 |
| --- | --- | --- |
| 导入数据 | 客户、组织、用户、角色、菜单、配置等批量导入 | 是 |
| 导入失败 | 导入校验失败或部分失败 | 是 |
| 导出数据 | 导出客户、组织、用户、角色、日志等数据 | 是 |
| 下载导出文件 | 用户下载导出结果文件 | 建议 |
## 5.10.4 日志字段
操作日志至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 操作时间 | 操作发生时间 | 是 |
| 操作用户 | 执行操作的用户 | 是 |
| 登录账号 | 执行操作时使用的登录账号 | 是 |
| 所属客户 | 操作用户所属客户或操作对象所属客户 | 条件必填 |
| 当前组织 | 操作用户当前组织上下文 | 否 |
| 来源应用 | 操作发生的应用 | 是 |
| 操作模块 | 客户管理、应用管理、组织管理等 | 是 |
| 操作类型 | 新增、编辑、启用、停用、授权、回滚等 | 是 |
| 操作对象类型 | 客户、应用、组织、用户、角色、配置项等 | 是 |
| 操作对象编号 | 被操作对象编码或 ID | 是 |
| 操作对象名称 | 被操作对象名称 | 否 |
| 操作结果 | 成功、失败、部分成功 | 是 |
| 失败原因 | 操作失败时记录原因 | 否 |
| 变更前摘要 | 操作前关键字段摘要 | 否 |
| 变更后摘要 | 操作后关键字段摘要 | 否 |
| IP 地址 | 操作来源 IP | 否 |
| 设备信息 | 浏览器、设备、客户端信息 | 否 |
| 请求流水号 | 便于研发排查的请求标识 | 否 |
| 操作说明 | 用户填写的原因或系统说明 | 否 |
敏感字段要求:
- 密码、Token、密钥、验证码不得明文记录。
- 手机号、登录标识等敏感字段按基础配置中的脱敏策略展示。
- 配置值如包含敏感内容,日志只记录摘要,不记录完整明文。
## 5.10.5 业务规则
- 操作日志由系统自动生成,普通用户不可新增、编辑或删除操作日志。
- 操作日志一经生成,不允许被业务页面修改。
- 不同客户之间操作日志必须隔离。
- 平台用户可按授权范围查询多个客户日志。
- 客户管理员只能查询本客户范围内与其权限相关的日志。
- 普通业务用户默认不可进入操作日志查询页面。
- 操作失败也应记录日志,尤其是登录失败、权限拒绝、配置保存失败、导入失败等。
- 批量操作需要记录批次日志,并记录成功数量、失败数量和失败原因摘要。
- 操作日志保留天数由基础配置管理中的审计与日志配置控制。
- 超过保留期的日志处理策略由平台运维制度决定,产品 1.0 只要求支持按保留期查询和归档边界。
## 5.10.6 界面设计
### 5.10.6.1 功能入口与访问权限
操作日志作为基础平台审计查询功能,建议放置在基础平台左侧菜单:
```text
基础平台
└── 操作日志
```
页面访问规则:
- 平台超级管理员可查询全部日志。
- 平台运维人员可按授权范围查询日志。
- 实施人员可按项目授权范围查询客户日志。
- 客户管理员可按配置和授权范围查询本客户日志。
- 普通业务用户不展示操作日志菜单。
### 5.10.6.2 操作日志列表页
展示方式:
- 查询区域 + 数据表格。
- 查询条件较多时支持展开 / 收起。
- 查询按钮作为查询区域最后一个表单元素。
查询条件:
| 查询项 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 所属客户 | 客户选择器 / 只读文本 | 客户管理中已启用客户 | 平台用户可选;客户管理员只读当前客户 |
| 操作用户 | 用户选择器 | 用户与账号管理中的用户 | 可为空 |
| 来源应用 | 应用选择器 | 应用管理中的应用 | 可为空 |
| 操作模块 | 下拉框 | 客户管理、应用管理、组织管理等 | 可为空 |
| 操作类型 | 下拉框 | 新增、编辑、启用、停用、授权、回滚等 | 可为空 |
| 操作对象 | 文本输入框 | 人工录入 | 支持按对象名称或编号查询 |
| 操作结果 | 下拉框 | 全部、成功、失败、部分成功 | 默认全部 |
| 操作时间 | 日期时间范围选择器 | 人工选择 | 必填或默认最近 7 天 |
| 查询 | 按钮 | 用户点击 | 作为查询区域最后一个表单元素 |
列表字段:
| 字段 | 说明 |
| --- | --- |
| 操作时间 | 操作发生时间 |
| 操作用户 | 执行操作用户 |
| 所属客户 | 操作归属客户 |
| 来源应用 | 操作发生应用 |
| 操作模块 | 操作模块 |
| 操作类型 | 新增、编辑、启用、停用等 |
| 操作对象 | 对象名称和编号 |
| 操作结果 | 成功、失败、部分成功 |
| 操作 | 查看详情 |
### 5.10.6.3 操作日志详情页 / 弹窗
操作日志详情用于查看单条日志完整信息。
展示方式:
- 采用详情弹窗或右侧抽屉展示。
- 变更前后摘要采用左右对比或上下分区展示。
详情区域:
| 区域 | 展示内容 |
| --- | --- |
| 基础信息 | 操作时间、操作用户、登录账号、所属客户、当前组织 |
| 操作信息 | 来源应用、操作模块、操作类型、操作对象、操作结果 |
| 变更摘要 | 变更前摘要、变更后摘要 |
| 请求信息 | IP 地址、设备信息、请求流水号 |
| 失败信息 | 失败原因、错误摘要 |
页面规则:
- 敏感字段按脱敏策略展示。
- 普通查询人员不可查看完整敏感字段。
- 失败原因展示给运维或实施人员时可更详细,展示给客户管理员时应控制技术细节。
### 5.10.6.4 操作日志导出
操作日志导出用于审计和问题排查。
业务规则:
- 只有具备日志导出权限的用户可导出。
- 导出必须受当前查询条件和数据权限限制。
- 导出操作本身必须记录操作日志。
- 导出文件有效期由基础配置管理控制。
## 5.10.7 使用导航
### 5.10.7.1 查询操作日志
操作路径:
```text
基础平台 > 操作日志
```
操作步骤:
1. 进入操作日志列表页。
2. 按所属客户、操作用户、来源应用、操作模块、操作类型、操作对象、操作结果或操作时间查询。
3. 在列表中查看日志。
### 5.10.7.2 查看日志详情
操作路径:
```text
基础平台 > 操作日志 > 查看详情
```
操作步骤:
1. 查询目标日志。
2. 点击查看详情。
3. 系统打开日志详情页或弹窗。
4. 查看基础信息、操作信息、变更摘要、请求信息和失败信息。
### 5.10.7.3 导出操作日志
操作路径:
```text
基础平台 > 操作日志 > 导出
```
操作步骤:
1. 进入操作日志列表页。
2. 设置查询条件。
3. 点击导出。
4. 系统校验导出权限。
5. 系统按当前查询条件生成导出文件。
6. 系统记录导出操作日志。
## 5.10.8 验收标准
- 客户管理、应用管理、组织管理、用户与账号管理、角色管理、基础配置管理、消息与待办、数据字典、城市管理、支行信息管理的关键操作均生成操作日志。
- 登录成功、登录失败、退出登录、账号锁定、密码重置等安全操作均生成日志。
- 新增、编辑、启用、停用、授权、绑定、解绑、回滚、导入、导出等操作均可记录。
- 操作失败场景可记录失败日志和失败原因。
- 操作日志包含操作时间、操作用户、所属客户、来源应用、操作模块、操作类型、操作对象和操作结果。
- 操作日志支持按客户、用户、应用、模块、类型、对象、结果和时间查询。
- 操作日志详情可查看变更前后摘要。
- 敏感字段不明文展示。
- 不同客户之间日志隔离。
- 普通用户不可修改或删除操作日志。
- 具备权限的用户可导出操作日志,导出动作本身生成操作日志。

View File

@@ -0,0 +1,372 @@
# 5.11 数据字典
本文档从《基础平台产品设计》第 5 章拆分而来,用于独立描述基础平台功能模块的业务需求、规则和验收标准。
上级文档:[基础平台产品设计](../基础平台产品设计.md)
## 5.11.1 功能说明
数据字典用于维护基础平台和各业务应用可复用的枚举、状态值、颜色和展示顺序,为前端页面、后端接口、查询条件、状态标签和下拉选项提供统一值域来源。
数据字典解决以下问题:
- 统一维护字典编号和字典名称。
- 统一维护字典值编码、名称、排序、颜色、状态和备注。
- 支持按归属业务系统筛选字典。
- 支持业务系统按字典编号查询字典值。
- 支持停用字典或字典值后不影响历史数据展示。
数据字典不负责:
- 多语言文案维护。
- 字典审批、发布和版本管理。
- 字典值被业务引用后的统一反查。
- 字典自动同步到其他系统。
- 复杂业务规则配置。
## 5.11.2 功能范围
- 字典列表查询
- 字典详情查询
- 新增字典
- 编辑字典
- 删除字典
- 字典值维护
- 字典值新增
- 字典值删除
- 字典值启用 / 停用
- 字典值排序
- 字典值颜色维护
- 按归属业务系统筛选
- 按字典编号查询字典值
## 5.11.3 管理对象
数据字典首版只维护一个管理对象:字典。
每条字典记录归属于一个业务系统,并包含一组字典值。字典值不单独作为顶层管理对象,在字典新增 / 编辑抽屉内维护。
对象关系:
- 一个业务系统可拥有多个字典。
- 一个字典拥有多个字典值。
- 字典编号在未删除数据内唯一。
- 字典值编码在同一字典内唯一。
## 5.11.4 字段要求
### 5.11.4.1 字典字段
字典信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 字典编号 | 字典唯一编号 | 是 |
| 字典名称 | 字典展示名称 | 是 |
| 归属业务系统 | 字典归属系统 | 是 |
| 启用状态 | 启用、停用 | 是 |
| 备注 | 字典说明 | 否 |
| 字典值列表 | 当前字典包含的值列表 | 是 |
| 创建时间 | 字典创建时间 | 是 |
| 更新时间 | 字典最近更新时间 | 是 |
### 5.11.4.2 字典值字段
字典值信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 字典值编码 | 字典值唯一编码 | 是 |
| 字典值名称 | 字典值展示名称 | 是 |
| 排序 | 字典值展示顺序 | 是 |
| 展示颜色 | 字典值在标签、状态等场景中的展示颜色 | 否 |
| 启用状态 | 启用、停用 | 是 |
| 备注 | 字典值说明 | 否 |
## 5.11.5 编码与校验规则
### 5.11.5.1 字典编号规则
字典编号用于业务系统查询字典值,是前后端共同使用的稳定标识。
规则:
- 字典编号必填。
- 字典编号保存前统一去除首尾空格并转小写。
- 字典编号建议采用“表名_字段名”的蛇形命名方式。
- 示例:`system_dictionary_status``system_user_status``system_app_type`
- 未删除数据内字典编号唯一。
- 字典编号创建后原则上不允许修改。
### 5.11.5.2 字典字段校验
| 字段 | 校验规则 |
| --- | --- |
| 字典编号 | 必填,符合蛇形命名规则,未删除数据内唯一 |
| 字典名称 | 必填,长度 2-32 个字符 |
| 归属业务系统 | 必填,必须选择已存在业务系统 |
| 启用状态 | 必填,只允许启用、停用 |
| 备注 | 可空,最长 256 个字符 |
| 字典值列表 | 必填,至少包含一个字典值 |
### 5.11.5.3 字典值校验
| 字段 | 校验规则 |
| --- | --- |
| 字典值编码 | 必填,同一字典内忽略大小写后不得重复 |
| 字典值名称 | 必填 |
| 排序 | 必填,必须大于 0 |
| 展示颜色 | 可空,非空时必须符合十六进制颜色格式 |
| 启用状态 | 必填,只允许启用、停用 |
| 备注 | 可空 |
## 5.11.6 业务规则
- 字典必须归属于一个业务系统。
- 字典编号未删除数据内唯一。
- 字典值列表不能为空。
- 同一字典内字典值编码不可重复。
- 新增字典默认启用。
- 新增字典值默认启用。
- 停用字典后,业务系统默认不应继续读取该字典作为可选值。
- 停用字典值后,不影响历史数据展示,但新增或编辑业务数据时不应再作为可选项。
- 删除字典采用软删除。
- 删除字典前,首版不做统一引用反查;后续接入业务引用关系后,应支持引用阻断删除。
- 字典值排序由用户维护,拖拽排序后按顺序重建排序号。
- 字典保存成功后,前端按编号查询的缓存应失效,重新查询应返回最新字典值。
- 数据字典变更需要记录操作日志。
## 5.11.7 界面设计
### 5.11.7.1 功能入口与访问权限
数据字典作为基础平台基础资料管理功能,建议放置在基础平台左侧菜单:
```text
基础平台
└── 数据字典
```
页面访问规则:
- 平台超级管理员可维护全部字典。
- 产品管理员可维护其负责业务系统的字典。
- 实施人员可按授权范围查看或维护字典。
- 客户管理员默认不可维护系统级数据字典。
- 普通业务用户不可访问数据字典页面。
- 无数据字典权限的用户不展示数据字典菜单。
### 5.11.7.2 数据字典列表页
数据字典列表页用于查询和维护字典。
展示方式:
- 查询区域 + 数据表格 + 分页。
- 新增 / 编辑采用右侧抽屉。
- 查询条件较多时支持展开 / 收起。
- 查询按钮作为查询区域最后一个表单元素。
查询条件:
| 查询项 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 关键字 | 文本输入框 | 人工录入 | 匹配字典编号、字典名称、备注、字典值 |
| 启用状态 | 下拉框 | 全部、启用、停用 | 默认全部 |
| 归属业务系统 | 下拉框 / 应用选择器 | 应用管理中已启用业务系统 | 可为空 |
| 查询 | 按钮 | 用户点击 | 作为查询区域最后一个表单元素 |
| 重置 | 按钮 | 用户点击 | 清空查询条件 |
列表字段:
| 字段 | 说明 |
| --- | --- |
| 字典编号 | 字典唯一编号 |
| 字典名称 | 字典展示名称 |
| 归属业务系统 | 字典归属系统 |
| 启用状态 | 启用、停用 |
| 字典值预览 | 最多展示前三个字典值,超出部分显示数量提示 |
| 备注 | 字典说明 |
| 更新时间 | 最近更新时间 |
| 操作 | 编辑、删除 |
页面规则:
- 默认分页大小为 20。
- 字典值预览最多展示前三个值。
- 删除必须二次确认。
- 删除成功后刷新列表并失效对应缓存。
### 5.11.7.3 字典新增 / 编辑抽屉
字典新增 / 编辑抽屉用于维护字典基础信息和字典值列表。
展示方式:
- 右侧抽屉。
- 上方为基础信息表单。
- 下方为字典值列表。
- 底部固定操作按钮:取消、保存。
基础信息字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 字典编号 | 文本输入框 | 人工录入 | 必填,编辑时只读 |
| 字典名称 | 文本输入框 | 人工录入 | 必填 |
| 归属业务系统 | 下拉框 / 应用选择器 | 应用管理中已启用业务系统 | 必填 |
| 启用状态 | Switch | 人工选择 | 默认启用 |
| 备注 | 多行文本框 | 人工录入 | 选填 |
字典值列表字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 字典值编码 | 文本输入框 | 人工录入 | 必填,同一字典内唯一 |
| 字典值名称 | 文本输入框 | 人工录入 | 必填 |
| 排序 | 数字输入框 / 拖拽排序 | 人工录入或拖拽生成 | 必填 |
| 展示颜色 | 颜色选择器 / 文本输入框 | 人工选择或录入 | 选填 |
| 启用状态 | Switch | 人工选择 | 默认启用 |
| 备注 | 文本输入框 | 人工录入 | 选填 |
| 操作 | 按钮 | 用户点击 | 新增、删除、上移、下移 |
页面规则:
- 字典值列表不能为空。
- 支持新增字典值。
- 支持删除字典值。
- 支持拖拽排序或上移、下移。
- 支持启用、停用单个字典值。
- 保存前前端先做基础校验,后端再次执行同等或更严格校验。
- 保存失败时保留表单输入并展示中文错误信息。
### 5.11.7.4 字典详情页 / 弹窗
字典详情用于查看字典基础信息和字典值列表。
展示方式:
- 采用详情弹窗或右侧抽屉展示。
详情内容:
| 区域 | 展示内容 |
| --- | --- |
| 基础信息 | 字典编号、字典名称、归属业务系统、启用状态、备注 |
| 字典值列表 | 字典值编码、字典值名称、排序、颜色、启用状态、备注 |
| 审计信息 | 创建时间、更新时间、创建人、更新人 |
## 5.11.8 使用导航
### 5.11.8.1 查询数据字典
操作路径:
```text
基础平台 > 数据字典
```
操作步骤:
1. 进入数据字典列表页。
2. 按关键字、启用状态、归属业务系统查询。
3. 查看字典列表和字典值预览。
### 5.11.8.2 新增数据字典
操作路径:
```text
基础平台 > 数据字典 > 新增
```
操作步骤:
1. 进入数据字典列表页。
2. 点击新增。
3. 系统打开字典新增 / 编辑抽屉。
4. 填写字典编号、字典名称、归属业务系统、启用状态和备注。
5. 新增至少一个字典值。
6. 填写字典值编码、字典值名称、排序、颜色、状态和备注。
7. 保存字典。
8. 系统校验字典编号唯一性、字典值唯一性和颜色格式。
9. 保存成功后刷新列表并记录操作日志。
### 5.11.8.3 编辑数据字典
操作路径:
```text
基础平台 > 数据字典 > 编辑
```
操作步骤:
1. 查询目标字典。
2. 点击编辑。
3. 系统打开字典新增 / 编辑抽屉。
4. 修改字典名称、归属业务系统、启用状态、备注或字典值列表。
5. 保存字典。
6. 系统校验字典值唯一性和颜色格式。
7. 保存成功后刷新列表、失效按编号查询缓存,并记录操作日志。
### 5.11.8.4 删除数据字典
操作路径:
```text
基础平台 > 数据字典 > 删除
```
操作步骤:
1. 查询目标字典。
2. 点击删除。
3. 系统二次确认删除操作。
4. 删除成功后刷新列表、失效对应缓存,并记录操作日志。
### 5.11.8.5 按编号使用数据字典
使用场景:
```text
业务系统页面 / 接口 > 按字典编号查询字典值
```
业务步骤:
1. 业务系统按字典编号请求字典详情。
2. 基础平台返回字典基础信息和字典值列表。
3. 业务系统可按需要只使用启用状态字典值。
4. 字典被编辑或删除后,对应编号缓存失效。
## 5.11.9 权限资源
数据字典建议纳入应用菜单与按钮资源治理。
资源编码建议:
| 操作 | 权限资源 |
| --- | --- |
| 查看列表 | system.dictionary.view |
| 新增字典 | system.dictionary.create |
| 编辑字典 | system.dictionary.update |
| 删除字典 | system.dictionary.delete |
前端按钮显隐只消费后端授权结果;后端接口仍必须做真实权限校验,不能只依赖前端隐藏按钮。
## 5.11.10 验收标准
- 数据字典列表默认分页大小为 20。
- 可按关键字、启用状态、归属业务系统查询数据字典。
- 新增字典时,非法编号、空名称、空归属业务系统、空字典值必须被阻断。
- 字典编号重复时,后端必须阻断保存。
- 同一字典内重复字典值编码时,前端和后端均需阻断保存。
- 非法颜色格式必须被前端和后端阻断。
- 字典值支持新增、删除、启用、停用、排序、颜色和备注维护。
- 字典值预览最多展示前三个值,超出部分以数量提示。
- 编辑后按编号查询缓存必须失效,重新查询应返回最新字典值。
- 删除字典必须二次确认。
- 删除成功后列表刷新;删除不存在的字典应提示字典不存在。
- 停用字典值不影响历史数据展示。
- 数据字典新增、编辑、删除、字典值变更均生成操作日志。

View File

@@ -0,0 +1,534 @@
# 5.12 城市管理
本文档从《基础平台产品设计》第 5 章拆分而来,用于独立描述基础平台功能模块的业务需求、规则和验收标准。
上级文档:[基础平台产品设计](../基础平台产品设计.md)
## 5.12.1 功能说明
城市管理用于维护基础平台中的国家与行政区划主数据,为门店、组织、供应链、营销、结算、报表、门店选址规划系统等业务场景提供统一的地区引用来源。
城市管理首版解决以下问题:
- 管理国家主数据。
- 管理省份、城市、区县、街道四级行政层级。
- 维护内部城市编码、国家码和外部系统城市编码映射。
- 支持按国家浏览城市树。
- 支持按名称、编码、层级、状态查询城市节点。
- 支持新增、编辑、启用、停用和删除城市节点。
- 为后续业务系统引用国家与城市主数据提供稳定 ID、编码、层级和经纬度字段。
城市管理不负责:
- 门店、组织、人员等业务对象的城市归属维护。
- 第三方地图或地理编码 API 调用。
- 真实行政区划数据自动同步。
- 跨系统城市数据分发任务编排。
- 业务系统本地缓存刷新策略。
- 行政区划版本更新和批量导入,首版仅预留后续扩展。
## 5.12.2 功能范围
- 国家主数据维护
- 城市主数据维护
- 父子行政层级维护
- 城市编码维护
- 外部城市编码维护
- 经纬度基础信息维护
- 排序维护
- 启用 / 停用
- 删除前子级校验
- 删除前业务引用约束校验预留
- 城市树懒加载查询
- 城市分页查询
- 城市详情查询
## 5.12.3 管理对象
城市管理包含两个核心对象:国家和城市节点。
国家不作为城市树节点,国家通过页面顶部国家上下文进行选择。城市树只展示当前国家下的省、市、区县、街道四级节点。
城市节点层级固定为:
| 层级值 | 语义 | 说明 |
| --- | --- | --- |
| 1 | 省份 | 城市树根节点 |
| 2 | 城市 | 省份下级 |
| 3 | 区县 | 城市下级 |
| 4 | 街道 | 区县下级,首版不允许继续新增子级 |
## 5.12.4 字段要求
### 5.12.4.1 国家字段
国家信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 国家名称 | 国家正式名称,例如中国 | 是 |
| 国家简称 | 国家简称 | 否 |
| 国家码 | 电话国家码,例如中国为 86 | 是 |
| ISO Alpha-2 | ISO 3166-1 alpha-2例如 CN | 否 |
| ISO Alpha-3 | ISO 3166-1 alpha-3例如 CHN | 否 |
| 排序 | 国家列表展示顺序 | 是 |
| 启用状态 | 启用、停用 | 是 |
| 创建时间 | 国家档案创建时间 | 是 |
| 更新时间 | 国家档案最近更新时间 | 是 |
### 5.12.4.2 城市节点字段
城市节点信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 父级城市 | 当前节点的父级城市;省份为空 | 条件必填 |
| 城市名称 | 省、市、区县、街道名称 | 是 |
| 城市简称 | 城市简称 | 否 |
| 国家码 | 当前城市所属国家码 | 是 |
| 城市编码 | 行政业务编码,固定 8 位 | 是 |
| 外部编码 1 | 外部系统城市编码 1 | 否 |
| 外部编码 2 | 外部系统城市编码 2 | 否 |
| 层级 | 省份、城市、区县、街道 | 是 |
| 经度 | 城市经度 | 否 |
| 纬度 | 城市纬度 | 否 |
| 排序 | 同级节点展示顺序 | 是 |
| 启用状态 | 启用、停用 | 是 |
| 创建时间 | 城市节点创建时间 | 是 |
| 更新时间 | 城市节点最近更新时间 | 是 |
## 5.12.5 编码规则
### 5.12.5.1 国家码
国家码用于表达国家或地区电话国家码,当前中国默认为 `86`
业务规则:
- 国家码必填。
- 国家码只允许数字。
- 国家码全局唯一。
- 当前只维护中国城市主数据时,系统默认初始化中国 `86`
- 已存在城市节点的国家,首版不允许修改国家码。
### 5.12.5.2 城市编码
城市编码用于表达行政业务编码,不拼接国家码,固定为 8 位数字。
编码规则:
| 节点类型 | 编码规则 | 示例 |
| --- | --- | --- |
| 省份 | 省份 2 位 + 6 位补零 | 43000000 |
| 城市 | 省份 2 位 + 城市 2 位 + 4 位补零 | 43010000 |
| 区县 | 省份 2 位 + 城市 2 位 + 区县 2 位 + 2 位补零 | 43010200 |
| 街道 | 省份 2 位 + 城市 2 位 + 区县 2 位 + 街道 2 位 | 43010201 |
业务规则:
- 城市编码只允许数字,且固定 8 位。
- 城市编码不拼接国家码。
- 如接口或外部系统需要完整跨国编码,可由国家码 + 城市编码派生。
- 省直辖县级市等特殊行政编码需要保留有效行政码,避免压缩后丢失唯一性。
- 外部编码 1、外部编码 2 只用于外部系统城市编码映射,不参与行政层级判断。
## 5.12.6 业务规则
### 5.12.6.1 国家规则
- 国家管理首版不新增独立菜单,入口固定放在城市管理页顶部国家上下文右侧。
- 国家码必填且全局唯一。
- ISO Alpha-2、ISO Alpha-3 可为空,非空时必须全局唯一。
- 禁用国家后,不影响历史城市数据展示。
- 禁用国家后,不允许在该国家下新增城市节点。
- 删除国家前,必须校验该国家下是否存在未删除城市节点。
- 若国家下存在未删除城市节点,禁止删除国家。
### 5.12.6.2 城市层级规则
- 城市树根节点直接展示省份,不展示国家节点。
- 省份节点父级城市为空,层级必须为省份。
- 非省份节点必须选择父级城市。
- 非省份节点层级必须等于父级层级加 1。
- 非省份节点国家码必须与父节点一致。
- 街道节点不允许继续新增子级。
- 编辑城市节点时,首版不允许修改层级。
- 如后续需要调整城市层级或父级,应单独设计“移动城市节点”能力。
### 5.12.6.3 启停与删除规则
- 停用城市节点后,历史数据仍可展示。
- 停用城市节点后,不允许在该节点下新增子级。
- 停用节点在城市树中弱化展示,但不隐藏。
- 删除城市节点必须二次确认。
- 删除城市节点前,必须校验是否存在未删除子节点。
- 如存在未删除子节点,禁止删除。
- 删除城市节点前预留业务引用检查;当门店、组织、供应链、结算等系统已引用该城市时,禁止删除。
### 5.12.6.4 查询规则
- 国家上下文决定当前城市树和城市列表的数据范围。
- 当前只维护中国城市主数据时,页面默认显示中国 `86`
- 存在多个启用国家时,页面展示国家下拉筛选器。
- 查询关键字支持匹配城市名称、简称、国家码、城市编码、外部编码 1、外部编码 2。
- 层级按省份、城市、区县、街道精确筛选。
- 状态按启用、停用精确筛选。
- 查询区支持按 Enter 键触发查询。
## 5.12.7 界面设计
### 5.12.7.1 功能入口与访问权限
城市管理作为基础平台基础资料管理功能,建议放置在基础平台左侧菜单:
```text
基础平台
└── 城市管理
```
页面访问规则:
- 平台超级管理员可维护国家和城市主数据。
- 平台实施人员可按授权范围维护国家和城市主数据。
- 客户管理员默认不维护城市主数据,只能在业务系统中引用城市。
- 普通业务用户不可访问城市管理页面。
- 无城市管理权限的用户不展示城市管理菜单。
### 5.12.7.2 页面结构
城市管理采用“国家管理入口 + 国家上下文 + 查询区 + 左树右表 + 抽屉表单”的结构。
```text
┌──────────────────────────────────────────────────────────────────────────────┐
│ 国家上下文:国家 = 中国86 [国家管理] │
├──────────────────────────────────────────────────────────────────────────────┤
│ 关键字:[ ] 层级:[全部 v] 状态:[全部 v] [查询] │
├──────────────────────────┬───────────────────────────────────────────────────┤
│ 城市树 │ 城市列表 │
│ - 湖南省 43000000 │ 名称 简称 编码 外部编码 层级 经纬度 状态 排序 操作 │
│ - 长沙市 43010000 │ 长沙市 长沙 43010000 ... 城市 ... 启用 1 编辑 │
│ - 芙蓉区 43010200 │ │
├──────────────────────────┴───────────────────────────────────────────────────┤
│ 抽屉:新增 / 编辑城市节点 │
└──────────────────────────────────────────────────────────────────────────────┘
```
页面区域规则:
- 国家上下文固定在页面顶部。
- 国家管理入口放在国家上下文右侧。
- 查询区位于国家上下文下方。
- 主体区域左侧为城市树,右侧为城市列表。
- 抽屉从右侧打开,用于新增和编辑城市节点。
- 移动端或窄屏下,左侧树可改为顶部下拉树选择器,列表仍作为主工作区。
### 5.12.7.3 国家管理弹窗
国家管理用于维护国家主数据,首版采用列表 + 表单弹窗方式。
展示方式:
- 查询区域 + 国家列表。
- 新增 / 编辑国家采用表单弹窗。
查询条件:
| 查询项 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 关键字 | 文本输入框 | 人工录入 | 匹配国家名称、简称、国家码、ISO2、ISO3 |
| 启用状态 | 下拉框 | 全部、启用、停用 | 默认全部 |
| 查询 | 按钮 | 用户点击 | 作为查询区域最后一个表单元素 |
列表字段:
| 字段 | 说明 |
| --- | --- |
| 国家名称 | 国家正式名称 |
| 国家简称 | 国家简称 |
| 国家码 | 电话国家码 |
| ISO Alpha-2 | ISO 2 位编码 |
| ISO Alpha-3 | ISO 3 位编码 |
| 启用状态 | 启用、停用 |
| 排序 | 展示顺序 |
| 操作 | 编辑、启用、停用、删除 |
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 国家名称 | 文本输入框 | 人工录入 | 必填 |
| 国家简称 | 文本输入框 | 人工录入 | 选填 |
| 国家码 | 文本输入框 | 人工录入 | 必填,全局唯一 |
| ISO Alpha-2 | 文本输入框 | 人工录入 | 选填,非空唯一 |
| ISO Alpha-3 | 文本输入框 | 人工录入 | 选填,非空唯一 |
| 启用状态 | Radio | 启用、停用 | 必填 |
| 排序 | 数字输入框 | 人工录入 | 默认 1 |
### 5.12.7.4 国家上下文
国家上下文用于展示和限定当前城市树所属国家。
展示规则:
- 当前只维护中国城市主数据时显示只读文本中国86
- 存在多个启用国家时,展示国家下拉选择器。
- 切换国家后,左侧城市树和右侧列表整体刷新。
- 所有树查询、列表查询、新增、编辑请求都携带当前国家码。
- 新增省份时,表单自动带入当前国家码。
- 新增市、区县、街道时,表单继承父节点国家码。
### 5.12.7.5 查询区
查询区用于在当前国家范围内检索城市节点。
查询条件:
| 查询项 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 关键字 | 文本输入框 | 人工录入 | 匹配名称、简称、国家码、城市编码、外部编码 |
| 层级 | 下拉框 | 全部、省份、城市、区县、街道 | 可为空 |
| 启用状态 | 下拉框 | 全部、启用、停用 | 默认全部 |
| 查询 | 按钮 | 用户点击 | 作为查询区域最后一个表单元素 |
页面规则:
- 查询区不提供重置按钮。
- 支持按 Enter 键触发查询。
### 5.12.7.6 城市树区
城市树用于展示当前国家下的城市层级结构。
展示方式:
- 树形结构。
- 懒加载直接子级。
- 树节点展示城市名称,辅助展示城市编码。
页面规则:
- 默认只加载当前国家下的省份节点。
- 默认按层级、排序、城市编码排序。
- 点击树节点后,右侧列表默认查询该节点的直接子级。
- 展开某个树节点时,只请求该节点直接子级。
- 停用节点弱化展示,但不从树中隐藏。
- 街道节点不展示展开控件。
### 5.12.7.7 城市列表区
城市列表用于维护当前筛选范围下的城市节点。
列表字段:
| 字段 | 说明 |
| --- | --- |
| 城市名称 | 城市节点名称 |
| 城市简称 | 城市简称 |
| 城市编码 | 8 位行政业务编码 |
| 国家码 | 所属国家码 |
| 外部编码 1 | 外部系统城市编码 1 |
| 外部编码 2 | 外部系统城市编码 2 |
| 层级 | 省份、城市、区县、街道 |
| 经度 | 城市经度 |
| 纬度 | 城市纬度 |
| 启用状态 | 启用、停用 |
| 排序 | 同级展示顺序 |
| 操作 | 新增子级、编辑、启用 / 停用、删除 |
页面规则:
- 默认每页 20 条。
- 支持切换每页条数。
- 空状态文案为:暂无城市数据。
- 删除必须二次确认。
- 街道节点不展示新增子级操作。
### 5.12.7.8 城市新增 / 编辑抽屉
城市新增 / 编辑抽屉用于维护单个城市节点。
展示方式:
- 右侧抽屉。
- 表单方式展示。
- 底部固定操作按钮:取消、保存。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 父级城市 | 树形选择器 / 只读文本 | 当前城市树 | 新增子级时自动带入 |
| 层级 | 只读文本 / 下拉框 | 根据父级自动计算 | 编辑时只读 |
| 城市名称 | 文本输入框 | 人工录入 | 必填 |
| 城市简称 | 文本输入框 | 人工录入 | 选填 |
| 城市编码 | 文本输入框 | 人工录入 | 必填8 位数字 |
| 国家码 | 只读文本 | 当前国家上下文或父节点 | 必填 |
| 外部编码 1 | 文本输入框 | 人工录入 | 选填 |
| 外部编码 2 | 文本输入框 | 人工录入 | 选填 |
| 经度 | 数字输入框 | 人工录入 | 选填 |
| 纬度 | 数字输入框 | 人工录入 | 选填 |
| 启用状态 | Radio | 启用、停用 | 必填 |
| 排序 | 数字输入框 | 人工录入 | 默认 1 |
表单规则:
- 从新增子级进入时,父级城市自动带入,层级自动等于父级层级加 1。
- 新增省份时,父级城市为空,层级只能为省份。
- 编辑时不允许随意修改层级。
- 状态使用 Radio。
- 排序默认值为 1。
## 5.12.8 字段校验
### 5.12.8.1 国家字段校验
| 字段 | 校验规则 |
| --- | --- |
| 国家名称 | 必填,长度 1-255 |
| 国家简称 | 可空,最大长度 64 |
| 国家码 | 必填,允许 1-3 位数字,全局唯一 |
| ISO Alpha-2 | 可空,非空时必须为 2 位大写字母,且全局唯一 |
| ISO Alpha-3 | 可空,非空时必须为 3 位大写字母,且全局唯一 |
| 排序 | 必填,必须大于等于 0 |
| 启用状态 | 必填,只允许启用或停用 |
### 5.12.8.2 城市字段校验
| 字段 | 校验规则 |
| --- | --- |
| 父级城市 | 省份可为空;非省份必填且必须是同国家下已存在父级城市 |
| 城市名称 | 必填,长度 1-255 |
| 城市简称 | 可空,最大长度 64 |
| 国家码 | 必填,允许 1-3 位数字 |
| 城市编码 | 固定 8 位数字 |
| 外部编码 1 | 可空,最大长度 64 |
| 外部编码 2 | 可空,最大长度 64 |
| 层级 | 必填,只允许省份、城市、区县、街道 |
| 排序 | 必填,必须大于等于 0 |
| 经度 | 可空,范围 -180 到 180保留 6 位小数 |
| 纬度 | 可空,范围 -90 到 90保留 6 位小数 |
| 启用状态 | 必填,只允许启用或停用 |
## 5.12.9 使用导航
### 5.12.9.1 维护国家
操作路径:
```text
基础平台 > 城市管理 > 国家管理
```
操作步骤:
1. 进入城市管理页面。
2. 点击国家管理。
3. 查询国家列表。
4. 新增、编辑、启用、停用或删除国家。
5. 系统校验国家码唯一性和城市引用关系。
6. 系统保存国家信息并记录操作日志。
### 5.12.9.2 查询城市
操作路径:
```text
基础平台 > 城市管理
```
操作步骤:
1. 进入城市管理页面。
2. 确认当前国家上下文。
3. 按关键字、层级、状态查询城市。
4. 在左侧城市树选择节点。
5. 在右侧列表查看该节点的直接子级或查询结果。
### 5.12.9.3 新增城市节点
操作路径:
```text
基础平台 > 城市管理 > 城市列表 > 新增子级
```
操作步骤:
1. 进入城市管理页面。
2. 在城市树或城市列表中选择父级节点。
3. 点击新增子级。
4. 系统打开城市新增 / 编辑抽屉。
5. 系统自动带入父级城市、层级和国家码。
6. 填写城市名称、编码、外部编码、经纬度、状态和排序。
7. 保存城市节点。
8. 系统刷新城市树和城市列表,并记录操作日志。
### 5.12.9.4 编辑城市节点
操作路径:
```text
基础平台 > 城市管理 > 城市列表 > 编辑
```
操作步骤:
1. 查询目标城市节点。
2. 点击编辑。
3. 系统打开城市新增 / 编辑抽屉。
4. 修改城市名称、简称、外部编码、经纬度、状态或排序。
5. 保存城市节点。
6. 系统刷新城市树和城市列表,并记录操作日志。
### 5.12.9.5 启用 / 停用城市节点
操作路径:
```text
基础平台 > 城市管理 > 城市列表 > 启用 / 停用
```
操作步骤:
1. 查询目标城市节点。
2. 点击启用或停用。
3. 停用时,系统提示停用影响。
4. 确认操作。
5. 系统更新城市状态,并记录操作日志。
### 5.12.9.6 删除城市节点
操作路径:
```text
基础平台 > 城市管理 > 城市列表 > 删除
```
操作步骤:
1. 查询目标城市节点。
2. 点击删除。
3. 系统二次确认删除操作。
4. 系统校验是否存在未删除子节点。
5. 系统预留校验是否存在业务引用。
6. 校验通过后删除城市节点,并记录操作日志。
## 5.12.10 验收标准
- 可维护国家主数据。
- 中国 `86` 可作为首版默认国家。
- 城市树根节点直接展示省份,不展示国家节点。
- 城市支持省份、城市、区县、街道四级层级。
- 城市树支持懒加载直接子级。
- 点击树节点后,右侧列表展示直接子级。
- 可按关键字、层级、状态查询城市节点。
- 可新增、编辑、启用、停用、删除城市节点。
- 街道节点不可新增子级。
- 停用节点在树中弱化展示但不隐藏。
- 删除国家时,如存在城市节点,则禁止删除。
- 删除城市节点时,如存在未删除子节点,则禁止删除。
- 城市编码必须为 8 位数字。
- 经度、纬度校验范围正确。
- 无权限用户不可见国家管理和城市管理相关按钮。
- 直接调用无权限接口时应被拒绝。
- 国家新增、编辑、启用、停用、删除,以及城市新增、编辑、启用、停用、删除均生成操作日志。

View File

@@ -0,0 +1,456 @@
# 5.13 支行信息管理
本文档从《基础平台产品设计》第 5 章拆分而来,用于独立描述基础平台功能模块的业务需求、规则和验收标准。
上级文档:[基础平台产品设计](../基础平台产品设计.md)
## 5.13.1 功能说明
支行信息管理用于维护基础平台中的银行总行、支行、支行号、银行侧城市编码和行政省市映射资料,为结算、对账、分账、收付款、门店开户资料、供应商资料等业务系统提供统一的银行支行引用来源。
支行信息管理首版解决以下问题:
- 统一维护总行编号和总行名称。
- 统一维护支行号、支行名称和支行地址。
- 维护银行侧城市编码,并明确其与行政区域编码不是同一套编码体系。
- 维护省、市行政区域编码,便于按城市管理资料筛选和关联。
- 支持按总行、支行、支行号、银行城市码、省市和状态查询支行信息。
- 支持新增、编辑、启用、停用和删除支行信息。
- 为后续结算账户、门店账户、供应商账户引用提供稳定的银行支行数据来源。
支行信息管理不负责:
- 企业银行账户、门店账户、供应商账户维护。
- 银行卡号、账户号、户名一致性校验。
- 支付通道、银企直连、清算渠道或资金路由配置。
- 第三方银行联行号数据自动同步。
- 银行联行号全量导入。
- 银行侧城市码字典同步。
- 业务系统侧银行引用关系反向写入。
## 5.13.2 功能范围
- 支行信息维护
- 总行编号与总行名称维护
- 支行号、支行名称和支行地址维护
- 银行侧城市编码维护
- 省、市行政区域编码维护
- 启用 / 停用
- 删除前业务引用约束校验预留
- 支行分页查询
- 支行详情查询
- 总行筛选候选查询
## 5.13.3 管理对象
支行信息管理首版只维护一个管理对象:银行支行记录。
每条记录代表一个可被业务引用的银行支行或银行网点。
首版不拆分独立总行管理。总行编号和总行名称随支行记录保存,满足查询、展示和业务引用需要。后续如果出现总行独立生命周期、总行级配置、跨支行批量治理等需求,再评估拆分总行管理和支行管理。
## 5.13.4 字段要求
支行信息至少包括:
| 字段 | 说明 | 是否必填 |
| --- | --- | --- |
| 总行编号 | 银行总行编码 | 否 |
| 总行名称 | 银行总行名称 | 否 |
| 支行号 | 支行号或联行号 | 启用时必填 |
| 支行名称 | 支行或网点名称 | 启用时必填 |
| 支行地址 | 支行详细地址 | 否 |
| 银行侧城市编码 | 银行数据源中的城市编码 | 否 |
| 省份 | 行政省份,来源于城市管理 | 否 |
| 城市 | 行政城市,来源于城市管理 | 否 |
| 启用状态 | 启用、停用 | 是 |
| 创建时间 | 支行信息创建时间 | 是 |
| 更新时间 | 支行信息最近更新时间 | 是 |
| 创建人 | 创建支行信息的用户 | 是 |
| 更新人 | 最近更新支行信息的用户 | 是 |
## 5.13.5 编码与映射规则
### 5.13.5.1 支行号规则
支行号用于业务系统引用具体银行支行或银行网点。
规则如下:
- 支行号非空时,在未删除数据内全局唯一。
- 支行号最长 64 个字符。
- 支行号非空时只允许字母、数字、短横线和下划线。
- 启用状态下,支行号必填。
- 支行号创建后允许编辑,但编辑时必须重新校验唯一性。
- 已被业务系统引用的支行号不建议修改;首版先预留引用检查和风险提示。
### 5.13.5.2 总行编号规则
总行编号用于按银行总行筛选和聚合支行信息。
规则如下:
- 总行编号最长 64 个字符。
- 总行编号允许为空。
- 总行编号相同的记录应尽量保持总行名称一致。
- 首版不强制维护总行编号唯一性。
- 总行编号和总行名称不构成独立总行档案。
### 5.13.5.3 城市编码映射规则
支行信息同时保存两套城市编码:
| 字段 | 编码体系 | 用途 |
| --- | --- | --- |
| 银行侧城市编码 | 银行侧编码 | 银行联行、结算、开户行资料中的城市编码 |
| 省份 | 行政区域编码 | 按省份筛选、展示和对齐城市管理 |
| 城市 | 行政区域编码 | 按城市筛选、展示和对齐城市管理 |
规则如下:
- 银行侧城市编码不参与行政层级校验。
- 省份和城市来源于城市管理。
- 城市非空时,省份必填。
- 城市必须属于所选省份。
- 如果银行数据源只提供银行侧城市编码,允许先只填写银行侧城市编码,后续再补行政省市映射。
- 页面展示时优先显示行政省市名称;未匹配到城市主数据时显示原始编码,并给出弱提示。
## 5.13.6 业务规则
### 5.13.6.1 查询规则
- 支持按关键字模糊查询。
- 关键字匹配总行编号、总行名称、支行号、支行名称、支行地址和银行侧城市编码。
- 支持按总行筛选。
- 支持按省份、城市筛选。
- 支持按启用状态筛选。
- 省份变化后自动清空城市筛选。
- 列表默认按更新时间倒序展示。
- 默认每页 20 条。
### 5.13.6.2 新增规则
- 新增支行信息时,默认状态为启用。
- 启用状态下,支行号和支行名称必填。
- 支行号非空时必须校验全局唯一。
- 城市非空时必须先选择省份。
- 银行侧城市编码和行政省市可以同时为空,但不建议长期为空。
### 5.13.6.3 编辑规则
- 编辑支行信息时,允许修改总行编号、总行名称、支行号、支行名称、支行地址、银行侧城市编码、省份、城市和状态。
- 编辑支行号时必须重新校验唯一性。
- 已被结算账户、门店账户或供应商账户引用的支行信息,编辑关键字段时应给出风险提示。
- 已停用的支行信息仍可编辑。
### 5.13.6.4 启停规则
- 停用后,业务系统不应在新增业务资料时继续选择该支行。
- 停用不影响历史业务单据、历史账户资料和历史结算记录展示。
- 启用时必须校验支行号和支行名称已填写。
### 5.13.6.5 删除规则
- 删除采用软删除。
- 删除必须二次确认。
- 已被结算账户、门店账户、供应商账户等业务对象引用的支行信息,必须禁止删除。
- 首版可以先预留引用检查口;后续业务系统接入后必须补齐真实引用校验。
- 删除后不在默认列表展示。
- 删除后的支行号不建议复用;如后端允许复用,必须确保不会影响历史引用。
## 5.13.7 界面设计
### 5.13.7.1 功能入口与访问权限
支行信息管理作为基础平台基础资料管理功能,建议放置在基础平台左侧菜单:
```text
基础平台
└── 支行信息管理
```
访问规则:
- 平台管理员可维护支行信息。
- 客户管理员默认不可维护系统级支行信息。
- 普通业务用户不可访问支行信息管理页面。
- 无支行信息管理权限的用户不展示支行信息管理菜单。
### 5.13.7.2 页面结构
支行信息管理采用“查询区 + 操作区 + 表格列表 + 抽屉表单”的结构。
简化原型:
```text
+------------------------------------------------------------------+
| 查询区:关键字 / 总行 / 省份 / 城市 / 状态 / 查询 / 重置 |
+------------------------------------------------------------------+
| 操作区:新增支行信息 |
+------------------------------------------------------------------+
| 表格:总行编号 / 总行名称 / 支行号 / 支行名称 / 银行城市码 |
| 省份 / 城市 / 支行地址 / 状态 / 更新时间 / 操作 |
+------------------------------------------------------------------+
| 抽屉:新增 / 编辑支行信息 |
+------------------------------------------------------------------+
```
页面规则:
- 查询区固定在页面顶部。
- 查询条件较多时支持展开和收起。
- 查询按钮作为查询表单最后一个表单元素。
- 列表默认按更新时间倒序展示。
- 表单使用右侧抽屉,宽度建议 560-720px。
- 移动端或窄屏下,查询区折叠为多行,列表保持横向滚动,不压缩关键字段。
### 5.13.7.3 查询区
查询区字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 关键字 | 文本输入框 | 人工录入 | 匹配总行编号、总行名称、支行号、支行名称、支行地址、银行侧城市编码 |
| 总行 | 远程下拉框 | 已有支行信息聚合出的总行候选 | 展示总行名称,提交总行编号 |
| 省份 | 下拉框 / 树形选择器 | 城市管理中的省份数据 | 选中后过滤城市候选 |
| 城市 | 下拉框 / 树形选择器 | 城市管理中的城市数据 | 省份变化后清空 |
| 状态 | 下拉框 | 启用、停用 | 默认全部 |
| 查询 | 按钮 | 用户点击 | 查询按钮放在查询条件最后 |
| 重置 | 按钮 | 用户点击 | 清空查询条件并重新查询 |
### 5.13.7.4 列表区
列表区展示支行分页数据。
展示方式:
- 表格。
- 默认每页 20 条。
- 支持分页切换。
- 支持横向滚动。
列表字段:
| 字段 | 展示方式 | 说明 |
| --- | --- | --- |
| 总行编号 | 文本 | 为空显示 `-` |
| 总行名称 | 文本 | 为空显示 `-` |
| 支行号 | 文本 | 为空显示 `-` |
| 支行名称 | 文本 | 为空显示 `-` |
| 银行侧城市编码 | 文本 | 与行政城市编码并列展示 |
| 省份 | 文本 + Tooltip | 优先展示省份名称Tooltip 展示编码 |
| 城市 | 文本 + Tooltip | 优先展示城市名称Tooltip 展示编码 |
| 支行地址 | 文本省略 + Tooltip | 过长省略 |
| 状态 | Tag / Switch | 启用、停用 |
| 更新时间 | 日期时间 | 最近更新时间 |
| 操作 | 按钮组 | 编辑、启用 / 停用、删除 |
行操作规则:
- 点击编辑,打开右侧编辑抽屉。
- 点击启用 / 停用,二次确认后更新状态。
- 点击删除,二次确认后执行软删除。
- 删除失败时,需要明确提示是否存在业务引用。
- 支行号为空时允许展示,但启用状态下不允许保存为空。
### 5.13.7.5 支行新增 / 编辑抽屉
支行新增 / 编辑抽屉用于维护单条支行信息。
展示方式:
- 右侧抽屉。
- 表单方式展示。
- 底部固定操作按钮:取消、保存。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 总行编号 | 文本输入框 | 人工录入 / 选择总行后带入 | 最长 64 字符 |
| 总行名称 | 文本输入框 | 人工录入 / 选择总行后带入 | 最长 128 字符 |
| 支行号 | 文本输入框 | 人工录入 | 启用时必填,非空唯一 |
| 支行名称 | 文本输入框 | 人工录入 | 启用时必填 |
| 支行地址 | 文本输入框 / 多行文本框 | 人工录入 | 选填,最长 255 字符 |
| 银行侧城市编码 | 文本输入框 | 人工录入 | 选填,不等同于行政城市编码 |
| 省份 | 下拉框 / 树形选择器 | 城市管理中的省份数据 | 选填 |
| 城市 | 下拉框 / 树形选择器 | 城市管理中的城市数据 | 省份选择后加载 |
| 状态 | Radio / Switch | 启用、停用 | 必填,新增默认启用 |
表单规则:
- 保存前校验支行号唯一性。
- 启用状态下,支行号和支行名称必填。
- 支行号非空时只允许字母、数字、短横线和下划线。
- 城市非空时,省份必填。
- 省份变化后,城市自动清空。
- 银行侧城市编码旁需要展示提示:银行侧城市编码不等同于行政城市编码。
- 保存失败时保留表单内容,并展示明确错误信息。
### 5.13.7.6 支行详情页 / 弹窗
支行详情用于查看单条支行信息。
展示方式:
- 弹窗或抽屉。
- 只读描述列表。
展示区域:
| 区域 | 内容 |
| --- | --- |
| 总行信息 | 总行编号、总行名称 |
| 支行信息 | 支行号、支行名称、支行地址、启用状态 |
| 城市映射 | 银行侧城市编码、省份、城市 |
| 系统信息 | 创建时间、创建人、更新时间、更新人 |
## 5.13.8 字段校验
字段校验规则:
| 字段 | 校验规则 |
| --- | --- |
| 总行编号 | 选填,最长 64 字符 |
| 总行名称 | 选填,最长 128 字符 |
| 支行号 | 启用时必填,最长 64 字符,非空唯一,只允许字母、数字、短横线和下划线 |
| 支行名称 | 启用时必填,最长 255 字符 |
| 支行地址 | 选填,最长 255 字符 |
| 银行侧城市编码 | 选填,最长 64 字符 |
| 省份 | 选填,必须来源于城市管理 |
| 城市 | 选填,必须来源于城市管理;城市非空时省份必填 |
| 状态 | 必填,取值为启用、停用 |
## 5.13.9 使用导航
### 5.13.9.1 查询支行信息
入口路径:
```text
基础平台 > 支行信息管理
```
操作步骤:
1. 进入支行信息管理页面。
2. 输入关键字,或选择总行、省份、城市、状态。
3. 点击查询。
4. 系统展示符合条件的支行分页列表。
5. 如需重新查询,点击重置后重新输入条件。
### 5.13.9.2 新增支行信息
入口路径:
```text
基础平台 > 支行信息管理 > 新增支行信息
```
操作步骤:
1. 进入支行信息管理页面。
2. 点击新增支行信息。
3. 系统打开新增抽屉。
4. 填写总行编号、总行名称、支行号、支行名称、支行地址。
5. 按需填写银行侧城市编码。
6. 按需选择省份和城市。
7. 选择启用状态。
8. 点击保存。
9. 系统校验支行号唯一性、启用状态必填项和城市归属。
10. 保存成功后关闭抽屉并刷新列表。
### 5.13.9.3 编辑支行信息
入口路径:
```text
基础平台 > 支行信息管理 > 编辑
```
操作步骤:
1. 查询需要维护的支行信息。
2. 点击编辑。
3. 系统打开编辑抽屉并回显支行信息。
4. 修改总行信息、支行信息、银行侧城市编码、行政省市或状态。
5. 点击保存。
6. 系统完成校验后保存。
7. 保存成功后关闭抽屉并刷新列表。
### 5.13.9.4 启用 / 停用支行信息
入口路径:
```text
基础平台 > 支行信息管理 > 启用 / 停用
```
操作步骤:
1. 查询需要处理的支行信息。
2. 点击启用或停用。
3. 系统弹出二次确认。
4. 用户确认后系统更新状态。
5. 状态更新成功后刷新列表。
### 5.13.9.5 删除支行信息
入口路径:
```text
基础平台 > 支行信息管理 > 删除
```
操作步骤:
1. 查询需要删除的支行信息。
2. 点击删除。
3. 系统弹出二次确认。
4. 用户确认后系统检查是否存在业务引用。
5. 如不存在引用,系统软删除支行信息并刷新列表。
6. 如存在引用,系统禁止删除并提示引用原因。
## 5.13.10 权限资源
支行信息管理建议纳入应用菜单与按钮资源治理。
权限资源建议如下:
| 权限资源 | 说明 |
| --- | --- |
| `system.bank.query` | 查询支行信息 |
| `system.bank.create` | 新增支行信息 |
| `system.bank.update` | 编辑支行信息 |
| `system.bank.update_status` | 启用 / 停用支行信息 |
| `system.bank.delete` | 删除支行信息 |
权限规则:
- 无查询权限,不展示支行信息管理菜单。
- 无新增权限,不展示新增支行信息按钮。
- 无编辑权限,不展示编辑按钮。
- 无启停权限,不展示启用 / 停用按钮。
- 无删除权限,不展示删除按钮。
- 后端接口必须进行真实权限校验,前端按钮显隐不能替代后端鉴权。
## 5.13.11 验收标准
- 支行信息管理菜单可按权限展示。
- 无权限用户不可访问支行信息管理页面。
- 支行列表默认分页大小为 20。
- 可按关键字、总行、省份、城市、状态查询支行信息。
- 关键字可匹配总行编号、总行名称、支行号、支行名称、支行地址、银行侧城市编码。
- 省份变化后,城市查询条件自动清空。
- 新增支行信息时,启用状态下支行号和支行名称必填。
- 支行号非空时必须校验全局唯一。
- 支行号格式不合法时,前端和后端均必须阻断保存。
- 城市非空但省份为空时,前端和后端均必须阻断保存。
- 城市不属于所选省份时,前端和后端均必须阻断保存。
- 银行侧城市编码与行政省市编码在页面上必须并列展示,不能混用。
- 启用支行信息时,必须校验支行号和支行名称已填写。
- 停用支行信息后,新增业务资料不可继续选择该支行。
- 删除支行信息必须二次确认。
- 存在业务引用的支行信息禁止删除。
- 删除成功后,支行信息不在默认列表展示。
- 支行信息新增、编辑、启停、删除均生成操作日志。

View File

@@ -0,0 +1,19 @@
# 基础平台功能模块
本目录用于承接《基础平台产品设计》第 5 章的功能模块详细设计。每个功能模块独立成文档,便于研发拆分任务、测试编写用例、产品进行范围控制。
| 编号 | 功能模块 | 文档 |
| --- | --- | --- |
| 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) |

View File

@@ -0,0 +1,52 @@
# 平台运行配置
本文档为《基础配置管理》下的独立配置页面设计,用于描述该配置项目的配置清单、界面设计、业务规则和验收关注点。
上级文档:[基础配置管理](../08-基础配置管理.md)
## 配置清单
平台运行配置用于维护基础平台自身运行参数,由平台管理员维护。
推荐配置:
| 配置名称 | 配置说明 | 配置层级 | 1.0 建议 |
| --- | --- | --- | --- |
| 平台名称 | 门户头部展示的平台名称 | 平台级 | 必须 |
| 平台 Logo | 门户头部展示的 Logo 地址或资源标识 | 平台级 | 必须 |
| 默认语言 | 用户未设置语言时的默认语言 | 平台级 | 必须 |
| 默认主题 | 用户未设置主题时的默认主题 | 平台级 | 必须 |
| 默认分页条数 | 列表页默认分页大小 | 平台级 | 必须 |
| 文件上传大小限制 | 基础平台通用上传文件大小限制 | 平台级 | 建议 |
| 导出文件有效期 | 导出文件可下载的有效时间 | 平台级 | 建议 |
| 系统维护公告 | 平台维护、升级、停机提示内容 | 平台级 | 建议 |
## 界面设计
平台运行配置页用于维护平台展示和通用运行参数。
展示方式:
- 采用分组表单展示。
- 分组包括:平台展示、通用列表、文件与导出、系统公告。
- 页面底部固定操作按钮:取消、保存。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 平台名称 | 文本输入框 | 人工录入 | 门户头部展示名称 |
| 平台 Logo | 图片上传 / 资源选择器 | 上传或选择平台资源 | 门户头部展示 Logo |
| 默认语言 | 下拉框 | 语言字典 | 用户未设置语言时使用 |
| 默认主题 | 下拉框 | 主题字典 | 用户未设置主题时使用 |
| 默认分页条数 | 数字输入框 | 人工录入 | 列表页默认分页大小 |
| 文件上传大小限制 | 数字输入框 + 单位选择 | 人工录入 | 通用上传限制 |
| 导出文件有效期 | 数字输入框 + 单位选择 | 人工录入 | 导出文件可下载时长 |
| 系统维护公告 | 多行文本框 | 人工录入 | 可为空 |
| 启用状态 | Switch | 人工选择 | 控制该组配置是否启用 |
页面规则:
- 平台名称、默认语言、默认主题、默认分页条数为必填。
- 保存后生成配置版本。
- 修改平台展示类配置后,用户刷新门户时生效。

View File

@@ -0,0 +1,55 @@
# 登录与安全配置
本文档为《基础配置管理》下的独立配置页面设计,用于描述该配置项目的配置清单、界面设计、业务规则和验收关注点。
上级文档:[基础配置管理](../08-基础配置管理.md)
## 配置清单
登录与安全配置用于支撑统一登录、账号安全、Token 有效期和密码策略。
推荐配置:
| 配置名称 | 配置说明 | 配置层级 | 1.0 建议 |
| --- | --- | --- | --- |
| Token 有效期 | 用户登录后 Token 的有效时间 | 平台级 | 必须 |
| Token 刷新有效期 | Token 可被刷新的最大时间范围 | 平台级 | 必须 |
| 登录失败锁定次数 | 连续登录失败达到次数后锁定账号 | 平台级 | 必须 |
| 登录失败锁定时长 | 账号被锁定后的自动解锁时长 | 平台级 | 必须 |
| 初始密码生成规则 | 系统生成初始密码的规则 | 平台级 | 必须 |
| 密码复杂度规则 | 密码长度、字符类型等要求 | 平台级 | 必须 |
| 首次登录修改密码 | 新建平台账号首次登录是否强制改密 | 平台级 / 客户级 | 必须 |
| 密码有效期 | 密码到期后是否要求修改 | 平台级 / 客户级 | 建议 |
| 第三方账号绑定开关 | 是否允许绑定微信、企微、钉钉、飞书等第三方账号 | 平台级 / 客户级 | 建议 |
## 界面设计
登录与安全配置页用于维护统一登录、Token、账号密码和第三方账号绑定相关参数。
展示方式:
- 采用分组表单展示。
- 分组包括Token 策略、登录失败策略、密码策略、第三方账号策略。
- 页面底部固定操作按钮:取消、保存。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| Token 有效期 | 数字输入框 + 单位选择 | 人工录入 | 必填 |
| Token 刷新有效期 | 数字输入框 + 单位选择 | 人工录入 | 必填 |
| 登录失败锁定次数 | 数字输入框 | 人工录入 | 必填 |
| 登录失败锁定时长 | 数字输入框 + 单位选择 | 人工录入 | 必填 |
| 初始密码生成规则 | 下拉框 / 表单组合 | 平台预置规则 | 必填 |
| 密码最小长度 | 数字输入框 | 人工录入 | 必填 |
| 密码复杂度要求 | Checkbox 组 | 大写字母、小写字母、数字、特殊字符 | 必填 |
| 首次登录修改密码 | Switch | 人工选择 | 默认开启 |
| 密码有效期 | 数字输入框 + 单位选择 | 人工录入 | 可为空 |
| 允许第三方账号绑定 | Switch | 人工选择 | 控制微信、企微、钉钉、飞书绑定能力 |
页面规则:
- Token 刷新有效期应大于 Token 有效期。
- 登录失败锁定次数必须大于 0。
- 密码复杂度保存前需要校验规则完整性。
- 影响登录安全的配置保存时需要二次确认。

View File

@@ -0,0 +1,46 @@
# 门户与应用容器配置
本文档为《基础配置管理》下的独立配置页面设计,用于描述该配置项目的配置清单、界面设计、业务规则和验收关注点。
上级文档:[基础配置管理](../08-基础配置管理.md)
## 配置清单
门户与应用容器配置用于支撑统一门户、菜单聚合、Tab 和 iframe 应用容器。
推荐配置:
| 配置名称 | 配置说明 | 配置层级 | 1.0 建议 |
| --- | --- | --- | --- |
| 默认首页 | 用户登录后默认打开的页面 | 平台级 / 客户级 | 必须 |
| 常用菜单数量 | 头部常用菜单最多展示数量 | 平台级 | 建议 |
| 最大打开 Tab 数 | 用户最多可同时打开的页面 Tab 数 | 平台级 | 必须 |
| iframe Token 同步开关 | 是否向 iframe 应用同步 Token 状态 | 平台级 | 必须 |
| iframe 页面超时处理 | iframe 应用无响应或 Token 失效时的处理方式 | 平台级 | 建议 |
| 菜单折叠默认状态 | 左侧菜单默认展开或折叠 | 平台级 / 用户级 | 建议 |
## 界面设计
门户与应用容器配置页用于维护统一门户、Tab、菜单和 iframe 容器参数。
展示方式:
- 采用分组表单展示。
- 分组包括首页与菜单、Tab 管理、iframe 容器。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 默认首页 | 页面选择器 / 菜单选择器 | 基础平台页面或已启用菜单 | 用户登录后默认打开页面 |
| 常用菜单数量 | 数字输入框 | 人工录入 | 头部常用菜单最多展示数量 |
| 最大打开 Tab 数 | 数字输入框 | 人工录入 | 必填 |
| 菜单折叠默认状态 | 单选框 | 展开、折叠 | 默认展开 |
| iframe Token 同步开关 | Switch | 人工选择 | 必须开启 |
| iframe 页面超时处理 | 下拉框 | 提示重试、关闭页签、跳转错误页 | 必填 |
页面规则:
- 最大打开 Tab 数必须大于 0。
- iframe Token 同步开关关闭时,需要提示会影响业务应用访问。
- 默认首页必须是用户有权限访问的页面或菜单。

View File

@@ -0,0 +1,49 @@
# 客户级配置
本文档为《基础配置管理》下的独立配置页面设计,用于描述该配置项目的配置清单、界面设计、业务规则和验收关注点。
上级文档:[基础配置管理](../08-基础配置管理.md)
## 配置清单
客户级基础配置用于支持不同客户在基础平台中的差异化设置。
推荐配置:
| 配置名称 | 配置说明 | 配置层级 | 1.0 建议 |
| --- | --- | --- | --- |
| 客户显示名称 | 门户展示的客户名称或简称 | 客户级 | 必须 |
| 客户默认行业 | 客户所属行业默认值 | 客户级 | 必须 |
| 客户默认语言 | 当前客户用户默认语言 | 客户级 | 建议 |
| 客户默认主题 | 当前客户用户默认主题 | 客户级 | 建议 |
| 是否允许多组织归属 | 用户是否允许归属于多个组织 | 客户级 | 必须 |
| 是否允许客户自维护角色 | 客户管理员是否可新增和编辑自定义角色 | 客户级 | 必须 |
| 是否允许客户自维护组织 | 客户管理员是否可维护组织架构 | 客户级 | 建议 |
## 界面设计
客户级配置页用于维护某个客户在基础平台中的差异化设置。
展示方式:
- 顶部为客户选择器。
- 下方为分组表单。
- 客户管理员进入时默认当前客户,不展示客户选择器。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 所属客户 | 客户选择器 / 只读文本 | 客户管理中已启用客户 | 平台用户选择;客户管理员只读当前客户 |
| 客户显示名称 | 文本输入框 | 默认取客户简称 | 可覆盖门户展示名称 |
| 客户默认语言 | 下拉框 | 语言字典 | 可为空,空则使用平台默认语言 |
| 客户默认主题 | 下拉框 | 主题字典 | 可为空,空则使用平台默认主题 |
| 允许多组织归属 | Switch | 人工选择 | 控制用户是否可归属多个组织 |
| 允许客户自维护角色 | Switch | 人工选择 | 控制客户管理员是否可维护自定义角色 |
| 允许客户自维护组织 | Switch | 人工选择 | 控制客户管理员是否可维护组织 |
页面规则:
- 所属客户必填。
- 手机号唯一性为平台全局规则,不作为客户级配置项。
- 客户级配置仅影响当前客户。

View File

@@ -0,0 +1,46 @@
# 应用级接入配置
本文档为《基础配置管理》下的独立配置页面设计,用于描述该配置项目的配置清单、界面设计、业务规则和验收关注点。
上级文档:[基础配置管理](../08-基础配置管理.md)
## 配置清单
应用级接入配置用于支撑业务应用接入基础平台后的通用控制。
推荐配置:
| 配置名称 | 配置说明 | 配置层级 | 1.0 建议 |
| --- | --- | --- | --- |
| 应用启用开关 | 应用是否允许被访问 | 应用级 | 必须 |
| 应用默认打开方式 | iframe 嵌入或外部跳转 | 应用级 | 必须 |
| 应用菜单缓存时长 | 应用菜单授权结果缓存时间 | 应用级 | 建议 |
| 应用权限刷新策略 | 权限变更后应用获取最新权限的策略 | 应用级 | 建议 |
| 应用 Token 校验策略 | 应用访问时是否每次校验 Token | 应用级 | 必须 |
## 界面设计
应用级接入配置页用于维护业务应用接入基础平台后的通用访问控制参数。
展示方式:
- 顶部为应用选择器。
- 下方为分组表单。
- 产品管理员进入时默认展示其负责应用范围。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 所属应用 | 应用选择器 / 只读文本 | 应用管理中已启用应用 | 必填 |
| 应用启用开关 | Switch | 人工选择 | 控制应用是否允许被访问 |
| 应用默认打开方式 | 单选框 | iframe 嵌入、外部跳转 | 1.0 默认 iframe 嵌入 |
| 应用菜单缓存时长 | 数字输入框 + 单位选择 | 人工录入 | 可为空 |
| 应用权限刷新策略 | 下拉框 | 每次获取、定时刷新、重新登录刷新 | 必填 |
| 应用 Token 校验策略 | 下拉框 | 每次访问校验、关键访问校验 | 必填 |
页面规则:
- 所属应用必填。
- 应用启用开关关闭后,所有客户用户不可访问该应用。
- 应用默认打开方式需与应用管理中的应用入口类型保持一致。

View File

@@ -0,0 +1,41 @@
# 消息与通知配置
本文档为《基础配置管理》下的独立配置页面设计,用于描述该配置项目的配置清单、界面设计、业务规则和验收关注点。
上级文档:[基础配置管理](../08-基础配置管理.md)
## 配置清单
消息与通知配置用于支撑基础平台消息、待办和系统通知。
推荐配置:
| 配置名称 | 配置说明 | 配置层级 | 1.0 建议 |
| --- | --- | --- | --- |
| 系统消息开关 | 是否启用基础平台系统消息 | 平台级 | 建议 |
| 待办提醒开关 | 是否启用待办提醒 | 平台级 / 客户级 | 建议 |
| 消息保留天数 | 系统消息保留时长 | 平台级 | 建议 |
| 未读消息提醒间隔 | 门户轮询或刷新未读消息的间隔 | 平台级 | 可延后 |
## 界面设计
消息与通知配置页用于维护基础平台消息、待办和通知提醒参数。
展示方式:
- 采用分组表单展示。
- 分组包括:系统消息、待办提醒、消息保留。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 系统消息开关 | Switch | 人工选择 | 控制系统消息能力 |
| 待办提醒开关 | Switch | 人工选择 | 控制待办提醒能力 |
| 消息保留天数 | 数字输入框 | 人工录入 | 必填 |
| 未读消息提醒间隔 | 数字输入框 + 单位选择 | 人工录入 | 可为空 |
页面规则:
- 消息保留天数必须大于 0。
- 关闭系统消息开关时,需要提示消息提醒不可用。

View File

@@ -0,0 +1,69 @@
# 对象存储配置
本文档为《基础配置管理》下的独立配置页面设计,用于描述该配置项目的配置清单、界面设计、业务规则和验收关注点。
上级文档:[基础配置管理](../08-基础配置管理.md)
## 配置清单
对象存储配置用于维护基础平台文件上传、导出文件、图片资源、附件等通用文件存储服务。
推荐配置:
| 配置名称 | 配置说明 | 配置层级 | 1.0 建议 |
| --- | --- | --- | --- |
| 对象存储启用开关 | 是否启用对象存储能力 | 平台级 | 必须 |
| 存储服务商 | 当前使用的对象存储服务商 | 平台级 | 必须 |
| 访问地址 | 对象存储 Endpoint 或服务地址 | 平台级 | 必须 |
| 存储桶名称 | 文件存储使用的 Bucket | 平台级 | 必须 |
| 访问凭证 | AccessKey、SecretKey 等连接凭证 | 平台级 | 必须 |
| 默认访问域名 | 文件访问使用的默认域名 | 平台级 | 建议 |
| 文件路径前缀 | 基础平台文件存储路径前缀 | 平台级 | 建议 |
| 公有读开关 | 是否允许文件公开访问 | 平台级 | 建议 |
| 配置连通性测试 | 保存前或保存后测试对象存储是否可用 | 平台级 | 必须 |
支持的对象存储服务商:
| 服务商 | 说明 |
| --- | --- |
| 阿里云 OSS | 阿里云对象存储 |
| 腾讯云 COS | 腾讯云对象存储 |
| 华为云 COS/OBS | 华为云对象存储,实际产品命名以云厂商接口为准 |
| MinIO | 私有化对象存储 |
| RustFS | 私有化对象存储 |
## 界面设计
对象存储配置页用于维护基础平台通用文件存储服务参数。
展示方式:
- 采用分组表单展示。
- 分组包括:服务商配置、连接参数、访问控制、连通性测试。
- 页面底部固定操作按钮:取消、保存、测试连接。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 对象存储启用开关 | Switch | 人工选择 | 控制对象存储能力是否启用 |
| 存储服务商 | 下拉框 | 阿里云 OSS、腾讯云 COS、华为云 COS/OBS、MinIO、RustFS | 必填 |
| Endpoint / 服务地址 | 文本输入框 | 人工录入 | 必填 |
| Region | 文本输入框 / 下拉框 | 服务商区域或人工录入 | 公有云建议填写 |
| Bucket | 文本输入框 | 人工录入 | 必填 |
| AccessKey | 文本输入框 | 人工录入 | 必填,敏感字段 |
| SecretKey | 密码输入框 | 人工录入 | 必填,敏感字段 |
| 默认访问域名 | 文本输入框 | 人工录入 | 选填 |
| 文件路径前缀 | 文本输入框 | 人工录入 | 选填 |
| 公有读开关 | Switch | 人工选择 | 控制上传文件是否允许公开访问 |
| HTTPS 访问开关 | Switch | 人工选择 | 控制文件访问地址是否默认使用 HTTPS |
| 备注 | 多行文本框 | 人工录入 | 选填 |
页面规则:
- 存储服务商、Endpoint / 服务地址、Bucket、AccessKey、SecretKey 为必填。
- SecretKey 保存后不在页面明文回显,仅展示脱敏结果。
- 切换存储服务商时,需要提示不同服务商参数可能不兼容。
- 保存前建议先执行测试连接;测试失败时允许保存草稿但不允许启用。
- 启用对象存储配置前,必须通过连接测试。
- 停用对象存储配置时,需要提示文件上传、导出文件、图片资源等能力可能不可用。

View File

@@ -0,0 +1,95 @@
# 短信发送配置
本文档为《基础配置管理》下的独立配置页面设计,用于描述该配置项目的配置清单、界面设计、业务规则和验收关注点。
上级文档:[基础配置管理](../08-基础配置管理.md)
## 配置清单
短信发送配置用于维护基础平台登录验证、账号通知、安全提醒等短信发送能力。
推荐配置:
| 配置名称 | 配置说明 | 配置层级 | 1.0 建议 |
| --- | --- | --- | --- |
| 短信启用开关 | 是否启用短信发送能力 | 平台级 | 必须 |
| 短信服务商 | 当前使用的短信服务商 | 平台级 | 必须 |
| 访问凭证 | AccessKey、SecretKey 等调用凭证 | 平台级 | 必须 |
| 短信签名 | 短信服务商审核通过的签名 | 平台级 | 必须 |
| 默认区域 | 短信服务区域或 Region | 平台级 | 建议 |
| 发送频控 | 单手机号、单账号或单 IP 的发送频率限制 | 平台级 | 必须 |
| 短信模板 | 不同短信场景对应的模板编码和模板参数 | 平台级 | 必须 |
| 配置连通性测试 | 保存前或保存后测试短信服务是否可用 | 平台级 | 建议 |
支持的短信服务商:
| 服务商 | 说明 |
| --- | --- |
| 阿里云 | 阿里云短信服务 |
| 腾讯云 | 腾讯云短信服务 |
| 华为云 | 华为云短信服务 |
首版建议支持的短信模板场景:
| 模板场景 | 说明 |
| --- | --- |
| 登录验证码 | 用户短信验证码登录或二次验证 |
| 绑定手机号验证码 | 用户绑定或更换手机号 |
| 重置密码验证码 | 用户重置平台账号密码 |
| 账号开通通知 | 创建用户或账号后发送通知 |
| 安全提醒 | 异地登录、密码变更等安全提醒 |
## 界面设计
短信发送配置页用于维护短信服务商、短信签名、发送频控和短信模板。
展示方式:
- 采用上下结构展示。
- 上方为短信服务商配置表单。
- 下方为短信模板配置页签 / 表格。
- 页面底部固定操作按钮:取消、保存、测试发送。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 短信启用开关 | Switch | 人工选择 | 控制短信发送能力是否启用 |
| 短信服务商 | 下拉框 | 阿里云、腾讯云、华为云 | 必填 |
| Region | 文本输入框 / 下拉框 | 服务商区域或人工录入 | 建议填写 |
| AccessKey | 文本输入框 | 人工录入 | 必填,敏感字段 |
| SecretKey | 密码输入框 | 人工录入 | 必填,敏感字段 |
| 短信签名 | 文本输入框 | 人工录入 | 必填 |
| 单手机号发送间隔 | 数字输入框 + 单位选择 | 人工录入 | 建议配置 |
| 单手机号日发送上限 | 数字输入框 | 人工录入 | 建议配置 |
| 单 IP 日发送上限 | 数字输入框 | 人工录入 | 可选 |
| 备注 | 多行文本框 | 人工录入 | 选填 |
短信模板配置展示方式:
- 表格。
- 支持新增、编辑、启用、停用、删除模板。
- 新增 / 编辑模板采用弹窗表单。
短信模板字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 模板场景 | 下拉框 | 登录验证码、绑定手机号验证码、重置密码验证码、账号开通通知、安全提醒 | 必填 |
| 模板名称 | 文本输入框 | 人工录入 | 必填 |
| 服务商模板编号 | 文本输入框 | 人工录入 | 必填,服务商审核通过的模板编号 |
| 模板内容预览 | 多行文本框 | 人工录入 / 服务商模板内容复制 | 选填,仅用于查看 |
| 模板参数 | 标签输入 / 表格 | 人工录入 | 例如 code、userName、expireMinutes |
| 启用状态 | Switch | 人工选择 | 默认启用 |
| 备注 | 多行文本框 | 人工录入 | 选填 |
页面规则:
- 短信服务商、AccessKey、SecretKey、短信签名为必填。
- SecretKey 保存后不在页面明文回显,仅展示脱敏结果。
- 每个模板场景同一时间只能启用一个模板。
- 启用短信发送配置前,至少需要维护一个启用短信模板。
- 登录验证码、绑定手机号验证码、重置密码验证码属于验证码类模板,必须配置发送频控。
- 测试发送需要输入测试手机号和模板场景。
- 测试发送必须记录操作日志但日志中不得记录验证码、SecretKey 等敏感内容。
- 停用短信发送配置时,需要提示短信验证码登录、手机号绑定、密码重置等能力可能不可用。

View File

@@ -0,0 +1,42 @@
# 审计与日志配置
本文档为《基础配置管理》下的独立配置页面设计,用于描述该配置项目的配置清单、界面设计、业务规则和验收关注点。
上级文档:[基础配置管理](../08-基础配置管理.md)
## 配置清单
审计与日志配置用于支撑操作日志和安全审计。
推荐配置:
| 配置名称 | 配置说明 | 配置层级 | 1.0 建议 |
| --- | --- | --- | --- |
| 操作日志保留天数 | 操作日志可查询和保留时间 | 平台级 | 必须 |
| 登录日志保留天数 | 登录日志可查询和保留时间 | 平台级 | 必须 |
| 敏感操作二次确认 | 停用客户、停用用户、重置密码等是否二次确认 | 平台级 | 必须 |
| 敏感字段脱敏开关 | 手机号、账号标识等字段是否脱敏展示 | 平台级 / 客户级 | 必须 |
## 界面设计
审计与日志配置页用于维护操作日志、登录日志和敏感操作控制参数。
展示方式:
- 采用分组表单展示。
- 分组包括:日志保留、敏感操作、字段脱敏。
表单字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 操作日志保留天数 | 数字输入框 | 人工录入 | 必填 |
| 登录日志保留天数 | 数字输入框 | 人工录入 | 必填 |
| 敏感操作二次确认 | Switch | 人工选择 | 默认开启 |
| 敏感字段脱敏开关 | Switch | 人工选择 | 默认开启 |
| 脱敏字段范围 | Checkbox 组 | 手机号、登录标识、客户联系人、备注 | 脱敏开启时展示 |
页面规则:
- 日志保留天数必须大于 0。
- 关闭敏感操作二次确认或敏感字段脱敏时,需要二次确认。

View File

@@ -0,0 +1,46 @@
# 基础开关配置
本文档为《基础配置管理》下的独立配置页面设计,用于描述该配置项目的配置清单、界面设计、业务规则和验收关注点。
上级文档:[基础配置管理](../08-基础配置管理.md)
## 配置清单
基础业务开关用于控制基础平台自身功能是否启用。
推荐配置:
| 配置名称 | 配置说明 | 配置层级 | 1.0 建议 |
| --- | --- | --- | --- |
| 是否启用客户管理 | 控制客户管理功能是否开放 | 平台级 | 必须 |
| 是否启用应用管理 | 控制应用管理功能是否开放 | 平台级 | 必须 |
| 是否启用组织管理 | 控制组织管理功能是否开放 | 平台级 | 必须 |
| 是否启用角色管理 | 控制角色管理功能是否开放 | 平台级 | 必须 |
| 是否启用第三方登录 | 控制第三方登录入口是否开放 | 平台级 | 可延后 |
| 是否启用外部协同接入 | 控制 2.0 外部协同能力是否开放 | 平台级 | 可延后 |
## 界面设计
基础开关配置页用于维护基础平台自身功能模块的启停开关。
展示方式:
- 采用开关列表展示。
- 每个开关一行,展示功能名称、编码、状态、说明和操作。
列表字段:
| 字段 | 说明 |
| --- | --- |
| 功能名称 | 开关控制的功能模块名称 |
| 功能编码 | 开关编码 |
| 启用状态 | 启用、停用 |
| 影响范围 | 该开关影响的菜单或能力 |
| 备注 | 开关说明 |
| 操作 | 启用、停用、查看版本 |
页面规则:
- 停用客户管理、应用管理、组织管理、角色管理等核心开关时,需要二次确认。
- 停用功能后,对应菜单不可见,对应操作不可用。
- 开关变更需要生成配置版本并记录操作日志。

View File

@@ -0,0 +1,71 @@
# 配置项管理
本文档为《基础配置管理》下的独立配置页面设计,用于描述该配置项目的配置清单、界面设计、业务规则和验收关注点。
上级文档:[基础配置管理](../08-基础配置管理.md)
## 界面设计
配置项管理页用于维护底层配置项定义和少量结构化配置,是场景化配置页面之外的兜底管理能力。
展示方式:
- 查询区域 + 数据表格。
- 新增 / 编辑采用抽屉表单。
- 抽屉包含基础信息和配置值编辑区。
- 抽屉底部固定操作按钮:取消、保存。
适用场景:
- 新增尚未纳入场景化页面的配置项。
- 查看配置编码、版本、状态、配置值预览。
- 维护少量结构化 JSON 配置。
- 查看版本记录并回滚。
查询条件:
| 查询项 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 配置名称 | 文本输入框 | 人工录入 | 支持模糊查询 |
| 配置编码 | 文本输入框 | 人工录入 | 支持精确或模糊查询 |
| 配置分类 | 下拉框 | 配置分类字典 | 可为空 |
| 配置层级 | 下拉框 | 平台级、客户级、应用级 | 可为空 |
| 所属客户 | 客户选择器 | 客户管理中已启用客户 | 客户级配置使用 |
| 所属应用 | 应用选择器 | 应用管理中已启用应用 | 应用级配置使用 |
| 启用状态 | 下拉框 | 全部、启用、停用 | 默认全部 |
| 查询 | 按钮 | 用户点击 | 作为查询区域最后一个表单元素 |
列表字段:
| 字段 | 说明 |
| --- | --- |
| 配置名称 | 配置项展示名称 |
| 配置编码 | 配置项唯一编码 |
| 配置分类 | 配置所属分类 |
| 配置层级 | 平台级、客户级、应用级 |
| 版本 | 当前版本号 |
| 启用状态 | 启用、停用 |
| 配置值预览 | 配置值摘要展示 |
| 操作 | 查看、编辑、启用、停用、版本记录 |
抽屉基础信息字段:
| 字段 | 控件类型 | 值来源 / 录入方式 | 说明 |
| --- | --- | --- | --- |
| 配置名称 | 文本输入框 | 人工录入 | 必填 |
| 配置编码 | 文本输入框 | 人工录入 | 必填,编辑时只读 |
| 配置分类 | 下拉框 | 配置分类字典 | 必填 |
| 配置层级 | 下拉框 | 平台级、客户级、应用级 | 必填 |
| 所属客户 | 客户选择器 | 客户管理中已启用客户 | 客户级配置必填 |
| 所属应用 | 应用选择器 | 应用管理中已启用应用 | 应用级配置必填 |
| 配置值类型 | 下拉框 | JSON、文本、数字、布尔、枚举 | 必填 |
| 启用状态 | Switch | 人工选择 | 默认启用 |
| 版本 | 只读文本 | 当前配置版本 | 系统自动带入 |
| 备注 | 多行文本框 | 人工录入 | 选填 |
配置值编辑区:
- JSON 类型支持 JSON 编辑器。
- 简单配置支持键值对模式。
- 保存前需要完成配置值格式校验。
- 配置值较长时,列表页只展示配置值预览,详情页展示完整配置值。

View File

@@ -0,0 +1,32 @@
# 配置版本记录
本文档为《基础配置管理》下的独立配置页面设计,用于描述该配置项目的配置清单、界面设计、业务规则和验收关注点。
上级文档:[基础配置管理](../08-基础配置管理.md)
## 界面设计
版本记录用于查看配置历史版本和执行回滚。
展示方式:
- 数据表格。
- 回滚操作需要二次确认。
列表字段:
| 字段 | 说明 |
| --- | --- |
| 版本号 | 配置历史版本 |
| 配置值预览 | 该版本配置值摘要 |
| 变更人 | 执行变更的用户 |
| 变更时间 | 配置变更时间 |
| 变更说明 | 变更原因或备注 |
| 操作 | 查看、回滚 |
页面规则:
- 只能回滚到历史有效版本。
- 回滚不会删除历史版本。
- 回滚后生成新的版本号。
- 回滚需要记录操作日志。

View File

@@ -0,0 +1,18 @@
# 基础配置
本目录用于承接《基础配置管理》中各配置项目的独立设计文档。每个配置项目独立成文档,便于研发拆分任务、测试编写用例、产品进行范围控制。
| 配置项目 | 文档 |
| --- | --- |
| 平台运行配置 | [01-平台运行配置](./01-平台运行配置.md) |
| 登录与安全配置 | [02-登录与安全配置](./02-登录与安全配置.md) |
| 门户与应用容器配置 | [03-门户与应用容器配置](./03-门户与应用容器配置.md) |
| 客户级配置 | [04-客户级配置](./04-客户级配置.md) |
| 应用级接入配置 | [05-应用级接入配置](./05-应用级接入配置.md) |
| 消息与通知配置 | [06-消息与通知配置](./06-消息与通知配置.md) |
| 对象存储配置 | [07-对象存储配置](./07-对象存储配置.md) |
| 短信发送配置 | [08-短信发送配置](./08-短信发送配置.md) |
| 审计与日志配置 | [09-审计与日志配置](./09-审计与日志配置.md) |
| 基础开关配置 | [10-基础开关配置](./10-基础开关配置.md) |
| 配置项管理 | [11-配置项管理](./11-配置项管理.md) |
| 配置版本记录 | [12-配置版本记录](./12-配置版本记录.md) |

View File

@@ -0,0 +1,239 @@
# 单点登录与统一认证鉴权设计
## 1. 文档说明
本文档是《基础平台产品设计》的专题补充文档,用于定义基础平台单点登录、统一 Token 认证鉴权、Token 刷新、登录注销、当前登录用户信息获取和 Token 状态同步规则。
本文档阅读对象为研发部门、测试部门、产品部门和实施交付团队。
## 2. 产品定位
单点登录与统一认证鉴权用于支撑用户一次登录基础平台后,访问多个已授权业务应用,并统一完成所有应用的 Token 认证和鉴权。
基础平台作为统一认证中心。所有接入应用不再各自独立维护登录认证逻辑,业务应用需要根据基础平台返回的认证结果和权限结果控制用户访问。
## 3. 功能范围
- 用户统一登录
- 用户统一退出
- 登录状态维护
- Token 签发
- Token 校验
- Token 刷新
- Token 失效
- 应用访问鉴权
- 用户身份信息获取
- 当前登录用户信息获取
- 用户授权应用列表获取
- 用户菜单和权限获取
## 4. 业务规则
- 用户登录由基础平台统一完成。
- 用户登录成功后,可访问已开通且已授权的业务应用。
- 用户未登录时,不可访问任何业务应用。
- 用户访问业务应用时,业务应用必须通过基础平台完成 Token 认证鉴权。
- Token 无效、过期、被注销或用户已停用时,业务应用必须拒绝访问。
- 用户退出登录后,已登录应用应同步失效或在下一次认证时失效。
- 客户停用、用户停用、应用停用、客户未开通应用、用户未授权应用时,认证鉴权均不通过。
- 用户权限变更后,应能在合理时间内影响用户后续访问。
- 业务应用不得绕过基础平台独立放行用户访问。
## 5. 鉴权判断维度
基础平台认证鉴权至少需要判断:
- Token 是否有效。
- 用户是否存在且启用。
- 用户所属客户是否启用。
- 应用是否存在且启用。
- 客户是否已开通该应用。
- 用户是否拥有该应用访问权限。
- 用户是否拥有对应菜单、操作或数据范围权限。
## 6. 业务系统接入要求
所有接入基础平台的业务系统均需满足:
- 登录入口统一接入基础平台。
- 用户身份校验统一通过基础平台。
- Token 认证鉴权统一通过基础平台。
- 菜单、权限、数据范围以基础平台授权结果为准。
- 业务系统可保留自身业务权限补充规则,但不得与基础平台授权结果冲突。
## 7. 统一登录流程
统一登录流程用于解决用户登录入口、Token 源头、门户登录态统一问题。用户只登录基础平台门户,不直接登录各业务应用。
流程步骤:
1. 用户访问基础平台登录页。
2. 用户提交登录账号和登录凭证。
3. 基础平台校验用户账号、密码或其他登录凭证。
4. 基础平台校验用户状态、客户状态、默认组织状态。
5. 校验通过后,基础平台生成门户登录会话并签发 Token。
6. 基础平台加载当前用户基础信息、默认组织、可访问应用列表、菜单和权限。
7. 用户进入基础平台统一门户主页面。
8. 基础平台根据用户权限渲染头部、左侧菜单、Tab 导航栏和右侧内容区。
9. 用户点击业务应用菜单时,基础平台在右侧内容区通过 iframe 打开业务应用页面。
10. 基础平台将 Token 访问状态同步给 iframe 应用。
11. iframe 应用使用基础平台 Token 访问自身业务接口。
流程规则:
- 用户登录必须由基础平台统一完成。
- 业务应用不得独立生成登录 Token。
- Token 的签发源头只能是基础平台。
- 登录成功后,业务应用只能在基础平台门户容器中使用基础平台签发的 Token 进行访问。
- 用户无任何授权应用时,登录成功后应提示暂无可访问应用。
- 业务应用不再提供独立登录页作为常规访问入口。
## 8. iframe 应用 Token 交互流程
iframe 应用 Token 交互流程用于解决业务应用嵌入基础平台后,如何获取和使用基础平台统一 Token。
流程步骤:
1. 用户在基础平台左侧菜单点击某业务应用菜单。
2. 基础平台校验用户是否拥有该应用和菜单访问权限。
3. 校验通过后,基础平台在右侧内容区创建或激活对应 iframe 页面。
4. 基础平台向 iframe 应用同步当前 Token 或可用于获取 Token 的访问状态。
5. iframe 应用接收基础平台 Token 后,向基础平台进行 Token 校验或获取当前登录用户信息。
6. 基础平台返回 Token 有效性、当前用户信息、当前应用权限和数据范围。
7. iframe 应用根据基础平台返回结果加载业务页面。
8. iframe 应用访问自身业务接口时,使用基础平台 Token 作为统一认证凭证。
流程规则:
- 业务应用只接受基础平台签发的 Token。
- 业务应用不得自行伪造、转换或替代基础平台 Token。
- iframe 应用不得要求用户再次登录。
- iframe 应用不得独立维护与基础平台冲突的登录态。
- iframe 应用每次关键访问均应确认 Token 有效性。
- 多个 iframe 应用之间不直接互相传递用户身份,以基础平台门户容器和 Token 为统一身份依据。
- 用户未通过基础平台打开业务应用时,业务应用应拒绝访问或引导到基础平台。
## 9. Token 刷新流程
Token 刷新流程用于解决基础平台门户中多个已打开 iframe 应用的登录状态延续和 Token 过期处理问题。
流程步骤:
1. 用户已登录基础平台门户,并打开一个或多个 iframe 应用。
2. 基础平台监控当前 Token 有效期。
3. Token 即将过期时,基础平台发起 Token 刷新。
4. 基础平台校验原登录会话、用户状态、客户状态和应用授权状态。
5. 校验通过后,基础平台签发新的 Token。
6. 基础平台更新门户容器中的当前 Token。
7. 基础平台向已打开 iframe 应用同步 Token 刷新结果。
8. iframe 应用使用新 Token 继续访问业务接口。
9. 旧 Token 按规则失效或在有效期结束后失效。
流程规则:
- Token 刷新必须由基础平台完成。
- 用户停用、客户停用、应用停用、用户无应用权限时,不允许刷新 Token。
- Token 刷新后,基础平台负责向已打开 iframe 应用同步新 Token 状态。
- iframe 应用收到 Token 刷新成功结果后,应使用新 Token 访问。
- Token 刷新失败时,基础平台应统一引导用户重新登录,并使已打开 iframe 应用访问失效。
- iframe 应用不主动刷新 Token只响应基础平台刷新结果。
## 10. 登录注销流程
登录注销流程用于解决用户退出基础平台后,所有已打开 iframe 应用访问状态一致失效问题。
流程步骤:
1. 用户在基础平台头部用户信息区域点击退出登录。
2. 基础平台确认注销操作。
3. 基础平台失效当前用户门户登录会话和相关 Token。
4. 基础平台向所有已打开 iframe 应用同步注销或 Token 失效状态。
5. 基础平台关闭或失效所有已打开业务应用页面访问状态。
6. iframe 应用清理本地临时登录状态或停止继续访问业务接口。
7. 用户再次访问基础平台或业务应用时,需要重新登录基础平台。
流程规则:
- 登录注销由基础平台统一处理。
- 用户注销后,原 Token 不可继续访问业务应用。
- 基础平台负责向已打开 iframe 应用同步注销状态。
- iframe 应用发现 Token 已注销或失效时,不得继续放行访问。
- 业务应用不提供独立注销逻辑作为常规退出入口;如业务页面存在退出入口,应调用基础平台统一注销能力。
## 11. 当前登录用户信息获取流程
当前登录用户信息获取流程用于解决基础平台门户和 iframe 应用如何获取当前用户、组织、角色和权限信息问题。
流程步骤:
1. 用户登录基础平台后,基础平台加载当前登录用户信息。
2. iframe 应用打开时,通过基础平台 Token 请求当前登录用户信息。
3. 基础平台校验 Token 有效性。
4. 基础平台返回当前用户基础信息。
5. 基础平台返回用户所属客户、默认组织、组织列表、角色列表。
6. 基础平台返回当前应用下的菜单、操作权限和数据范围。
7. iframe 应用根据返回结果加载业务页面和控制操作。
当前用户信息至少包括:
- 用户 ID
- 用户姓名
- 登录账号
- 手机号
- 所属客户
- 默认组织
- 可选组织列表
- 角色列表
- 可访问应用列表
- 当前应用菜单
- 当前应用操作权限
- 当前应用数据范围
流程规则:
- 当前登录用户信息必须以基础平台为准。
- 业务应用不得自行维护独立用户主档。
- 业务应用可缓存用户信息,但缓存失效和刷新规则需服从基础平台授权结果。
- 用户角色、组织、权限变更后,业务应用应能在合理时间内获取最新结果。
- iframe 应用仅获取当前应用所需的用户、权限和数据范围信息。
## 12. Token 信息交互同步规则
Token 信息交互同步用于规范基础平台门户容器与各 iframe 应用之间的 Token 使用关系。
同步规则:
- 基础平台是 Token 唯一签发方。
- 基础平台是 Token 唯一认证鉴权方。
- 基础平台门户容器是 Token 持有方和同步方。
- iframe 应用是 Token 使用方。
- iframe 应用需要识别 Token 有效、无效、过期、刷新、注销、无权限等状态。
- iframe 应用需要根据基础平台认证结果决定是否允许访问。
- iframe 应用需要根据基础平台返回的用户、组织、角色、权限结果进行页面和数据控制。
- 用户在基础平台注销后,所有 iframe 应用再次访问时必须感知 Token 已失效。
- 用户权限变更后iframe 应用应在下次鉴权、Token 状态同步或重新获取用户信息时同步变化。
- 已打开 iframe 应用的 Token 状态由基础平台门户容器统一管理。
异常处理规则:
- Token 不存在:基础平台门户引导用户登录。
- Token 无效:基础平台门户拒绝访问并引导重新登录。
- Token 过期且可刷新:基础平台门户统一刷新 Token并同步给 iframe 应用。
- Token 过期且不可刷新:基础平台门户引导重新登录,并使已打开 iframe 应用访问失效。
- 用户无应用权限:提示无权限访问。
- 用户无菜单权限:不展示对应菜单。
- 用户无操作权限:不展示或禁用对应操作。
## 13. 验收标准
- 用户一次登录后,可访问多个已授权应用。
- 未授权应用不可访问。
- Token 无效或过期时,业务应用拒绝访问。
- 用户停用、客户停用、应用停用后,业务应用拒绝访问。
- 用户退出后,再访问业务应用需要重新登录。
- 各业务应用均通过基础平台完成 Token 认证鉴权。
- Token 即将过期或已过期但允许刷新时,由基础平台门户统一刷新 Token。
- Token 刷新成功后,已打开 iframe 应用使用新 Token 继续访问。
- Token 刷新失败后,基础平台门户引导用户重新登录。
- 用户注销后,所有已打开 iframe 应用访问状态失效。
- 当前用户信息获取结果包含用户、客户、默认组织、组织列表、角色、可访问应用、菜单、操作权限和数据范围。

View File

@@ -0,0 +1,470 @@
# 基础平台产品设计
## 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 验收项。

View File

@@ -0,0 +1,152 @@
# 统一门户与应用容器设计
## 1. 文档说明
本文档是《基础平台产品设计》的专题补充文档用于定义基础平台统一门户、菜单聚合、Tab 导航、右侧内容区、iframe 应用容器、keepalive、Token 共享与业务应用改造要求。
本文档阅读对象为研发部门、测试部门、产品部门和实施交付团队。
## 2. 产品定位
统一门户与应用容器用于承载基础平台页面和各业务应用页面。基础平台负责所有业务系统的菜单聚合、业务链接入口、页面框架、Tab 管理、iframe 嵌入和 Token 有效期管理。
业务应用不再独立渲染系统级菜单。业务应用只负责提供自身业务页面,由基础平台通过 iframe 嵌入到右侧内容区。
## 3. 页面总体布局
基础平台主页面由三部分组成:
- 头部区域
- 左侧菜单导航栏
- 右侧内容区
右侧内容区用于展示基础平台自身页面和各业务应用 iframe 页面。
## 4. 头部区域
头部区域分为上下两部分。
第一部分为全局操作区,包含:
- 应用 logo
- 平台名称
- 左侧菜单折叠按钮
- 常用菜单
- 主题设置
- 消息按钮
- 语言切换按钮
- 用户信息
第二部分为已打开页面的 Tab 导航栏,包含:
- 已打开页面 Tab
- 当前激活页面状态
- 关闭单个 Tab
- 关闭其他 Tab
- 关闭全部可关闭 Tab
- 刷新当前 Tab
## 5. 左侧菜单导航栏
左侧菜单导航栏展示当前用户有权限访问的所有菜单。
菜单来源:
- 基础平台菜单
- 连锁业务对账系统菜单
- 分账系统菜单
- 聚合支付菜单
- 门店选址规划系统菜单
- 连锁门店客服系统菜单
- 后续接入应用菜单
菜单展示规则:
- 用户无权限的应用不展示。
- 用户无权限的菜单不展示。
- 客户未开通的应用菜单不展示。
- 应用停用后,该应用菜单不展示。
- 菜单支持多级展示。
- 菜单支持折叠和展开。
- 菜单点击后,在右侧内容区打开对应页面。
## 6. 右侧内容区
右侧内容区用于展示:
- 基础平台自身业务页面
- 业务应用 iframe 页面
展示规则:
- 点击基础平台菜单时,在内容区打开基础平台页面。
- 点击业务应用菜单时,在内容区以 iframe 方式打开业务应用页面。
- 已打开页面在 Tab 导航栏中生成对应 Tab。
- 切换 Tab 时,内容区切换到对应页面。
- 关闭 Tab 时,关闭对应页面容器。
## 7. iframe 应用嵌入规则
业务应用采用 iframe 方式嵌入基础平台。
嵌入规则:
- iframe 页面地址由基础平台菜单或应用入口配置提供。
- iframe 打开前,基础平台需要确认当前用户对该应用和菜单有访问权限。
- iframe 打开时,需要让业务应用获得基础平台 Token。
- 业务应用使用基础平台 Token 完成自身业务接口访问鉴权。
- iframe 页面不展示业务应用自身系统级菜单。
- iframe 页面应适配基础平台内容区展示。
## 8. Tab 与 keepalive 规则
基础平台需要对已打开应用页面进行 keepalive 管理。
规则包括:
- 已打开 Tab 可保持页面状态。
- 用户在 Tab 之间切换时,已打开页面不应重复初始化,除非用户主动刷新。
- 用户关闭 Tab 后,对应页面状态释放。
- 用户刷新当前 Tab 时,仅刷新当前页面。
- 基础平台应管理已打开 iframe 应用页面的生命周期。
- keepalive 范围应可控,避免无限制保留页面导致性能问题。
## 9. Token 共享与有效期管理
基础平台负责对已打开应用系统进行 Token 有效期管理和 Token 共享。
规则包括:
- 基础平台持有并管理当前登录用户的 Token。
- iframe 应用页面使用基础平台 Token。
- 已打开的多个 iframe 应用共享同一基础平台登录态。
- Token 刷新由基础平台统一处理。
- iframe 应用不主动刷新 Token只响应基础平台门户容器同步的 Token 状态。
- Token 刷新成功后,已打开应用应能使用新 Token 继续访问。
- Token 失效或注销后,已打开应用再次访问时应被拒绝,并引导回基础平台登录。
- 用户注销后,基础平台关闭或失效所有已打开应用访问状态。
- 基础平台需要向已打开应用同步 Token 有效、刷新、失效、注销等状态。
## 10. 业务应用改造要求
接入基础平台的业务应用需要满足:
- 不再独立渲染系统级菜单。
- 支持被基础平台 iframe 嵌入。
- 支持接收或获取基础平台 Token。
- 所有业务接口访问均使用基础平台 Token。
- 支持 Token 刷新后的访问延续。
- 支持 Token 失效后的访问拒绝。
- 页面布局适配基础平台内容区。
## 11. 验收标准
- 基础平台可聚合展示用户有权限访问的所有应用菜单。
- 业务应用不再独立展示系统级菜单。
- 点击业务应用菜单后,可在右侧内容区通过 iframe 打开应用页面。
- 打开的页面可生成 Tab。
- Tab 切换时页面状态可保持。
- 关闭 Tab 后页面状态释放。
- iframe 应用可使用基础平台 Token 访问业务接口。
- Token 刷新后,已打开 iframe 应用可继续访问。
- 用户注销后,已打开 iframe 应用不可继续访问。