routers.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. // +----------------------------------------------------------------------
  2. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  3. // +----------------------------------------------------------------------
  4. // | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
  5. // +----------------------------------------------------------------------
  6. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  7. // +----------------------------------------------------------------------
  8. // | Author: CRMEB Team <admin@crmeb.com>
  9. // +----------------------------------------------------------------------
  10. import index from './modules/index';
  11. import product from './modules/product';
  12. import order from './modules/order';
  13. import user from './modules/user';
  14. // import echarts from './modules/echarts'
  15. import setting from './modules/setting';
  16. import agent from './modules/agent';
  17. import finance from './modules/finance';
  18. import cms from './modules/cms';
  19. import marketing from './modules/marketing';
  20. import app from './modules/app';
  21. import system from './modules/system';
  22. import LayoutMain from '@/layout';
  23. import statistic from './modules/statistic';
  24. import frameOut from './modules/frameOut';
  25. import division from './modules/division';
  26. import settings from '@/setting';
  27. let routePre = settings.routePre;
  28. /**
  29. * 在主框架内显示
  30. */
  31. const frameIn = [
  32. {
  33. path: '/',
  34. meta: {
  35. title: 'CRMEB',
  36. },
  37. redirect: {
  38. name: 'home_index',
  39. },
  40. component: LayoutMain,
  41. children: [
  42. // {
  43. // path: '/admin/system/log',
  44. // name: 'log',
  45. // meta: {
  46. // title: '前端日志',
  47. // auth: true
  48. // },
  49. // component: () => import('@/pages/system/log')
  50. // },
  51. {
  52. path: routePre + '/system/user',
  53. name: `systemUser`,
  54. meta: {
  55. auth: true,
  56. title: '个人中心',
  57. },
  58. component: () => import('@/pages/setting/user/index'),
  59. },
  60. {
  61. path: routePre + '/system/files',
  62. name: `systemFiles`,
  63. meta: {
  64. auth: ['admin-setting-files'],
  65. title: '文件管理',
  66. },
  67. component: () => import('@/pages/setting/userFile/index'),
  68. },
  69. // 刷新页面 必须保留
  70. {
  71. path: 'refresh',
  72. name: 'refresh',
  73. hidden: true,
  74. component: {
  75. beforeRouteEnter(to, from, next) {
  76. next((instance) => instance.$router.replace(from.fullPath));
  77. },
  78. render: (h) => h(),
  79. },
  80. },
  81. // 页面重定向 必须保留
  82. {
  83. path: 'redirect/:route*',
  84. name: 'redirect',
  85. hidden: true,
  86. component: {
  87. beforeRouteEnter(to, from, next) {
  88. next((instance) => instance.$router.replace(JSON.parse(from.params.route)));
  89. },
  90. render: (h) => h(),
  91. },
  92. },
  93. ],
  94. },
  95. {
  96. path: routePre,
  97. meta: {
  98. title: 'CRMEB',
  99. },
  100. redirect: {
  101. name: 'home_index',
  102. },
  103. component: LayoutMain,
  104. },
  105. {
  106. path: routePre + '/widget.images/index.html',
  107. name: `images`,
  108. meta: {
  109. auth: ['admin-user-user-index'],
  110. title: '上传图片',
  111. },
  112. component: () => import('@/components/uploadPictures/widgetImg'),
  113. },
  114. {
  115. path: routePre + '/widget.widgets/icon.html',
  116. name: `imagesIcon`,
  117. meta: {
  118. auth: ['admin-user-user-index'],
  119. title: '上传图标',
  120. },
  121. component: () => import('@/components/iconFrom/index'),
  122. },
  123. {
  124. path: routePre + '/store.StoreProduct/index.html',
  125. name: `storeProduct`,
  126. meta: {
  127. title: '选择商品',
  128. },
  129. component: () => import('@/components/goodsList/index'),
  130. },
  131. {
  132. path: routePre + '/system.User/list.html',
  133. name: `changeUser`,
  134. meta: {
  135. title: '选择用户',
  136. },
  137. component: () => import('@/components/customerInfo/index'),
  138. },
  139. {
  140. path: routePre + '/widget.video/index.html',
  141. name: `video`,
  142. meta: {
  143. title: '上传视频',
  144. },
  145. component: () => import('@/components/uploadVideo/index'),
  146. },
  147. index,
  148. agent,
  149. cms,
  150. product,
  151. marketing,
  152. order,
  153. user,
  154. finance,
  155. setting,
  156. system,
  157. app,
  158. statistic,
  159. division,
  160. ];
  161. /**
  162. * 在主框架之外显示
  163. */
  164. const frameOuts = frameOut;
  165. /**
  166. * 错误页面
  167. */
  168. const errorPage = [
  169. {
  170. path: routePre + '/403',
  171. name: '403',
  172. meta: {
  173. title: '403',
  174. },
  175. component: () => import('@/pages/system/error/403'),
  176. },
  177. {
  178. path: routePre + '/500',
  179. name: '500',
  180. meta: {
  181. title: '500',
  182. },
  183. component: () => import('@/pages/system/error/500'),
  184. },
  185. {
  186. path: routePre + '/*',
  187. name: '404',
  188. meta: {
  189. title: '404',
  190. },
  191. component: () => import('@/pages/system/error/404'),
  192. },
  193. ];
  194. // 导出需要显示菜单的
  195. export const frameInRoutes = frameIn;
  196. // 重新组织后导出
  197. export default [...frameIn, ...frameOuts, ...errorPage];