diff --git a/src/pages/about/about.vue b/src/pages/about/about.vue index f40d077..2c8f68d 100644 --- a/src/pages/about/about.vue +++ b/src/pages/about/about.vue @@ -30,6 +30,15 @@ function gotoLogin() { url: `${LOGIN_PAGE}?redirect=${encodeURIComponent('/pages/about/about?a=1&b=2')}`, }) } +function logout() { + // 清空用户信息 + tokenStore.logout() + // 执行退出登录逻辑 + uni.showToast({ + title: '退出登录成功', + icon: 'success', + }) +} function gotoTabbar() { uni.switchTab({ @@ -93,9 +102,17 @@ onShow(() => { - + + 当前是否登录:{{ tokenStore.hasLogin }} + + + + + diff --git a/src/service/user.ts b/src/service/user.ts index 5653783..f3b2b78 100644 --- a/src/service/user.ts +++ b/src/service/user.ts @@ -119,7 +119,7 @@ export async function userCreateWithListUsingPost({ }); } -/** Logs user into the system GET /user/login */ +/** Logs user into the system GET /auth/login */ export async function userLoginUsingGet({ params, options, @@ -128,7 +128,7 @@ export async function userLoginUsingGet({ params: API.userLoginUsingGetParams; options?: CustomRequestOptions; }) { - return request('/user/login', { + return request('/auth/login', { method: 'GET', params: { ...params, diff --git a/src/service/user.vuequery.ts b/src/service/user.vuequery.ts index 658060a..6e5851f 100644 --- a/src/service/user.vuequery.ts +++ b/src/service/user.vuequery.ts @@ -122,7 +122,7 @@ export function useUserCreateWithListUsingPostMutation(options?: { return response; } -/** Logs user into the system GET /user/login */ +/** Logs user into the system GET /auth/login */ export function userLoginUsingGetQueryOptions(options: { // 叠加生成的Param类型 (非body参数openapi默认没有生成对象) params: API.userLoginUsingGetParams; diff --git a/src/store/token.ts b/src/store/token.ts index 73f0c5f..1022d05 100644 --- a/src/store/token.ts +++ b/src/store/token.ts @@ -3,7 +3,6 @@ import { defineStore } from 'pinia' import { computed, ref } from 'vue' // 修复:导入 computed import { login as _login, - logout as _logout, refreshToken as _refreshToken, wxLogin as _wxLogin, getWxCode, @@ -155,18 +154,21 @@ export const useTokenStore = defineStore( */ const logout = async () => { try { - await _logout() - // 清除存储的过期时间 - uni.removeStorageSync('accessTokenExpireTime') - uni.removeStorageSync('refreshTokenExpireTime') + // TODO 实现自己的退出登录逻辑 + // await _logout() } catch (error) { console.error('退出登录失败:', error) } finally { // 无论成功失败,都需要清除本地token信息 - const userStore = useUserStore() - await userStore.removeUserInfo() + // 清除存储的过期时间 + uni.removeStorageSync('accessTokenExpireTime') + uni.removeStorageSync('refreshTokenExpireTime') + console.log('退出登录-清除用户信息') + tokenInfo.value = { ...tokenInfoState } + uni.removeStorageSync('user') + uni.removeStorageSync('token') } } @@ -221,6 +223,9 @@ export const useTokenStore = defineStore( * 检查是否有登录信息(不考虑token是否过期) */ const hasLoginInfo = computed(() => { + if (!tokenInfo.value) { + return false + } if (isDoubleTokenMode) { return isDoubleTokenRes(tokenInfo.value) && !!tokenInfo.value.accessToken } @@ -233,6 +238,7 @@ export const useTokenStore = defineStore( * 检查是否已登录且token有效 */ const hasValidLogin = computed(() => { + console.log('hasValidLogin', hasLoginInfo.value, !isTokenExpired.value) return hasLoginInfo.value && !isTokenExpired.value })