From cb80de3742d66cfee20bc3136c735e5ca5a7d45c Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期三, 29 十一月 2023 12:44:42 +0800
Subject: [PATCH] 优化字典标签支持自定义分隔符

---
 src/views/login.vue |   31 ++++++++++++++++++++++---------
 1 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/src/views/login.vue b/src/views/login.vue
index 4b1dbc3..8d3119a 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -25,7 +25,7 @@
           <template #prefix><svg-icon icon-class="password" class="el-input__icon input-icon" /></template>
         </el-input>
       </el-form-item>
-      <el-form-item prop="code" v-if="captchaOnOff">
+      <el-form-item prop="code" v-if="captchaEnabled">
         <el-input
           v-model="loginForm.code"
           size="large"
@@ -59,7 +59,7 @@
     </el-form>
     <!--  搴曢儴  -->
     <div class="el-login-footer">
-      <span>Copyright 漏 2018-2022 ruoyi.vip All Rights Reserved.</span>
+      <span>Copyright 漏 2018-2023 ruoyi.vip All Rights Reserved.</span>
     </div>
   </div>
 </template>
@@ -68,8 +68,10 @@
 import { getCodeImg } from "@/api/login";
 import Cookies from "js-cookie";
 import { encrypt, decrypt } from "@/utils/jsencrypt";
+import useUserStore from '@/store/modules/user'
 
-const store = useStore();
+const userStore = useUserStore()
+const route = useRoute();
 const router = useRouter();
 const { proxy } = getCurrentInstance();
 
@@ -90,10 +92,14 @@
 const codeUrl = ref("");
 const loading = ref(false);
 // 楠岃瘉鐮佸紑鍏�
-const captchaOnOff = ref(true);
+const captchaEnabled = ref(true);
 // 娉ㄥ唽寮�鍏�
 const register = ref(false);
 const redirect = ref(undefined);
+
+watch(route, (newRoute) => {
+    redirect.value = newRoute.query && newRoute.query.redirect;
+}, { immediate: true });
 
 function handleLogin() {
   proxy.$refs.loginRef.validate(valid => {
@@ -111,12 +117,19 @@
         Cookies.remove("rememberMe");
       }
       // 璋冪敤action鐨勭櫥褰曟柟娉�
-      store.dispatch("Login", loginForm.value).then(() => {
-        router.push({ path: redirect.value || "/" });
+      userStore.login(loginForm.value).then(() => {
+        const query = route.query;
+        const otherQueryParams = Object.keys(query).reduce((acc, cur) => {
+          if (cur !== "redirect") {
+            acc[cur] = query[cur];
+          }
+          return acc;
+        }, {});
+        router.push({ path: redirect.value || "/", query: otherQueryParams });
       }).catch(() => {
         loading.value = false;
         // 閲嶆柊鑾峰彇楠岃瘉鐮�
-        if (captchaOnOff.value) {
+        if (captchaEnabled.value) {
           getCode();
         }
       });
@@ -126,8 +139,8 @@
 
 function getCode() {
   getCodeImg().then(res => {
-    captchaOnOff.value = res.captchaOnOff === undefined ? true : res.captchaOnOff;
-    if (captchaOnOff.value) {
+    captchaEnabled.value = res.captchaEnabled === undefined ? true : res.captchaEnabled;
+    if (captchaEnabled.value) {
       codeUrl.value = "data:image/gif;base64," + res.img;
       loginForm.value.uuid = res.uuid;
     }

--
Gitblit v1.9.3