Преглед изворни кода

refactor(http): 使用工具函数判断双token模式替代环境变量

移除直接读取环境变量判断双token模式的逻辑,改为使用工具函数isDoubleTokenMode
feige996 пре 8 месеци
родитељ
комит
38ab240808
1 измењених фајлова са 2 додато и 4 уклоњено
  1. 2 4
      src/http/http.ts

+ 2 - 4
src/http/http.ts

@@ -2,14 +2,12 @@ import type { IDoubleTokenRes } from '@/api/types/login'
 import type { CustomRequestOptions } from '@/http/types'
 import { nextTick } from 'vue'
 import { useTokenStore } from '@/store/token'
+import { isDoubleTokenMode } from '@/utils'
 
 // 刷新 token 状态管理
 let refreshing = false // 防止重复刷新 token 标识
 let taskQueue: (() => void)[] = [] // 刷新 token 请求队列
 
-// token 刷新策略: single-不刷新,double-无感刷新(需后端配合)
-const sessionMode = import.meta.env.VITE_AUTH_MODE === 'double' ? 'double' : 'single'
-
 export function http<T>(options: CustomRequestOptions) {
   // 1. 返回 Promise 对象
   return new Promise<IResData<T>>((resolve, reject) => {
@@ -29,7 +27,7 @@ export function http<T>(options: CustomRequestOptions) {
         const resData: IResData<T> = res.data as IResData<T>
         if ((res.statusCode === 401) || (resData.code === 401)) {
           const tokenStore = useTokenStore()
-          if (sessionMode === 'single') {
+          if (!isDoubleTokenMode) {
             // 未启用双token策略,清理用户信息,跳转到登录页
             tokenStore.logout()
             uni.navigateTo({ url: '/pages/login/login' })