diff --git a/yudao-ui-admin/src/permission.js b/yudao-ui-admin/src/permission.js index 525b8b566..3923eb55f 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 1024577b6..3055cd168 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 d3463ad66..0dc1abef7 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;