Repository navigation
Releases
Releases · g2rain/g2rain-shell-template
g2rain-shell-template v1.0.2
发布日期:2026-11-01
对比版本:v1.0.1
许可证:Apache-2.0
主要变更
- 子应用 Tab 切换和 route-change 统一经
syncBrowserAddressForTab更新地址栏,附加g2shell参数。值来自当前壳 Context Path 去掉首个/,便于刷新和分享后返回对应宿主。例如/admin壳打开子应用后,地址可为/member/list?g2shell=admin。 /redirectGateway 解析与导航目标应用前移除g2shell,避免宿主选择参数进入子应用initialRoute;其余 query 与 hash 保留。- SSO 回跳记录从共享
return_url改为return_url:${getContextPath()},读、写、消费和清理均按壳隔离,避免同域多个壳互相覆盖。 - single-spa bootstrap/mount 超时维持 10 秒,
dieOnTimeout=true;warningMillis 调整为 8 秒,减少冷加载早期的 #31 警告。最终配置不是 20 秒。 - Passport、TenantProvision 页面以
--g2-*变量替代固定配色,适配明暗主题。 - Vite
production模式使用 esbuildpure配置裁剪console.log、console.info、console.debug调用,保留 warn/error;其他 mode 不启用。 - legacy 兼容文档明确以
legacy-overlay/为源码来源,默认模板保持 AppKit 单协议。
版本与架构
模板、锁文件根版本与项目元数据统一为 1.0.2。中央文档统一引用 Tag v1.0.2;基础 Frontend App 与 Frontend Shell Profile 版本均保持 1.0.0。
@g2rain/http、@g2rain/platform、@g2rain/theme、@g2rain/ui 运行依赖保持 1.0.1。
升级与配套
- 与 app-template v1.0.2 的
g2shell跳转规则配套:子应用识别该参数后返回当前 Origin 的/{g2shell}/redirect。缺失或非法时,子应用使用默认宿主配置。旧子应用升级前需确认是否支持该参数。 - 壳 Context Path 应使用子应用可识别的单段名称(小写字母、数字、下划线、连字符,首字符为字母或数字)。嵌套 Context Path 不属于此次子应用宿主选择规则支持范围。
- 旧
return_url不自动迁移;升级中未完成的登录回跳需重新发起。不同壳应使用不同 Context Path。 - 既有生成项目需评估并合并源码;CLI 内嵌 shell 模板须重新同步,并验证默认模板及
--with-legacy生成结果。 - 回滚时同步恢复壳与子应用的宿主跳转约定,并检查 SSO 回跳记录;部署与密钥配置沿用部署文档。
验证与限制
npm test:7 项测试全部通过。npm run build:通过;使用/admin、3000和具体应用编码覆盖模板占位符。- 文档相对链接、版本一致性与 Diff 格式检查通过。
- 构建仍有动态/静态导入交织及 chunk 体积提示。
浏览器真实子应用、SSO、明暗主题、慢网冷加载及容器联调需在目标环境验收,构建和自动化测试不替代这些验证。现有架构与安全偏差继续见已知偏差。
G2rain Shell Template v1.0.1
更新内容
- 模板版本及四个 Appkit 依赖统一升级至 1.0.1。
- 完善 SSO 登录、换票、回调和登录后的地址恢复。
- 修复深链跳转时目标地址被覆盖、重复打开及重叠 activeRule 匹配问题。
- 防止退出登录后的旧菜单响应和乱序响应覆盖当前状态。
- 修复壳内页面缓存,切换至子应用后保留表单状态。
- 完善子应用挂载、主题同步、生命周期超时和退出清理。
- 网关代理清除客户端传入的身份过滤请求头。
- 更新依赖锁文件、开发文档及验证说明。
验证
- 7 项回归测试通过。
- TypeScript 检查及生产构建通过。
- 真实 SSO、子应用浏览器联调及 Nginx 转发仍需在部署环境验证。
使用说明
本仓库提供 Main Shell 模板。创建主应用请使用 g2rain-app shell;CLI 内置模板需通过模板同步流程更新后,才会包含本版本内容。