fix login and register

This commit is contained in:
2026-03-18 16:23:58 +08:00
parent 9cba09d731
commit 2d063870fe
6 changed files with 480 additions and 5 deletions
+7 -2
View File
@@ -12,6 +12,7 @@ export const useUserStore = defineStore('user', () => {
const token = ref<string | null>(localStorage.getItem('access_token'))
const refreshToken = ref<string | null>(localStorage.getItem('refresh_token'))
const user = ref<UserInfo | null>(null)
const _remember = ref(true)
// 基本 JWT 格式校验(三段式),防止垃圾值绕过路由守卫
const isLoggedIn = computed(() => {
@@ -24,6 +25,7 @@ export const useUserStore = defineStore('user', () => {
function setToken(accessToken: string, newRefreshToken: string, remember = true) {
token.value = accessToken
refreshToken.value = newRefreshToken
_remember.value = remember
if (remember) {
localStorage.setItem('access_token', accessToken)
localStorage.setItem('refresh_token', newRefreshToken)
@@ -31,16 +33,19 @@ export const useUserStore = defineStore('user', () => {
// 不记住:清除持久化,token 仅存于内存,关闭标签页即失效
localStorage.removeItem('access_token')
localStorage.removeItem('refresh_token')
localStorage.removeItem('user')
}
}
function setUser(info: UserInfo) {
user.value = info
localStorage.setItem('user', JSON.stringify(info))
if (_remember.value) {
localStorage.setItem('user', JSON.stringify(info))
}
}
async function fetchCurrentUser() {
const data = await api.get<UserInfo>('/api/v1/auth/me')
const data = await api.get<UserInfo>('/api/v1/me')
setUser(data)
return data
}