接入账号状态宿主刷新

账号状态变化优先通过宿主刷新当前 WebView

宿主刷新不可用时回退浏览器刷新

补充 AuthGate 宿主刷新测试和宿主壳文档
This commit is contained in:
2026-06-18 07:43:26 +08:00
parent 621719077f
commit 29cd7866fc
5 changed files with 89 additions and 3 deletions

View File

@@ -2292,6 +2292,7 @@
- 背景Expo 移动壳和 Tauri 桌面壳都需要一个真实的宿主级刷新入口,供 H5 在检测到资源、登录态或运行态需要重新载入时请求宿主刷新当前容器;该能力不能演变成任意 URL 导航或原生 WebView ref 透传。
- 决策:新增 HostBridge method `app.reloadWebView` 和 H5 facade `reloadHostWebView()`。移动端只调用当前 `react-native-webview``reload()`,桌面端只调用 Tauri 主 `WebviewWindow.reload()`;该 method 不接受 payload成功只表示宿主已发起刷新刷新后当前 H5 上下文会卸载。继续把同源跳转留给 `navigation.openNativePage`,外链离开容器留给 `app.openExternalUrl`
- 2026-06-18 追加:`AuthGate` 登录态身份边界刷新改为优先调用 `reloadHostWebView()`,用于登录成功、退出登录或从已登录变为未登录后的主站重新初始化;宿主未声明、返回失败或不可用时再回退浏览器 `window.location.reload()`,普通 token refresh、账号资料更新、主题和音量变化仍不触发整页刷新。
- 影响范围:`packages/shared/src/contracts/hostBridge.ts``src/services/host-bridge/hostBridge.ts``apps/mobile-shell/``apps/desktop-shell/`、原生壳能力检查脚本和 HostBridge 架构文档。
- 验证方式:`npm run check:native-shells``npm run typecheck``npm run check:encoding``git diff --check`