# SupaDB 文档更新记录 ## 2026-01-30 ### AkSupa:从本地持久化 token 恢复 user/session - **文件**:`components/supadb/aksupa.uts` - **位置**:`export class AkSupa` -> `constructor(baseUrl: string, apikey: string)`,以及新增方法 `hydrateSessionFromStorage()` - **定位标记**:在代码中搜索 `// [CHANGE][2026-01-30]` #### 修改了什么 - 在 `AkSupa` 构造时,会尝试基于本地已持久化的 token(由 `AkReq.setToken` 写入 storage)恢复登录态。 - 新增 `hydrateSessionFromStorage()`: - 通过 `AkReq.getToken()` 读取本地 access token - 若 token 存在,则请求 `GET {baseUrl}/auth/v1/user` - 将返回的 user 写入 `this.user` - 若 `this.session` 为空,则补齐一个最小 session 对象,使 `getSession()` 在「重启 App / 刷新页面」后仍能正确反映登录状态 #### 为什么要改 此前 `AkReq` 会把 token 持久化到本地,但 `AkSupa` 启动时不会自动恢复 `this.user` / `this.session`,导致即使 token 仍有效,`getSession()` 也可能返回 `{ session: null, user: null }`,从而使依赖登录态的页面判断失败。