Former-commit-id: 6c0824b8d2e59ef3a72a65a6044c1217cd3a351d [formerly c9f42aa09c4b0b5de2ac5473f9384d6f7e187063] [formerly 6c0824b8d2e59ef3a72a65a6044c1217cd3a351d [formerly c9f42aa09c4b0b5de2ac5473f9384d6f7e187063] [formerly 6c0824b8d2e59ef3a72a65a6044c1217cd3a351d [formerly c9f42aa09c4b0b5de2ac5473f9384d6f7e187063] [formerly c9f42aa09c4b0b5de2ac5473f9384d6f7e187063 [formerly 5dde11521f5740d96ce6b0c8b4d4dc6ec738bf57 [formerly e474ecb99ef86f507fc991cb4aeb89b6f4b7afc0]]]]] Former-commit-id: 81e5bed2d676b45a8097efe31e1862e2065a8e54 Former-commit-id: 82dad2622857f00c98550e67eb002617f76871d5 Former-commit-id: d87b796d20ce2f6e113c44b45e09e88f154788be [formerly 3f52ba8cba47a6470c20c9495b639959f74022e3] Former-commit-id: 054f1738830a6c8af8385e54c06efc097ecd4259 Former-commit-id: 61560008239c38171cf4798db3ba5763dbf3108a Former-commit-id: ddff9ce6841ba7387b1a572321b5723b442839bf Former-commit-id: 8f689cf6a6844f6afa197e1238954636b98836d8 Former-commit-id: c218d2c370666254593f7102c2a959ffdd175583
47 lines
1.0 KiB
JavaScript
Executable File
47 lines
1.0 KiB
JavaScript
Executable File
import Vue from 'vue'
|
|
import VueRouter from 'vue-router'
|
|
import Cookies from 'js-cookie'
|
|
|
|
import util from '@/libs/util.js'
|
|
|
|
// 路由数据
|
|
import routes from './routes'
|
|
|
|
Vue.use(VueRouter)
|
|
|
|
let router = new VueRouter({ routes })
|
|
|
|
/**
|
|
* 路由拦截
|
|
* 权限验证
|
|
*/
|
|
router.beforeEach((to, from, next) => {
|
|
// 验证当前路由所有的匹配中是否需要有登陆验证的
|
|
if (to.matched.some(r => r.meta.requiresAuth)) {
|
|
// 这里暂时将cookie里是否存有token作为验证是否登陆的条件
|
|
// 请根据自身业务需要修改
|
|
if (Cookies.get('token')) {
|
|
next()
|
|
} else {
|
|
// 没有登陆的时候跳转到登陆界面
|
|
next({
|
|
name: 'login'
|
|
})
|
|
}
|
|
} else {
|
|
// 不需要身份校验 直接通过
|
|
next()
|
|
}
|
|
})
|
|
|
|
// TODO: 路由跳转后自动滚动到顶部
|
|
router.afterEach(to => {
|
|
// 需要的信息
|
|
const app = router.app
|
|
const { name, params, query } = to
|
|
// 多页控制 打开新的页面
|
|
util.openNewPage(app, name, params, query)
|
|
})
|
|
|
|
export default router
|