3
0
Эх сурвалжийг харах

[Feat 0000] 自动登录功能开发

houzekong 1 сар өмнө
parent
commit
bdb6fdbaf8

+ 1 - 3
src/api/sys/model/userModel.ts

@@ -13,9 +13,7 @@ export interface ThirdLoginParams {
 
 export interface AutoLoginParams {
   /** 账号 */
-  account: string;
-  deptId: string;
-  username: string;
+  zbToken: string;
 }
 
 export interface RoleInfo {

+ 4 - 4
src/api/sys/user.ts

@@ -45,6 +45,8 @@ enum Api {
   getQrcodeToken = '/sys/getQrcodeToken',
   //陕西省局密闭第三方自动登录
   autoLoginForSXMB = '/jeecg-system/sys/autoLoginForSXMB',
+  //第三方获取用户信息接口
+  autoLoginForSXMBByToken = '/jeecg-system/sys/autoLoginForSXMBByToken',
 }
 
 /**
@@ -183,15 +185,13 @@ export function thirdLogin(params, mode: ErrorMessageMode = 'modal') {
 export function autoLoginApi(params: AutoLoginParams, mode: ErrorMessageMode = 'modal', successMode: SuccessMessageMode = 'success') {
   return defHttp.get<LoginResultModel>(
     {
-      url: Api.autoLoginForSXMB,
+      url: Api.autoLoginForSXMBByToken,
       params,
-      headers: {
-        token: 'MTIzNDU2',
-      },
     },
     {
       successMessageMode: successMode,
       errorMessageMode: mode,
+      joinParamsToUrl: true,
     }
   );
 }

+ 3 - 16
src/hooks/system/useAutoLogin.ts

@@ -26,13 +26,7 @@ export function useAutoLogin() {
 
   /** 判断当前路由是否需要自动登录,本方法是同步方法,可以用于事先判断 */
   function validateRoute(route: RouteLocationNormalized) {
-    if (
-      route.query &&
-      route.query[AUTO_LOGIN_URL_QUERY.key] === AUTO_LOGIN_URL_QUERY.val &&
-      route.query.deptId &&
-      route.query.account &&
-      route.query.username
-    ) {
+    if (route.query && route.query[AUTO_LOGIN_URL_QUERY.key]) {
       return true;
     }
 
@@ -47,23 +41,16 @@ export function useAutoLogin() {
   async function doAutoLogin(route: RouteLocationNormalized): Promise<void> {
     if (!validateRoute(route)) return;
 
-    const { account, deptId, username } = route.query;
-
     const params = {
-      account: account as string,
-      deptId: deptId as string,
-      username: username as string,
+      zbToken: route.query[AUTO_LOGIN_URL_QUERY.key] as string,
       checkKey: new Date().getTime(),
     };
     delete route.query[AUTO_LOGIN_URL_QUERY.key];
-    delete route.query['account'];
-    delete route.query['deptId'];
-    delete route.query['username'];
     const userStore = useUserStore();
     try {
       await userStore.autoLogin({
         ...params,
-        goHome: false,
+        goHome: true,
       });
       // delete route.query['username'];
       return;

+ 1 - 1
src/router/constant.ts

@@ -31,4 +31,4 @@ export const getParentLayout = (_name?: string) => {
     });
 };
 
-export const AUTO_LOGIN_URL_QUERY = { key: 'auto-login', val: '1' };
+export const AUTO_LOGIN_URL_QUERY = { key: 'token', val: '1' };