feat(0.2.1): M3 前端接入 —— PowerSyncProvider/登录连接/登出清库, 任务模块数据层切本地库 (projectApi/columnApi/taskApi 本地实现, 离线读写+自动上行), 任务编号徽标展示

This commit is contained in:
jif2.zhang
2026-10-26 00:41:51 +08:00
parent 1a695920ce
commit a714013e3e
13 changed files with 771 additions and 48 deletions
+11 -2
View File
@@ -1,5 +1,6 @@
import { createContext, useContext, useEffect, useState } from 'react'
import { api, getToken, setToken, setRememberFlag } from '../api/client.js'
import { api, getToken, setToken, setRememberFlag, setCurrentUserId } from '../api/client.js'
import { disconnectAndClearPowersync } from '../lib/powersync/db.js'
const AuthContext = createContext(null)
@@ -17,10 +18,14 @@ export function AuthProvider({ children }) {
}
try {
const data = await api('/auth/me')
if (!cancelled) setUser(data.user)
if (!cancelled) {
setUser(data.user)
setCurrentUserId(data.user?.id)
}
} catch {
if (!cancelled) {
setToken('')
setCurrentUserId('')
setUser(null)
}
} finally {
@@ -36,6 +41,7 @@ export function AuthProvider({ children }) {
setToken(data.token)
setRememberFlag(!!remember)
setUser(data.user)
setCurrentUserId(data.user?.id)
return data.user
}
@@ -44,6 +50,9 @@ export function AuthProvider({ children }) {
setToken('')
setRememberFlag(false)
setUser(null)
setCurrentUserId('')
// 断开同步并清空本地 SQLite (0.2.1 离线编辑)
try { await disconnectAndClearPowersync() } catch { /* ignore */ }
}
return (