diff --git a/src/router/index.js b/src/router/index.js new file mode 100755 index 00000000..f4ecf27c --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,52 @@ +import Vue from 'vue' +import VueRouter from 'vue-router' +import Cookies from 'js-cookie' + +import routers from './routers' + +import util from '@/libs/util.js' + +Vue.use(VueRouter) + +let router = new VueRouter({ routers }) + +/** + * 路由拦截 + * 权限验证 + */ +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 + // dev + console.group('router.afterEach') + console.log('app: ', app) + console.log('name: ', name) + console.log('params: ', params) + console.log('query: ', query) + console.groupEnd() + // 多页控制 打开新的页面 + util.openNewPage(app, name, params, query) +}) + +export default router diff --git a/src/router/index.js.REMOVED.git-id b/src/router/index.js.REMOVED.git-id deleted file mode 100644 index a8a6682b..00000000 --- a/src/router/index.js.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -0088ad6cc03c64af08ec7f8e7e691d0fec144c65 \ No newline at end of file diff --git a/src/router/router.js.REMOVED.git-id b/src/router/routers.js.REMOVED.git-id similarity index 100% rename from src/router/router.js.REMOVED.git-id rename to src/router/routers.js.REMOVED.git-id