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