From decaf470dd3f97673af18486d3a3f9adc50353aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B7=A6=E5=93=A5?= <17630302050@163.com> Date: Wed, 16 Jul 2025 22:37:40 +0800 Subject: [PATCH] sds --- api/request.js | 15 +++++++++++++++ pages/login/login.js | 4 ++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/api/request.js b/api/request.js index 1eb533c..d857bd4 100644 --- a/api/request.js +++ b/api/request.js @@ -1,6 +1,19 @@ +// 在登录成功后请调用 resetTokenInvalid() 重置 isTokenInvalid 标志 +let isTokenInvalid = false; + const baseUrl = 'https://ddbs.1024tool.vip/'; let isNavigatingToLogin = false; + +// 重置 token 失效标志(登录成功后调用) +export function resetTokenInvalid() { + isTokenInvalid = false; +} + function request(url, method = 'GET', data = {}) { + // 如果 token 已失效,直接中断请求 + if (isTokenInvalid) { + return Promise.reject({ code: 10103, message: '登录已失效,请重新登录' }); + } const header = { 'content-type': 'application/json', // 有其他content-type需求加点逻辑判断处理即可 @@ -20,6 +33,7 @@ function request(url, method = 'GET', data = {}) { success(res) { if (res.data.code) { if (res.data.code == 10103) { + isTokenInvalid = true; wx.removeStorageSync('access_token'); if (!isNavigatingToLogin) { const pages = getCurrentPages(); @@ -35,6 +49,7 @@ function request(url, method = 'GET', data = {}) { } } reject(res.data); + return; } wx.showToast({ title: res.data.message, diff --git a/pages/login/login.js b/pages/login/login.js index 9fa9d91..522dd4b 100644 --- a/pages/login/login.js +++ b/pages/login/login.js @@ -1,5 +1,5 @@ import request from '~/api/request'; - +import { resetTokenInvalid } from '~/api/request'; import aesCryptoJS from '~/utils/aesCryptoJS.js'; Page({ @@ -47,7 +47,7 @@ Page({ return; } - + resetTokenInvalid() const res = await request('doctor/login', 'post', { password: aesCryptoJS(this.data.password), mobile: this.data.mobile