Skip to content

APP / 小程序 clsdk-clapp 接入流程

APP / 小程序负责移动端登录态、角色选择、应用菜单权限、runtime provider、业务页面展示和统一请求头。移动端只持有用户态上下文,不保存服务态密钥。

接入步骤

  1. 创建或确认 uniapp / 小程序仓。
  2. 安装 clsdk-clapp
  3. 配置中间件地址、appIdaddonsType
  4. 接入 currentUserInfoProvider
  5. 接入 appMenuAuthorityProvider
  6. 登录后如果用户有多个上下文,必须选择具体角色。
  7. 超管不能直接绕过角色进入业务首页。
  8. rebuild runtime。
  9. 根据 app_menu 控制页面显示。
  10. 业务请求携带 app-idaddons-typex-token
  11. 权限不足要明确提示,不做静默兜底。
  12. 构建和微信开发者工具测试命令以项目实际配置为准,不得臆造命令。

安装方式

按 SDK 仓正式 README 和 Gitee tag 方式填写。SDK README 版本示例为:

bash
npm install git+https://gitee.com/lixiaodongdong/clsdk-clapp.git#v0.2.1

如果 tag 版本无法从 SDK README 或 Gitee tag 确认,应标注“以 SDK 仓 README 和 Gitee tag 为准”,不得编造版本。正式项目不允许提交本地 file: 依赖。

runtime provider

  • currentUserInfoProvider 负责提供当前登录用户与当前上下文。
  • appMenuAuthorityProvider 负责提供当前角色在应用菜单中的授权结果。
  • provider 应优先走业务后端代理或正式用户态接口,不在移动端保存 PermanentKeySystemKeytempKey
  • runtime rebuild 后再进入业务首页,避免菜单、角色和默认页还未准备好就渲染业务页面。

角色选择

  • 登录返回多个上下文时,必须让用户选择具体角色。
  • 超管也必须选择具体业务角色后进入业务首页。
  • 不能因为用户是超管就绕过角色、菜单和 Casbin 链路。

请求头

移动端业务请求主要携带:

  • app-id
  • addons-type
  • x-token

移动端请求链不携带 x-app-key,也不保存 SystemKeyPermanentKeytempKey

验收口径

  • 能登录。
  • 超管不能绕过角色。
  • 能选择具体角色。
  • 能读取 app_menu
  • 页面按应用菜单显示。
  • 权限不足提示明确。
  • 真机或开发者工具至少完成基础流程测试。

CL 正式文档平台