Browse Source

1. 解决租户引发的bug

hongrunxia 8 months ago
parent
commit
db4587cd5f

+ 4 - 2
public/js/config.js

@@ -11,5 +11,7 @@ const History_Type = {
 const VENT_PARAM = {
   // simulatedPassword: '123456', //(simulatedPassword 为空时有密码输入框弹出,不为空时不弹出密码输入框,无需输入密码)
   simulatedPassword: '',
-  showReport: true
-}
+  showReport: true,
+  isoOpenSso: 'false'
+}
+export { VUE_APP_URL, History_Type, VENT_PARAM }

+ 3 - 1
src/hooks/setting/index.ts

@@ -1,4 +1,5 @@
 import type { GlobConfig } from '/#/config';
+import { VENT_PARAM } from '../../../public/js/config';
 
 import { getAppEnvConfig, getHomePath } from '/@/utils/env';
 // 读取ip地址
@@ -86,7 +87,8 @@ export const useGlobSetting = (): Readonly<GlobConfig> => {
     domainUrl: domainUrl,
     apiUrl: VITE_GLOB_API_URL,
     shortName: VITE_GLOB_APP_SHORT_NAME,
-    openSso: VITE_GLOB_APP_OPEN_SSO,
+    // openSso: VITE_GLOB_APP_OPEN_SSO,
+    openSso: VENT_PARAM.isoOpenSso || 'false',
     openQianKun: VITE_GLOB_APP_OPEN_QIANKUN,
     casBaseUrl: VITE_GLOB_APP_CAS_BASE_URL,
     urlPrefix: VITE_GLOB_API_URL_PREFIX,

+ 3 - 3
src/layouts/default/header/components/user-dropdown/DepartSelect.vue

@@ -151,7 +151,7 @@
    * 提交数据
    */
   async function handleSubmit() {
-    if (unref(isMultiTenant) && unref(tenantSelected)==null) {
+    if (unref(isMultiTenant) && unref(tenantSelected) == null) {
       validate_status.value = 'error';
       return false;
     }
@@ -165,7 +165,7 @@
           userStore.setTenant(unref(tenantSelected));
         }
         createMessage.success('切换成功');
-        
+
         //切换租户后要刷新首页
         window.location.reload();
       })
@@ -190,7 +190,7 @@
         const result = await selectDepart({
           username: userStore.getUserInfo.username,
           orgCode: unref(departSelected),
-          loginTenantId: unref(tenantSelected),
+          // loginTenantId: unref(tenantSelected),
         });
         if (result.userInfo) {
           const userInfo = result.userInfo;

+ 6 - 5
src/router/guard/permissionGuard.ts

@@ -82,17 +82,19 @@ export function createPermissionGuard(router: Router) {
         //退出登录进入此逻辑
         //如果进入的页面是login页面并且当前是OAuth2app环境,并且token为空,就进入OAuth2登录页面
         //update-begin---author:wangshuai ---date:20230224  for:[QQYUN-3440]新建企业微信和钉钉配置表,通过租户模式隔离------------
-        if (to.query.tenantId) {
-          setAuthCache(OAUTH2_THIRD_LOGIN_TENANT_ID, to.query.tenantId);
-        }
+        // if (to.query.tenantId) {
+        //   setAuthCache(OAUTH2_THIRD_LOGIN_TENANT_ID, to.query.tenantId);
+        // }
         next({ path: OAUTH2_LOGIN_PAGE_PATH });
         document.title = '登录';
+        ///
+
         //update-end---author:wangshuai ---date:20230224  for:[QQYUN-3440]新建企业微信和钉钉配置表,通过租户模式隔离------------
         return;
         //update-end---author:wangshuai ---date:20220629  for:[issues/I5BG1I]vue3不支持auth2登录------------
       }
-      // mountMicroApp(to.path);
       next();
+
       document.title = to.meta.title;
       return;
     }
@@ -101,7 +103,6 @@ export function createPermissionGuard(router: Router) {
     if (!token) {
       // You can access without permission. You need to set the routing meta.ignoreAuth to true
       if (to.meta.ignoreAuth) {
-        // mountMicroApp(to.path);
         next();
         document.title = to.meta.title;
         return;

+ 6 - 5
src/views/sys/login/LoginSelect.vue

@@ -138,11 +138,11 @@
        */
       function bizDepart(loginResult) {
         //如果登录接口返回了用户上次登录租户ID,则不需要重新选择
-        if(loginResult.userInfo?.orgCode && loginResult.userInfo?.orgCode!==''){
+        if (loginResult.userInfo?.orgCode && loginResult.userInfo?.orgCode !== '') {
           isMultiDepart.value = false;
           return;
         }
-        
+
         let multi_depart = loginResult.multi_depart;
         //0:无部门 1:一个部门 2:多个部门
         if (multi_depart == 0) {
@@ -165,11 +165,11 @@
        */
       function bizTenantList(loginResult) {
         //如果登录接口返回了用户上次登录租户ID,则不需要重新选择
-        if(loginResult.userInfo?.loginTenantId && loginResult.userInfo?.loginTenantId!==0){
+        if (loginResult.userInfo?.loginTenantId && loginResult.userInfo?.loginTenantId !== 0) {
           isMultiTenant.value = false;
           return;
         }
-        
+
         let tenantArr = loginResult.tenantList;
         if (Array.isArray(tenantArr)) {
           if (tenantArr.length === 0) {
@@ -225,7 +225,8 @@
           if (!unref(isMultiDepart) && !unref(isMultiTenant)) {
             resolve();
           } else {
-            let params = { orgCode: formState.orgCode,loginTenantId: formState.tenantId, username: unref(username) };
+            // let params = { orgCode: formState.orgCode, loginTenantId: formState.tenantId, username: unref(username) };
+            let params = { orgCode: formState.orgCode, username: unref(username) };
             defHttp.put({ url: '/sys/selectDepart', params }).then((res) => {
               if (res.userInfo) {
                 userStore.setUserInfo(res.userInfo);