Explorar o código

Merge branch 'dev-lhf' into 'dev'

feat: 增加校验码开关控制

See merge request product-group-fe/sfy-safety-group/sfy-safety!324
ai0197(吴云丰) hai 2 meses
pai
achega
0df8c2410d

+ 2 - 1
public/app.config.js

@@ -10,7 +10,8 @@ window.__PRODUCTION__SKYEYEADMIN__CONF__ = {
   VITE_GLOB_SKYEYE_ADMIN_URL: "/skyeye-admin/",
   VITE_GLOB_SKYEYE_H5_URL: "/skyeye-h5/",
 
-  VITE_GLOB_TIANSUO_PLATFORM: "/tiansuo/"
+  VITE_GLOB_TIANSUO_PLATFORM: "/tiansuo/",
+  VITE_GLOB_SHOW_CAPTCHA: true,
 
 };
 

+ 18 - 6
src/components/Login/components/BaseLogin.vue

@@ -48,7 +48,13 @@
         <el-button class="login-form__button" @click="handleLogin">登录</el-button>
       </footer>
     </div>
-    <SliderCaptcha captchaType="blockPuzzle" mode="pop" @success="handleCaptchaPassed" ref="sliderCaptchaRef" />
+    <SliderCaptcha
+      v-if="showCaptcha"
+      captchaType="blockPuzzle"
+      mode="pop"
+      @success="handleCaptchaPassed"
+      ref="sliderCaptchaRef"
+    />
   </div>
 </template>
 
@@ -61,16 +67,17 @@
   import { useUserStore } from '@/store/modules/user';
   import { PWD_KEY } from '@/utils/pwd';
   import SliderCaptcha from '@/components/Login/components/slider-captcha/Verify.vue';
+  import { useGlobSetting } from '@/hooks/setting';
 
   const props = defineProps<{ title: string }>();
+  const { showCaptcha } = useGlobSetting();
 
   const userStore = useUserStore();
 
   const formValue = reactive({
     username: userStore.info.username,
     password: '',
-    captchaVerification:'',
-    
+    captchaVerification: '',
   });
   const sliderCaptchaRef = ref<InstanceType<typeof SliderCaptcha>>();
 
@@ -100,7 +107,11 @@
     if (!formRef.value) return;
     formRef.value.validate((valid: boolean) => {
       if (valid) {
+        if (showCaptcha) {
           sliderCaptchaRef.value?.show();
+        } else {
+          onLogin();
+        }
       }
     });
   };
@@ -109,14 +120,15 @@
     onLogin(captchaVerification);
   };
 
-  const onLogin = (vification: string) => {
+  const onLogin = (vification?: string) => {
     console.log('valid', formValue);
-    formValue.captchaVerification=vification
+
     const encryptedPwd = md5(PWD_KEY + formValue.password);
     const loginParams = {
       ...formValue,
+      captchaVerification: vification || undefined,
       password: encryptedPwd, // 替换为加密后的密码
-    }; 
+    };
     userStore
       .login(loginParams)
       .then(() => {

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

@@ -8,12 +8,12 @@ export const useGlobSetting = (): Readonly<GlobConfig> => {
     VITE_GLOB_APP_TITLE,
     VITE_GLOB_API_URL_PREFIX,
     VITE_GLOB_DRILL_SIGN_URL,
-    VITE_GLOB_TENANT_CODE,
     VITE_GLOB_SKYEYE_LOGIN_URL,
     VITE_GLOB_SKYEYE_PLATFORM_URL,
     VITE_GLOB_SKYEYE_ADMIN_URL,
     VITE_GLOB_SKYEYE_H5_URL,
     VITE_GLOB_TIANSUO_PLATFORM,
+    VITE_GLOB_SHOW_CAPTCHA,
   } = getAppEnvConfig();
 
   // Take global configuration
@@ -32,6 +32,7 @@ export const useGlobSetting = (): Readonly<GlobConfig> => {
     skyeyeH5Host: VITE_GLOB_SKYEYE_H5_URL,
 
     tiansuoHost: VITE_GLOB_TIANSUO_PLATFORM,
+    showCaptcha: VITE_GLOB_SHOW_CAPTCHA,
   };
   return glob as Readonly<GlobConfig>;
 };

+ 3 - 0
types/config.d.ts

@@ -68,6 +68,7 @@ export interface GlobConfig {
 
   // 天梭外链地址
   tiansuoHost: string | undefined;
+  showCaptcha: boolean;
 }
 
 export interface GlobEnvConfig {
@@ -88,4 +89,6 @@ export interface GlobEnvConfig {
 
   // 天梭外链地址
   VITE_GLOB_TIANSUO_PLATFORM: string;
+
+  VITE_GLOB_SHOW_CAPTCHA: boolean;
 }

+ 0 - 21
utils/devProxy/staff/app.config.js

@@ -1,21 +0,0 @@
-window.__PRODUCTION__SKYEYEADMIN__CONF__ = {
-
-  // document的title,以及显示在左侧导航栏的title,一般是项目的名称
-  VITE_GLOB_APP_TITLE: '上飞院安全生产智能管控平台',
-  // 接口前缀
-  VITE_GLOB_API_URL_PREFIX: './safety_api/api',
-
-  VITE_GLOB_SKYEYE_LOGIN_URL: "/skyeye-login/",
-  VITE_GLOB_SKYEYE_PLATFORM_URL: "/skyeye-pc/",
-  VITE_GLOB_SKYEYE_ADMIN_URL: "/skyeye-admin/",
-  VITE_GLOB_SKYEYE_H5_URL: "/skyeye-h5/",
-
-  VITE_GLOB_TIANSUO_PLATFORM: "/tiansuo/"
-
-};
-
-Object.freeze(window.__PRODUCTION__SKYEYEADMIN__CONF__);
-Object.defineProperty(window, '__PRODUCTION__SKYEYEADMIN__CONF__', {
-  configurable: false,
-  writable: false,
-});