# g2rain-basis(业务核心模块)

g2rain-basis 是 G2rain 平台的业务核心模块之一,主要承载“资源配置 + 权限查询 + 登录/会话上下文”等与前端资源驱动能力紧密相关的后端接口。

# 资源管理(给前端加载“可见页面/按钮/接口权限”)

资源主要由以下几类表/接口组成(便于支撑页面、页面元素、API 端点三层资源模型):

  • 资源页面:/resource_page
    • 查询:GET(通过 API 接口方法聚合实现)
    • 新增/更新:POST /resource_page/save
    • 删除:DELETE /resource_page/{id}
  • 页面元素:/resource_page_element
    • 新增/更新:POST /resource_page_element/save
    • 删除:DELETE /resource_page_element/{id}
  • 菜单/目录:/resource_menu
    • 新增/更新:POST /resource_menu/save
    • 删除:DELETE /resource_menu/{id}
  • API 端点:/resource_api_endpoint
    • 新增/更新:POST /resource_api_endpoint/save
    • 删除:DELETE /resource_api_endpoint/{id}

另外,g2rain-basis 还支持应用资源文件上传:

  • 上传应用资源文件:POST /resource/{applicationId}/upload
    • 前端/运维侧将资源文件(页面、元素、API 等)上传后,由服务解析并写入资源表。

# 权限查询(供前端做 UI 可见性与 API 校验)

权限查询接口位于 /authority

  • 菜单权限:GET /authority/menus
  • 资源权限:GET /authority/resources
  • 当前用户信息:GET /authority/user
  • 用户在指定应用下的 API 权限:GET /authority/apis?userId=...&applicationId=...

前端资源驱动(在 g2rain-web 中)会从资源聚合接口加载资源定义,并据此进行页面路由生成与权限装配。

# 登录与会话上下文(基础账号域)

g2rain-basis 同时提供基础账号与登录相关接口:

  • 内部登录入口:POST /internal_auth(对接 LoginApi
  • 账号管理:/passport
    • 新增/更新:POST /passport/save(接口方法聚合)
    • 密码更新:POST /passport/{id}/password
    • 状态更新:POST /passport/{id}/status
  • 登录令牌信息:/login_token
    • 可用于拉取 TokenJWTPayload(例如按 userId + applicationCode 获取 token 上下文)

# 与前端资源模型的对应关系(概览)

前端资源结构包括:

  • ResourcePagepageName / pageCode / linkPath
  • ResourcePageElementpageElementCode / pageElementType / status(visible/enabled)
  • ResourceApiEndpointapiUrl / requestMethod / apiTag

这些结构在基座侧的 /resource_page/resource_page_element/resource_api_endpoint 等接口中被管理和维护。