# g2rain-manager-app(基础管理功能)

g2rain-manager-app 是面向通用管理场景的控制台子应用,定位为“基础管理能力”的可复用前端模块:提供查询表单、远程选择、通用页面组件组合,以及与平台认证/权限/资源装配机制一致的运行时适配。

# 与平台能力的衔接(资源 + 权限装配)

  • 资源加载:启动时从后端聚合接口加载资源定义(页面、页面元素、API 端点)
    • GET /basis/authority/resources(前端资源结构见 ResourcePage / ResourcePageElement / ResourceApiEndpoint
  • 权限校验:通过 v-permission 等机制做页面可见性/可操作状态控制,并通过 HTTP 拦截器做 API 调用权限校验(具体策略随模板实现)

# 架构分层(来自项目架构文档)

manager-app 采用分层设计:

  • Views Layer:业务页面组件、页面级渲染
  • Runtime Layer:HTTP 客户端、认证服务(SSO)、DPoP 签名、环境变量管理、qiankun 集成
  • Platform Layer:Store 状态管理、Boot 启动模块(资源管理、路由生成、权限控制)
  • Shared Layer:通用工具(HTTP 封装、JWT 工具、配置生成等)

# 组件化能力(典型可复用组件)

  • QueryForm:通用查询表单组件
    • 内置基础查询字段(ID、创建时间范围、更新时间范围)
    • 支持排序字段管理与插槽扩展业务字段
  • RemoteSelect / OrganSelect:远程搜索选择器组件
    • 支持按 key(名称)或 value(ID)搜索
    • 默认包含 300ms 防抖、初始值回显等能力
  • HTTP:组件化的 HTTP 客户端封装(支持拦截器装配、参数/请求体序列化、统一错误处理)
  • Loading:全局 Loading 管理器,集中控制请求期间的 UI 状态

# 配置生成工具(config-util)

当你完成页面与权限开发后,可以通过配置生成工具从源码提取资源配置:

npm run build:config

生成的配置通常包括:

  • resources.json:完整资源配置(页面 + 页面元素 + API 端点)
  • pages.json:页面资源列表
  • page-elements.json:页面元素列表
  • api-endpoints.json:API 端点列表