index.js 5.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import Vue from 'vue'
  2. import VueRouter from 'vue-router'
  3. Vue.use(VueRouter)
  4. // 解决导航栏或者底部导航tabBar中的vue-router在3.0版本以上频繁点击菜单报错的问题。
  5. const originalPush = VueRouter.prototype.push
  6. VueRouter.prototype.push = function push (location) {
  7. return originalPush.call(this, location).catch(err => err)
  8. }
  9. const routes = [
  10. { // 这个是店铺管理界面
  11. path: '/',
  12. name: 'Manager',
  13. component: () => import('../views/Manager.vue'),
  14. redirect: '/home', // 重定向到主页
  15. children: [
  16. { path: '403', name: 'NoAuth', meta: { name: '无权限' }, component: () => import('../views/manager/403') },
  17. { path: 'home', name: 'Home', meta: { name: '系统首页' }, component: () => import('../views/manager/Home') },
  18. { path: 'admin', name: 'Admin', meta: { name: '管理员信息' }, component: () => import('../views/manager/Admin') },
  19. { path: 'adminPerson', name: 'AdminPerson', meta: { name: '个人信息' }, component: () => import('../views/manager/AdminPerson') },
  20. { path: 'password', name: 'Password', meta: { name: '修改密码' }, component: () => import('../views/manager/Password') },
  21. // { path: 'notice', name: 'Notice', meta: { name: '公告信息' }, component: () => import('../views/manager/Notice') },
  22. { path: 'shopManager', name: 'ShopManager', meta: { name: '店铺管理' }, component: () => import('../views/manager/Shop/Shop.vue') },
  23. { path: 'shopOrders', name: 'ShopOrders', meta: { name: '店铺订单' }, component: () => import('../views/manager/Shop/ShopOrders.vue') },
  24. { path: 'shopProducts', name: 'ShopProducts', meta: { name: '店铺产品' }, component: () => import('../views/manager/Shop/ShopProducts.vue') },
  25. { path: 'corpGrown', name: 'CorpGrown', meta: { name: '作物生长模块' }, component: () => import('../views/manager/AI/CorpGrown.vue') },
  26. { path: 'shopStatements', name: 'ShopStatements', meta: { name: '店铺报表' }, component: () => import('../views/manager/AI/CorpGrown.vue') },
  27. { path: 'monitor', name: 'Monitor', meta: { name: '农村监控模块' }, component: () => import('../views/manager/AI/Monitor.vue') },
  28. { path: 'pestAnalysis', name: 'PestAnalysis', meta: { name: '害虫识别模块' }, component: () => import('../views/manager/AI/PestAnalysis.vue') },
  29. // { path: 'audit', name: 'Audit', meta: { name: '店铺申请审核' }, component: () => import('../views/manager/Manager/Audit.vue') },
  30. ]
  31. },
  32. { // 这是管理员界面
  33. path:"/adminMgr",
  34. name:'AdminManager',
  35. component:()=>import('../views/AdminMgr.vue'),
  36. redirect:'/adminMgr/home',
  37. children: [
  38. { path:'/adminMgr/home' , name:'adminHome', meta: {name: '管理员首页' } , component:()=>import('../views/manager/ShopManager/AdminHome.vue')},
  39. { path: '/adminMgr/notice', name: 'Notice', meta: { name: '公告信息' }, component: () => import('../views/manager/Notice') },
  40. { path: '/adminMgr/ordersManager' , name: 'Orders' ,meta:{name :'订单管理'} ,component:()=>import('../views/manager/ShopManager/Orders.vue')},
  41. { path: '/adminMgr/productManager', name:'Products',meta:{name :'产品管理'} ,component:()=>import('../views/manager/ShopManager/Product.vue')},
  42. { path: '/adminMgr/saleStatementManager',name:'sale',meta:{name:'销量管理'} ,component:()=>import('../views/manager/ShopManager/SaleStatement.vue')},
  43. { path: '/adminMgr/auditManager' , name:'Audit' ,meta:{name:'审核管理'} ,component:()=>import('../views/manager/Manager/Audit.vue')},
  44. { path: '/adminMgr/productTypeMgr', name:'productType' ,meta:{name:'产品类型管理'} ,component:()=>import('../views/manager/ShopManager/ProductType.vue')},
  45. { path: '/adminMgr/store', name:'Store' ,meta:{name:'店铺信息管理'} ,component:()=>import('../views/manager/ShopManager/Store.vue')},
  46. { path: '/adminMgr/user', name:'User' ,meta:{name:'用户信息管理'} ,component:()=>import('../views/manager/ShopManager/User.vue')},
  47. ]
  48. },
  49. {
  50. path:'/charts',
  51. name:"AI",
  52. component:()=>import('../views/manager/AI/Charts.vue'),
  53. //redirect: '/charts',
  54. },
  55. {
  56. path: '/front',
  57. name: 'Front',
  58. component: () => import('../views/Front.vue'),
  59. children: [
  60. { path: 'home', name: 'Home', meta: { name: '系统首页' }, component: () => import('../views/front/Home') },
  61. { path: 'person', name: 'Person', meta: { name: '个人信息' }, component: () => import('../views/front/Person') },
  62. ]
  63. },
  64. { path: '/login', name: 'Login', meta: { name: '登录' }, component: () => import('../views/Login.vue') },
  65. { path: '/register', name: 'Register', meta: { name: '注册' }, component: () => import('../views/Register.vue') },
  66. { path: '*', name: 'NotFound', meta: { name: '无法访问' }, component: () => import('../views/404.vue') },
  67. ]
  68. const router = new VueRouter({
  69. mode: 'history',
  70. base: process.env.BASE_URL,
  71. routes
  72. })
  73. // 注:不需要前台的项目,可以注释掉该路由守卫
  74. // 路由守卫
  75. // router.beforeEach((to ,from, next) => {
  76. // let user = JSON.parse(localStorage.getItem("xm-user") || '{}');
  77. // if (to.path === '/') {
  78. // if (user.role) {
  79. // if (user.role === 'USER') {
  80. // next('/front/home')
  81. // } else {
  82. // next('/home')
  83. // }
  84. // } else {
  85. // next('/login')
  86. // }
  87. // } else {
  88. // next()
  89. // }
  90. // })
  91. export default router