From 43e94434d139a5eefaf724ea4853447d35872863 Mon Sep 17 00:00:00 2001 From: carry <2641257231@qq.com> Date: Sun, 16 Feb 2025 13:25:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86id=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E7=9A=84bug=EF=BC=8C=E5=B9=B6=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BA=86=E7=99=BB=E5=BD=95=E9=94=99=E8=AF=AF=E7=9A=84?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/userStore.ts | 11 ++++++----- src/views/LoginPage.vue | 8 ++++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/store/userStore.ts b/src/store/userStore.ts index d28381c..831c270 100644 --- a/src/store/userStore.ts +++ b/src/store/userStore.ts @@ -9,7 +9,7 @@ export const userStore = defineStore('user', () => { const refreshToken = ref(''); const role = ref(''); const username = ref(''); - const userId = ref(null); + const id = ref(null); // 计算属性,用于快速判断用户是否登录 const isLoggedIn = computed(() => !!accessToken.value); @@ -29,13 +29,14 @@ export const userStore = defineStore('user', () => { async function login(usernameParam: string, password: string) { try { const { access_token, refresh_token } = await authService.login(usernameParam, password); - const decoded = jwtDecode<{ sub: string; role: string; username: string }>(access_token); + const decoded = jwtDecode<{ sub: string; role: string; username: string; id: string }>(access_token); setTokens({ access_token, refresh_token }); setRole(decoded.role); username.value = decoded.username; - userId.value = parseInt(decoded.sub); + id.value = parseInt(decoded.id); } catch (error) { console.error('Login failed:', error); + throw error; } } @@ -45,7 +46,7 @@ export const userStore = defineStore('user', () => { refreshToken.value = ''; role.value = ''; username.value = ''; - userId.value = null; + id.value = null; } // 刷新访问令牌的方法,调用 authService.refreshToken 获取新令牌并设置状态 @@ -58,5 +59,5 @@ export const userStore = defineStore('user', () => { } } - return { accessToken, refreshTokenToken: refreshToken, role, username, userId, isLoggedIn, login, logout, refreshTokenMethod }; + return { accessToken, refreshTokenToken: refreshToken, role, username, userId: id, isLoggedIn, login, logout, refreshTokenMethod }; }); \ No newline at end of file diff --git a/src/views/LoginPage.vue b/src/views/LoginPage.vue index 89ce027..062d984 100644 --- a/src/views/LoginPage.vue +++ b/src/views/LoginPage.vue @@ -17,6 +17,7 @@