diff --git a/src/router/index.js b/src/router/index.js index d5a6d886..38fc6878 100755 --- a/src/router/index.js +++ b/src/router/index.js @@ -26,6 +26,8 @@ router.beforeEach((to, from, next) => { if (token && token !== 'undefined') { next() } else { + // 将当前预计打开的页面完整地址临时存储 登陆后继续跳转 + // 这个 cookie(redirect) 会在登陆后自动删除 util.cookies.set('redirect', to.fullPath) // 没有登陆的时候跳转到登陆界面 next({ diff --git a/src/store/modules/d2admin/modules/account.js b/src/store/modules/d2admin/modules/account.js index ce545d01..3e28d6c2 100644 --- a/src/store/modules/d2admin/modules/account.js +++ b/src/store/modules/d2admin/modules/account.js @@ -41,8 +41,12 @@ export default { }, { root: true }) // 用户登陆后从持久化数据加载一系列的设置 commit('load') - // 更新路由 - vm.$router.replace(route) + // 更新路由 尝试去获取 cookie 里保存的需要重定向的页面完整地址 + const path = util.cookies.get('redirect') + // 根据是否存有重定向页面判断如何重定向 + vm.$router.replace(path ? { path } : route) + // 删除 cookie 中保存的重定向页面 + util.cookies.remove('redirect') }) .catch(err => { console.group('登陆结果')