Skip to content

登录上下文与默认页说明

构建时间2026-06-26 20:10:33(Asia/Shanghai)来源项目中间件文档 / 中间件 PCWEB来源仓../cl-midserver-pcweb-2026来源提交号a6480421a5011a12aaed11a4e5dfc18a9b4e69bf
查看文档来源信息
  • 来源目录:docs
  • 来源文件:契约说明/登录上下文与默认页说明.md
## 契约用途 - 适用范围:登录页、身份选择弹窗、顶部身份切换、用户 store、运行时菜单与权限重建。 - 当前正式版本:2026-04-24。

当前正式口径

  1. PCWEB 登录和身份切换都按“运行上下文”处理,不再按“纯角色”处理。
  2. 当前正式上下文只有 rolesuper_admin 两种。
  3. getUserInfo 返回的 currentContextcontextOptionsdefaultPagecommonScope 是前端运行时唯一正式来源。
  4. selectedAuthorityId=0 只在 super_admin 上下文下合法。
  5. 顶部身份显示以当前上下文为准,正式区分“角色上下文”和“超级管理员上下文”。

关键字段口径

字段含义
currentContext.accessMode当前运行上下文类型,正式取值为 rolesuper_admin
currentContext.authorityId当前角色 ID;super_admin 上下文下固定为 0
contextOptions当前账号可切换的正式上下文列表
selectedAuthorityId当前生效角色 ID;super_admin 下固定为 0
defaultPage.pageCode当前上下文正式默认页页面码
commonScope当前上下文公共治理范围

运行规则

  1. 登录成功后,必须按“读取 getUserInfo -> 同步权限 -> 构建导航 -> 进入默认页”的顺序重建运行时。
  2. 头部身份切换成功后,必须优先接管响应头中的新 token,并按同一顺序完整重建运行时。
  3. 身份切换窗口内,切换前旧 token 发出的并发请求如果返回 reload,只能按旧运行时结果吞掉,不能清空新 token 或跳回登录页。
  4. 依赖上下文的页面数据必须跟随 runtimeGeneration 重新拉取,不能保留切换前的列表与统计结果。
  5. 默认页统一按 defaultPage.pageCode 和路由注册结果解析,不再把历史菜单路径当成正式默认页来源。
  6. super_admin 上下文下,前端权限 store 允许当前模块已发布菜单范围内的正式放行;没有发布菜单时不生成兜底菜单。
  7. role 上下文下,sys_base 或明确代码动作清单场景继续按 getAuthorityCodeActionStatus 判断页面和动作权限;下游业务模块按 getPublishedMenuAuthorityStatus 判断页面和动作权限。
  8. 默认页必须来自后端返回的已发布菜单默认页结果;无发布菜单、无授权或默认页失效时,前端按未配置处理,不自动跳转到演示页或公共治理页。

不允许的做法

  • 不允许仅修改本地 authorityIdaccessMode 而不重新拉取 getUserInfo
  • 不允许把 selectedAuthorityId <= 0 一律判定为异常,从而误伤 super_admin 上下文。
  • 不允许继续沿用切换前的菜单、默认页和动作权限结果。
  • 不允许在身份切换成功后,仍因旧 token 请求返回 reload 而把用户踢回登录页。
  • 不允许页面顶部身份已变化,但列表、公共范围、按钮状态仍停留在切换前上下文。
  • 不允许在 asyncMenu 返回空菜单时自动生成本地演示菜单或公共治理兜底菜单。
  • 不允许下游业务模块继续用代码动作清单状态作为业务菜单授权来源。

CL 正式文档平台