From 585d2a523bf74310b7b1dc10a00089d44ac5ac6d Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 1 Oct 2022 21:37:45 +0800 Subject: [PATCH] 修复登录的 redirect 地址,存在参数时,登录成功回跳的时候地址不正确的问题 --- yudao-ui-admin/src/permission.js | 3 ++- yudao-ui-admin/src/views/login.vue | 2 +- yudao-ui-admin/src/views/socialLogin.vue | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/yudao-ui-admin/src/permission.js b/yudao-ui-admin/src/permission.js index 525b8b5..3923eb5 100644 --- a/yudao-ui-admin/src/permission.js +++ b/yudao-ui-admin/src/permission.js @@ -48,7 +48,8 @@ router.beforeEach((to, from, next) => { // 在免登录白名单,直接进入 next() } else { - next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页 + const redirect = encodeURIComponent(to.fullPath) // 编码 URI,保证参数跳转回去后,可以继续带上 + next(`/login?redirect=${redirect}`) // 否则全部重定向到登录页 NProgress.done() } } diff --git a/yudao-ui-admin/src/views/login.vue b/yudao-ui-admin/src/views/login.vue index 1024577..3055cd1 100644 --- a/yudao-ui-admin/src/views/login.vue +++ b/yudao-ui-admin/src/views/login.vue @@ -190,7 +190,7 @@ export default { // 验证码开关 this.captchaEnable = getCaptchaEnable(); // 重定向地址 - this.redirect = this.$route.query.redirect; + this.redirect = this.$route.query.redirect ? decodeURIComponent(this.$route.query.redirect) : undefined; this.getCookie(); }, methods: { diff --git a/yudao-ui-admin/src/views/socialLogin.vue b/yudao-ui-admin/src/views/socialLogin.vue index d3463ad..0dc1abe 100644 --- a/yudao-ui-admin/src/views/socialLogin.vue +++ b/yudao-ui-admin/src/views/socialLogin.vue @@ -117,7 +117,7 @@ export default { // 验证码开关 this.captchaEnable = getCaptchaEnable(); // 重定向地址 - this.redirect = this.$route.query.redirect; + this.redirect = this.$route.query.redirect ? decodeURIComponent(this.$route.query.redirect) : undefined; // 社交登录相关 this.type = this.$route.query.type; this.code = this.$route.query.code; -- libgit2 0.21.4