routes.js 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. const Pages = [
  2. {
  3. title: '首页',
  4. page: 'pages/index/index',
  5. isIndex: true,
  6. },
  7. // {
  8. // title: '首页1~',
  9. // page: 'pages/HomePage/index',
  10. // },
  11. {
  12. title: '搜索页',
  13. page: 'pages/Search/index',
  14. },
  15. {
  16. title: '订单详情',
  17. page: 'pages/OrderInfo/index',
  18. },
  19. {
  20. title: '订单确认页',
  21. page: 'pages/OrderConfirmation/index',
  22. },
  23. {
  24. title: '登陆页',
  25. page: 'pages/UserLogin/index',
  26. },
  27. {
  28. title: '我的地址列表',
  29. page: 'pages/MyAddressList/index',
  30. },
  31. {
  32. title: '个人信息',
  33. page: 'pages/userInfo/index',
  34. },
  35. {
  36. title: '我的详细地址',
  37. page: 'pages/AddressInfos/index',
  38. },
  39. {
  40. title: '关于我们',
  41. page: 'pages/AboutUsPage/index',
  42. },
  43. {
  44. title: '隐私协议',
  45. page: 'pages/PrivacyAgreement/index',
  46. },
  47. // {
  48. // title: '帮助中心',
  49. // page: 'pages/HelpCenterInfo/index',
  50. // },
  51. {
  52. title: '农业资讯详情页',
  53. page: 'pages/InformationInfo/index',
  54. },
  55. {
  56. title: '意见反馈',
  57. page: 'pages/FeedbackText/index',
  58. },
  59. {
  60. title: '农机列表',
  61. page: 'pages/MoreCars/index',
  62. },
  63. {
  64. title: '查看详情',//农机详情
  65. page: 'pages/CheckDetails/index',
  66. },
  67. {
  68. title: '查看地图',
  69. page: 'pages/CheckMap/index',
  70. },
  71. // {
  72. // title: '订单1~',
  73. // page: 'pages/OrderPage/index',
  74. // },
  75. // {
  76. // title: '资讯1~',
  77. // page: 'pages/InformationPage/index',
  78. // },
  79. // {
  80. // title: '我的1~',
  81. // page: 'pages/MinePage/index',
  82. // },
  83. {
  84. title: '登陆页面~',
  85. page: 'pages/LoginPage/index',
  86. },
  87. ];
  88. // 所有的页面
  89. const routes = Pages.map(x => ({ ...x, }))
  90. // 主包
  91. const pages = Pages.map(x => x.page);
  92. // 分包
  93. const subPages = routes.reduce((acc, route) => {
  94. if (!route.root) return acc;
  95. const pgs = acc[route.root] || []
  96. return {
  97. ...acc,
  98. [route.root]: pgs.concat(route.page)
  99. }
  100. }, {})
  101. const subPackages = Object.keys(subPages).map((key) => {
  102. return {
  103. root: key,
  104. pages: subPages[key]
  105. }
  106. })
  107. // 获取路径对应页面
  108. function getPageBy (path) {
  109. return routes.filter(x => path.indexOf(x.page) > -1)[0]
  110. }
  111. // 获取角色首页
  112. function getIndexPageOf (role) {
  113. if (role === 'person') {
  114. return routes.filter(x => !x.root && x.isIndex)[0]
  115. }
  116. return routes.filter(x => x.root === role && x.isIndex)[0]
  117. }
  118. // eslint-disable-next-line import/no-commonjs
  119. module.exports = {
  120. routes,
  121. pages,
  122. subPackages,
  123. getPageBy,
  124. getIndexPageOf
  125. }