1.1 KiB
1.1 KiB
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 },从而使依赖登录态的页面判断失败。