index.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import Vue from 'vue'
  2. import Router from 'vue-router'
  3. Vue.use(Router)
  4. // 引入路由
  5. import supplierRoutes from './module/supplier'
  6. import clubRoutes from './module/club'
  7. import doctorRoutes from './module/doctor'
  8. import feedbackRoutes from './module/feedback'
  9. import helperRoutes from './module/helper'
  10. import materialRoutes from './module/material'
  11. import AuditRoutes from './module/audit'
  12. // 需要权限访问的路由列表
  13. export const asyncRoutes = [
  14. ...supplierRoutes,
  15. ...AuditRoutes,
  16. ...clubRoutes,
  17. ...doctorRoutes,
  18. ...feedbackRoutes,
  19. ...materialRoutes,
  20. ...helperRoutes,
  21. // 404页面 放在最后面
  22. { path: '*', redirect: '/404', hidden: true }
  23. ]
  24. // 默认路由列表 全部用户都可以访问
  25. export const constantRoutes = [
  26. {
  27. path: '/',
  28. redirect: '/login'
  29. },
  30. {
  31. path: '/login',
  32. component: () => import(/* webpackChunkName: "login" */ '@/views/login/index'),
  33. hidden: true
  34. },
  35. {
  36. path: '/404',
  37. component: () => import(/* webpackChunkName: "error-page" */ '@/views/error-page/404'),
  38. hidden: true
  39. },
  40. {
  41. path: '/401',
  42. component: () => import(/* webpackChunkName: "error-page" */ '@/views/error-page/401'),
  43. hidden: true
  44. },
  45. {
  46. path: '/proxy',
  47. component: () => import(/* webpackChunkName: "proxy" */ '@/views/authentic/proxy/proxy'),
  48. hidden: true
  49. }
  50. ]
  51. // 创建路由对象
  52. const createRouter = () =>
  53. new Router({
  54. scrollBehavior: () => ({ y: 0 }),
  55. routes: constantRoutes
  56. })
  57. const router = createRouter()
  58. // 重置路由
  59. export function resetRouter() {
  60. const newRouter = createRouter()
  61. router.matcher = newRouter.matcher // reset router
  62. }
  63. export default router