From c5fe5bf3cb9bd1bf3383a1a431ac37f640485783 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期四, 31 八月 2023 11:47:54 +0800
Subject: [PATCH] 修改未登录访问需要登录的资源,在登录后重定向丢失请求参数问题

---
 src/views/login.vue |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/src/views/login.vue b/src/views/login.vue
index c2a91ef..8d3119a 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -71,6 +71,7 @@
 import useUserStore from '@/store/modules/user'
 
 const userStore = useUserStore()
+const route = useRoute();
 const router = useRouter();
 const { proxy } = getCurrentInstance();
 
@@ -96,6 +97,10 @@
 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 => {
     if (valid) {
@@ -113,7 +118,14 @@
       }
       // 璋冪敤action鐨勭櫥褰曟柟娉�
       userStore.login(loginForm.value).then(() => {
-        router.push({ path: redirect.value || "/" });
+        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;
         // 閲嶆柊鑾峰彇楠岃瘉鐮�

--
Gitblit v1.9.3