153 lines
5.2 KiB
Markdown
153 lines
5.2 KiB
Markdown
# 统一门户与应用容器设计
|
||
|
||
## 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 应用不可继续访问。
|