# 创作中心退出登录私有缓存清理修复 2026-04-25 ## 问题 点击退出登录后,页面未刷新时仍能切到创作中心,并看到上一位登录用户的作品。刷新页面后才恢复正常。 ## 根因 1. `AuthGate` 的退出动作先等待 `/api/auth/logout` 完成,再通过全局鉴权事件重新 hydrate,期间前端 context 仍可能暴露旧用户。 2. 平台创作入口里的 RPG works 会在 `canReadProtectedData=false` 时清空,但大鱼吃小鱼与拼图 works 是 `PlatformEntryFlowShellImpl` 内部 state,没有在退出登录时同步清空。 3. 创作 Tab 会保持挂载以降低闪烁,因此私有作品数组只要留在内存里,就会继续被货架组件渲染。 ## 修复口径 1. 用户触发退出当前设备或退出全部设备时,前端必须先本地收回 `user / canAccessProtectedData`,再等待后端吊销会话。 2. `canReadProtectedData` 从 `true` 变为未登录态 `false` 时,创作中心必须清空所有私有作品缓存: - RPG works / library 由 `useRpgEntryBootstrap` 清空。 - Big Fish works、Puzzle works 由 `PlatformEntryFlowShellImpl` 清空。 - 当前创作工作区、结果页、删除忙碌态与生成态一并复位。 3. 公开广场与分类数据不受影响,仍按匿名公开接口读取。 ## 验收 1. 点击退出登录后,不刷新页面进入创作 Tab,只能看到空作品货架,不再出现上一账号作品。 2. 退出登录瞬间 `AuthUiContext.user` 为 `null`,`canAccessProtectedData=false`。 3. 重新登录后按新账号重新拉取作品列表,不复用旧账号内存缓存。