123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- import Vue from 'vue'
- import VueRouter from 'vue-router'
- /* Layout */
- import Layout from '@/layout'
- import store from '@/store'
- import API from '@/api'
- Vue.use(VueRouter);
- const originalPush = VueRouter.prototype.push
- VueRouter.prototype.push = function push(location, onResolve, onReject) {
- if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject)
- return originalPush.call(this, location).catch(err => err)
- }
- // todo 定义无菜单权限得页面, 角色权限页面只会在菜单配置得列表页面,其他都定义在这里如详情页面
- // 目前都定义在这里
- const { userInfo } = store.getters
- // component: ()=>import('@/views/staff/personalcenter/Personalcenter'),
- // var data = localStorage.getItem('indexUrl');
- // const {indexUrl} =store.getters.userInfo
- // const a =store.getters.userInfo
- var routes = [
- {
- path: '/',
- name: 'root',
- redirect: '/login'
- },
- {
- path: '/login',
- component: () => import('@/views/login/index')
- },
- {
- path: '/home',
- component: Layout,
- redirect: '/home/index',
- children: [
- {
- path: 'index',
- component: () => import('@/views/home/index'),
- meta: { title: '首页' },
- name: 'homeIndex'
- }
- ]
- },
- {
- path: '/profile',
- component: Layout,
- redirect: '/profile/index',
- children: [
- {
- path: 'index',
- component: () => import('@/views/profile/profile'),
- meta: { title: '个人信息' },
- name: 'profile'
- }
- ]
- },
- {
- path: '/404',
- component: () => import('@/views/error-page/404')
- },
- {
- path: '/401',
- component: () => import('@/views/error-page/401')
- },
- {
- path: '/document/window',
- component: () => import('@/components/DocumentWindow')
- },
- {
- path: '/prod/validate',
- component: () => import('@/views/mobile/prodValidate/index'),
- },
- ];
- const files = require.context('./modules', false, /\.js$/);
- const requireAll = requireContext => requireContext.keys().forEach(key => {
- routes.push(files(key).default) // 读取文件中的default 模块
- });
- requireAll(files);
- const createRouter = () => new VueRouter({
- mode: 'hash', // require service support
- base: '/admin',
- //base: '/admin-test',
- scrollBehavior: () => ({ y: 0 }),
- routes: routes
- });
- const router = createRouter();
- // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
- export function resetRouter() {
- const newRouter = createRouter();
- router.matcher = newRouter.matcher // reset router
- }
- export const constantRoutes = routes;
- export default router
|