feature: add a redirect url when not logged in

https://github.com/PanJiaChen/vue-element-admin/issues/438
This commit is contained in:
Pan 2018-09-07 17:15:09 +08:00
parent 337b12bea7
commit ccd07c3d63
2 changed files with 12 additions and 3 deletions

View File

@ -30,7 +30,7 @@ router.beforeEach((to, from, next) => {
if (whiteList.indexOf(to.path) !== -1) { if (whiteList.indexOf(to.path) !== -1) {
next() next()
} else { } else {
next('/login') next(`/login?redirect=${to.path}`) // 否则全部重定向到登录页
NProgress.done() NProgress.done()
} }
} }

View File

@ -66,7 +66,16 @@ export default {
password: [{ required: true, trigger: 'blur', validator: validatePass }] password: [{ required: true, trigger: 'blur', validator: validatePass }]
}, },
loading: false, loading: false,
pwdType: 'password' pwdType: 'password',
redirect: undefined
}
},
watch: {
$route: {
handler: function(route) {
this.redirect = route.query && route.query.redirect
},
immediate: true
} }
}, },
methods: { methods: {
@ -83,7 +92,7 @@ export default {
this.loading = true this.loading = true
this.$store.dispatch('Login', this.loginForm).then(() => { this.$store.dispatch('Login', this.loginForm).then(() => {
this.loading = false this.loading = false
this.$router.push({ path: '/' }) this.$router.push({ path: this.redirect || '/' })
}).catch(() => { }).catch(() => {
this.loading = false this.loading = false
}) })