From 6e1893acd28cdde918da3f5430f616b5eb7008eb Mon Sep 17 00:00:00 2001
From: feige996 <1020102647@qq.com>
Date: Sun, 7 Sep 2025 17:09:33 +0800
Subject: [PATCH] =?UTF-8?q?perf(=E7=99=BB=E5=BD=95):=20=E4=BC=98=E5=8C=96?=
=?UTF-8?q?=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3=E8=B7=AF=E5=BE=84=E5=B9=B6?=
=?UTF-8?q?=E5=AE=8C=E5=96=84=E9=80=80=E5=87=BA=E7=99=BB=E5=BD=95=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/about/about.vue | 23 ++++++++++++++++++++---
src/service/user.ts | 4 ++--
src/service/user.vuequery.ts | 2 +-
src/store/token.ts | 20 +++++++++++++-------
4 files changed, 36 insertions(+), 13 deletions(-)
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
})