# g2rain-main-shell(控制台主入口)
g2rain-main-shell 是控制台主应用(Shell),基于 Vue 3 + TypeScript + qiankun 提供管理后台框架能力:包括 Token 管理、SSO 单点登录、微前端应用装载,以及与平台安全链路配套的请求签名机制。
# 核心能力
- Token 管理:基于 JWT 与 DPoP 的 Token 生成、验证与刷新
- SSO 单点登录:集成
g2rain-iam授权码模式认证流程 - 微前端架构:基于
qiankun完成子应用 mount/unmount 管理 - 多 TabTypes 管理:主应用与子应用的 TabTypes 页面管理
- 安全签名:使用
ES256算法进行请求签名,保障 API 安全性
# 技术栈
- 前端:Vue 3.3.4 + TypeScript、Vite 5、qiankun 2.x、Element Plus
- 状态管理:Pinia + 持久化插件
- 后端/签名链路:OpenResty(Nginx + Lua)、Lua
lua-resty-openssl(ES256 签名支持)
# 快速开始
npm install
npm run dev
本地访问:http://localhost:3000
# 环境变量(.env 示例)
VITE_APPLICATION_CODE:应用编码(必填)VITE_CONTEXT_PATH:应用基础路径(必填,例如/或/main)VITE_SSO_BASE_URL:SSO 跳转基础地址(必填,不含路径)VITE_AUTH_END_POINT:SSO 认证端点(必填,示例/auth/authorize)VITE_REDIRECT_URI:SSO 回调地址(必填,示例/sso_callback)VITE_TOKEN_END_POINT:Token 生成/刷新接口(可选)VITE_MOCK_ENABLED:是否启用 Mock(可选)
# 运行时环境注入(Docker 场景)
main-shell 支持在构建后生成 dist/env-config.js,在容器启动时通过 docker-entrypoint.sh 替换 __CONTEXT_PATH__、__SSO_BASE_URL__ 等占位符,实现“运行时配置,避免反复构建”。
# 业务开发目录
主要开发目录是 views/:
views/
├── api/ # API 服务层与类型定义
├── user/ # 用户模块页面
├── role/ # 角色模块页面
└── route-map.ts # 路由映射配置