# g2rain-infra-app(基建 / 平台能力子应用)

g2rain-infra-app 是基于 Vue 3 + TypeScript + Vite + Element Plus + qiankun 的微前端子应用,侧重 G2rain 基建与平台能力相关界面(与通用业务子应用模板并存)。可作为子应用由主壳加载,也可独立运行。

与后端 g2rain-infra 的关系:后端 g2rain-infra 提供路由定义、字典、国际化、发号等 API;本仓库是消费这些能力的 前端子应用,二者名称相近但职责不同。

能力会持续迭代,以仓库 README 与架构文档为准。

源码仓库github.com/g2rain/g2rain-infra-app (opens new window)

# 核心行为摘要

  • 双模式:通过 window.__POWERED_BY_QIANKUN__ 区分 子应用模式(Token 由主应用 props 注入、一般不持久化)与 独立运行模式(可走完整 SSO、Token 可持久化)。
  • Token / SSO / DPoP:与主应用约定一致;详见仓库中 src/store/modules/token.tssrc/main.tssrc/qiankun.ts 等实现。
  • 请求签名:可与 OpenResty / ES256 等链路配合(仓库 README 中有技术栈说明)。

# 生态位置

组件 说明
g2rain-main-shell qiankun 主应用
g2rain-app-template / g2rain-app-cli 通用子应用模板与脚手架
g2rain-cms-app CMS 业务子应用(与本仓库并列)

# 环境要求

  • Node.js ≥ 18、npm ≥ 9(可选 Docker 用于部署镜像)

# 安装与 .env 示例

git clone https://github.com/g2rain/g2rain-infra-app.git
cd g2rain-infra-app
npm install
npm run dev
VITE_APPLICATION_CODE=g2rain-infra-app
VITE_BASE_URL=/test/
VITE_BACKEND_ORIGIN=http://localhost:8080
VITE_APPLICATION_CONTEXT=/test
VITE_IAM_ORIGIN=http://localhost:8080
VITE_REFRESH_TOKEN_URL=/auth/refresh-token
VITE_GENERATE_TOKEN_URL=/auth/token
VITE_SSO_BASE_URL=https://sso.example.com
VITE_AUTH_END_POINT=/auth/authorize
VITE_REDIRECT_URI=http://localhost:3000/test/sso_callback
VITE_SERVER_PORT=3000

VITE_BASE_URLVITE_APPLICATION_CONTEXTVITE_REDIRECT_URI 必须与主应用与 Nginx 分配路径一致,详见仓库内说明与 快速开始

# 构建

npm run build
npm run preview

项目启用 noEmit: true 时,应避免在 src/ 下残留误生成的 .js;清理方式见仓库 README。

# 贡献与问题跟踪

建议在 g2rain/g2rain/issues (opens new window) 集中提交并注明 g2rain-infra-app

# 相关文档