Browse Source

fix: 修改获取token的方式

Lambert 2 weeks ago
parent
commit
452e16ae18
3 changed files with 10 additions and 16 deletions
  1. 0 4
      api/achievement/index.ts
  2. 9 12
      store/modules/user.ts
  3. 1 0
      types/user.ts

+ 0 - 4
api/achievement/index.ts

@@ -53,9 +53,5 @@ export function useAchievementApi() {
     getDictData: (dictType: string) => {
       return specialRequest.get('/cxy/dict/data/list', { params: { dictType } });
     },
-    // 免登录获取SCITOKEN
-    getSciToken: (userId: string | number):Promise<any> => {
-      return specialRequest.post('/lams/avoid/login', { userId, code: 'dshc-cq-ky' });
-    },
   };
 }

+ 9 - 12
store/modules/user.ts

@@ -6,7 +6,6 @@ import { Local, Session } from '@/utils/storage';
 import { useLoginApi } from '@/api/system/login';
 import { useSystemApi } from '@/api/system/index';
 import { useUserApi } from '@/api/user/index';
-import { useAchievementApi } from '@/api/achievement/index';
 import type { LoginParams, UserInfo } from '@/types/user';
 import { sm3 } from 'sm-crypto';
 import to from 'await-to-js';
@@ -51,6 +50,13 @@ export const useUserStore = defineStore('user', () => {
     }
   }
 
+  function saveSciTokenFromLoginResponse(res: { data?: { sciToken?: string } } | null | undefined) {
+    const sciToken = res?.data?.sciToken
+    if (sciToken) {
+      Local.set(CACHE_KEY.SCITOKEN, sciToken)
+    }
+  }
+
   /**
    * 清理用户状态和本地缓存
    */
@@ -97,6 +103,7 @@ export const useUserStore = defineStore('user', () => {
     if (resToken) {
       token.value = resToken;
       Local.set(CACHE_KEY.TOKEN, resToken);
+      saveSciTokenFromLoginResponse(res);
       // 登录成功后主动获取用户信息
       await fetchUserInfo();
     }
@@ -122,6 +129,7 @@ export const useUserStore = defineStore('user', () => {
     if (resToken) {
       token.value = resToken;
       Local.set(CACHE_KEY.TOKEN, resToken);
+      saveSciTokenFromLoginResponse(res);
       // 登录成功后主动获取用户信息
       await fetchUserInfo();
     }
@@ -157,17 +165,6 @@ export const useUserStore = defineStore('user', () => {
     Local.set(CACHE_KEY.USER_INFO, userInfo.value);
     Local.set(CACHE_KEY.PERMS, perms.value);
     Local.set(CACHE_KEY.ROLES, roles.value);
-
-    // 获取科技专项活动 TOKEN
-    if (userInfo.value.id) {
-      const achievementApi = useAchievementApi();
-      const [sciErr, sciRes] = await to(achievementApi.getSciToken(userInfo.value.id));
-      console.log(sciRes)
-      const sciToken = sciRes?.token;
-      if (!sciErr && sciToken) {
-        Local.set(CACHE_KEY.SCITOKEN, sciToken);
-      }
-    }
   }
 
   /**

+ 1 - 0
types/user.ts

@@ -64,5 +64,6 @@ export interface UserInfo {
 // 登录接口返回的 Token 结构
 export interface LoginResult {
   token: string;
+  sciToken?: string;
   expiresIn?: number;
 }