router/permission.js (去往/backend开头的需要检查是否登录,如果【!state.value.isLogin】不为 true 则跳往登录页面)
import { state, checkLoginStatus } from '@/stores/localstorage'
// 只需要对去往backend后台的请求进行鉴权: /backend/xxxx
// next: 理解为router.push 函数
export var beforeEachHanler = function (to, from, next) {
// 检查登录状态是否有效
checkLoginStatus()
// 使用indexOf来判断当前url 是否已 /backend开头
if (to.path.indexOf('/backend') === 0) {
// 需要判断当前用户是否已经登录
if (!state.value.isLogin) {
// 直接跳转到LoginPage去登录
next({ name: 'LoginPage' })
return
}
}
// 直接继续后面的路由处理
next()
}
引入使用
router/index.js (引入该函数)
...
import { beforeEachHanler } from './permission'
...
// 对Router进行导航守卫的设置
// 全局前置守卫
router.beforeEach(beforeEachHanler)
// 全局后置守卫
// router.afterEach()
export default router
文章评论