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

[Feat 0000] 将旧版的自动登录(仅前端逻辑)更名为模拟登录

houzekong пре 8 месеци
родитељ
комит
8f5c88221d

+ 1 - 1
src/router/guard/permissionGuard.ts

@@ -117,7 +117,7 @@ export function createPermissionGuard(router: Router) {
       // query中要求自动登录的执行自动登录
       if (to.query[AUTO_LOGIN_URL_QUERY.key] === AUTO_LOGIN_URL_QUERY.val) {
         const userStore = useUserStoreWithOut();
-        await userStore.autoLogin({
+        await userStore.mockLogin({
           goHome: false,
         });
         return next({

+ 2 - 2
src/store/constant.ts

@@ -1,2 +1,2 @@
-export const AUTO_LOGIN_USERNAME = 'autoAdmin';
-export const AUTO_LOGIN_PASSWORD = 'autoAdmin123';
+export const MOCK_LOGIN_UESRNAME = 'autoAdmin';
+export const MOCK_LOGIN_PASSWORD = 'autoAdmin123';

+ 11 - 10
src/store/modules/user.ts

@@ -19,7 +19,7 @@ import { JDragConfigEnum } from '/@/enums/jeecgEnum';
 import { RoleEnum } from '/@/enums/roleEnum';
 import { useSso } from '/@/hooks/web/useSso';
 import { getActions } from '/@/qiankun/state';
-import { AUTO_LOGIN_PASSWORD, AUTO_LOGIN_USERNAME } from '../constant';
+import { MOCK_LOGIN_PASSWORD, MOCK_LOGIN_UESRNAME } from '../constant';
 
 interface UserState {
   userInfo: Nullable<UserInfo>;
@@ -90,9 +90,9 @@ export const useUserStore = defineStore({
       return getAuthCache<string>(PWD_KEY);
     },
     // 目前用户角色列表为空数组,所以使用既定的用户名判断
-    getIsAutoLogin() {
-      console.log(this.getUserInfo.username === AUTO_LOGIN_USERNAME);
-      return this.getUserInfo.username === AUTO_LOGIN_USERNAME;
+    getIsMockLogin() {
+      console.log(this.getUserInfo.username === MOCK_LOGIN_UESRNAME);
+      return this.getUserInfo.username === MOCK_LOGIN_UESRNAME;
     },
   },
   actions: {
@@ -371,7 +371,8 @@ export const useUserStore = defineStore({
         },
       });
     },
-    async autoLogin(
+    /** 模拟用户登录行为,使用既定的账号,账号权限将受限 */
+    async mockLogin(
       params: Partial<LoginParams> & {
         goHome?: boolean;
         mode?: ErrorMessageMode;
@@ -379,8 +380,8 @@ export const useUserStore = defineStore({
     ) {
       try {
         const loginParams = {
-          username: AUTO_LOGIN_USERNAME,
-          password: AUTO_LOGIN_PASSWORD,
+          username: MOCK_LOGIN_UESRNAME,
+          password: MOCK_LOGIN_PASSWORD,
           checkKey: new Date().getTime(),
           ...params,
         };
@@ -397,15 +398,15 @@ export const useUserStore = defineStore({
       return atob(password);
       // return AES.decrypt(password, PWD_KEY).toString();
     },
-    /** 续登录,即登出后自动登录并刷新当前页面,不需要用户重复登录自动登录账户 */
-    async continuallyLogin(
+    /** 续登录,即登出后再次模拟登录并刷新当前页面,不需要用户重复登录"自动"登录账户 */
+    async redoMockLogin(
       params: Partial<LoginParams> & {
         goHome?: boolean;
         mode?: ErrorMessageMode;
       } = {}
     ) {
       await this.logout();
-      await this.autoLogin({
+      await this.mockLogin({
         goHome: false,
         ...params,
       });

+ 3 - 3
src/utils/http/axios/checkStatus.ts

@@ -6,7 +6,7 @@ import { useI18n } from '/@/hooks/web/useI18n';
 import { useUserStoreWithOut } from '/@/store/modules/user';
 import projectSetting from '/@/settings/projectSetting';
 import { SessionTimeoutProcessingEnum } from '/@/enums/appEnum';
-import { AUTO_LOGIN_USERNAME } from '/@/store/constant';
+import { MOCK_LOGIN_UESRNAME } from '/@/store/constant';
 
 const { createMessage, createErrorModal } = useMessage();
 const error = createMessage.error!;
@@ -31,9 +31,9 @@ export function checkStatus(status: number, msg: string, errorMessageMode: Error
         userStore.setSessionTimeout(true);
       } else {
         // 经由自动登录的账号需要在登录信息过期之后重新登录
-        const continuallyLogin = userStore.getIsAutoLogin;
+        const continuallyLogin = userStore.getIsMockLogin;
         if (continuallyLogin) {
-          userStore.continuallyLogin();
+          userStore.redoMockLogin();
         } else {
           userStore.logout(true);
         }