From ccd07c3d63ae1959ce22ac7bec9e75a6c5ff2e7a Mon Sep 17 00:00:00 2001 From: Pan Date: Fri, 7 Sep 2018 17:15:09 +0800 Subject: [PATCH] feature: add a redirect url when not logged in https://github.com/PanJiaChen/vue-element-admin/issues/438 --- src/permission.js | 2 +- src/views/login/index.vue | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/permission.js b/src/permission.js index ab64aa2..870b072 100644 --- a/src/permission.js +++ b/src/permission.js @@ -30,7 +30,7 @@ router.beforeEach((to, from, next) => { if (whiteList.indexOf(to.path) !== -1) { next() } else { - next('/login') + next(`/login?redirect=${to.path}`) // 否则全部重定向到登录页 NProgress.done() } } diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 1333a56..0cac8ff 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -66,7 +66,16 @@ export default { password: [{ required: true, trigger: 'blur', validator: validatePass }] }, loading: false, - pwdType: 'password' + pwdType: 'password', + redirect: undefined + } + }, + watch: { + $route: { + handler: function(route) { + this.redirect = route.query && route.query.redirect + }, + immediate: true } }, methods: { @@ -83,7 +92,7 @@ export default { this.loading = true this.$store.dispatch('Login', this.loginForm).then(() => { this.loading = false - this.$router.push({ path: '/' }) + this.$router.push({ path: this.redirect || '/' }) }).catch(() => { this.loading = false })