routes.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. import layoutHeaderAside from '@/layout/header-aside'
  2. import layoutCustom from '@/layout/custom-layout'
  3. // 由于懒加载页面太多的话会造成webpack热更新太慢,所以开发环境不使用懒加载,只有生产环境使用懒加载
  4. const _import = require('@/utils/util.import.' + process.env.NODE_ENV)
  5. /**
  6. * 在主框架内显示
  7. */
  8. const frameIn = [
  9. {
  10. path: '/',
  11. redirect: { name: 'dashboard' },
  12. component: layoutHeaderAside,
  13. children: [
  14. // 首页
  15. {
  16. path: 'dashboard',
  17. name: 'dashboard',
  18. meta: {
  19. title: '首页',
  20. auth: true
  21. },
  22. component: _import('/system/dashboard')
  23. },
  24. {
  25. path: 'blank',
  26. name: 'blank',
  27. meta: {
  28. title: '首页',
  29. auth: true
  30. },
  31. component: _import('/system/blank')
  32. },
  33. {
  34. path: 'jbdHome',
  35. name: 'jbdHome',
  36. meta: {
  37. title: '数据统计',
  38. auth: true
  39. },
  40. component: _import('/system/jbdHome')
  41. },
  42. // 系统 前端日志
  43. {
  44. path: 'log',
  45. name: 'log',
  46. meta: {
  47. title: '前端日志',
  48. auth: true
  49. },
  50. component: _import('/system/log')
  51. },
  52. /* {
  53. path: 'dashboard',
  54. name: 'dashboard',
  55. meta: {
  56. title: '工作中心',
  57. auth: true
  58. },
  59. component: _import('/system/dashboard')
  60. }, */
  61. // 刷新页面 必须保留
  62. {
  63. path: 'refresh',
  64. name: 'refresh',
  65. hidden: true,
  66. component: _import('/system/function/refresh')
  67. },
  68. // 页面重定向 必须保留
  69. {
  70. path: 'redirect/:route*',
  71. name: 'redirect',
  72. hidden: true,
  73. component: _import('/system/function/redirect')
  74. }
  75. ]
  76. }
  77. ]
  78. /**
  79. * 在主框架之外显示
  80. */
  81. const frameOut = [
  82. // 首页
  83. /* {
  84. path: 'jbdHome',
  85. name: 'jbdHome',
  86. meta: {
  87. title: '数据统计',
  88. auth: true
  89. },
  90. component: _import('/system/jbdHome')
  91. }, */
  92. // 登录
  93. {
  94. path: '/login',
  95. name: 'login',
  96. meta: {
  97. title: '登录'
  98. },
  99. component: _import('/system/login')
  100. },
  101. {
  102. path: '/fileView',
  103. name: 'fileView',
  104. meta: {
  105. title: '文件预览页',
  106. },
  107. component: _import('/viewFile')
  108. },
  109. /* */ {
  110. path: '/register',
  111. name: 'register',
  112. meta: {
  113. title: '注册账号'
  114. },
  115. component: _import('/system/register')
  116. },
  117. {
  118. path: '/tenantRegister',
  119. name: 'tenantRegister',
  120. meta: {
  121. title: '企业注册'
  122. },
  123. component: _import('/saas/tenant/register')
  124. },
  125. {
  126. path: '/forget',
  127. name: 'forget',
  128. meta: {
  129. title: '忘记密码'
  130. },
  131. component: _import('/system/forget')
  132. },
  133. {
  134. path: '/tenantForget',
  135. name: 'tenantForget',
  136. meta: {
  137. title: '忘记密码'
  138. },
  139. component: _import('/system/tenantForget')
  140. },
  141. {
  142. path: '/systemSelect',
  143. name: 'systemSelect',
  144. meta: {
  145. title: '选择子系统'
  146. },
  147. component: _import('/system/system')
  148. },
  149. {
  150. path: '/tenantSelect',
  151. name: 'tenantSelect',
  152. meta: {
  153. title: '选择租户'
  154. },
  155. component: _import('/saas/tenant/tenantSelect')
  156. },
  157. {
  158. path: '/locking',
  159. name: 'locking',
  160. meta: {
  161. title: '锁屏'
  162. },
  163. component: _import('/system/locking')
  164. },
  165. {
  166. path: '/iframe',
  167. name: 'iframe',
  168. meta: {
  169. title: 'iframe'
  170. },
  171. component: _import('/system/iframe')
  172. }
  173. ]
  174. /**
  175. * 响应式
  176. */
  177. const ziliao = [
  178. {
  179. //path: '/ziliao/:id',
  180. path: '/ziliao',
  181. name: 'ziliao',
  182. meta: {
  183. title: ' 罗湖实验室管理平台'
  184. },
  185. //component: _import('/system/ziliao'),
  186. component: _import('/component/ziliao'),
  187. //requireAuth: false
  188. },
  189. ]
  190. /**
  191. * 错误页面
  192. */
  193. const errorPage = [
  194. {
  195. path: '/404',
  196. name: 'error404',
  197. meta: {
  198. title: '404-页面不存在'
  199. },
  200. hidden: true,
  201. component: _import('/system/error/404')
  202. },
  203. {
  204. path: '/401',
  205. name: 'error401',
  206. meta: {
  207. title: '401- 未授权'
  208. },
  209. hidden: true,
  210. component: _import('/system/error/401')
  211. },
  212. {
  213. path: '/403',
  214. name: 'error403',
  215. meta: {
  216. title: '403-权限不足'
  217. },
  218. hidden: true,
  219. component: _import('/system/error/403')
  220. },
  221. {
  222. path: '/nomenu',
  223. name: 'nomenu',
  224. meta: {
  225. title: '没有菜单资源'
  226. },
  227. hidden: true,
  228. component: _import('/system/error/nomenu')
  229. }
  230. ]
  231. // 自定义【例子】
  232. const frameCustom = [
  233. {
  234. path: '/d/:id(\\w+)',
  235. component: _import('/platform/data/dataTemplate/template-list'),
  236. name: 'dataTemplateList',
  237. meta: { title: '数据模版' }
  238. },
  239. {
  240. path: '/business',
  241. name: 'business',
  242. component: layoutHeaderAside,
  243. children: [{
  244. path: 'bpmn/form',
  245. name: 'businessBpmnForm',
  246. meta: {
  247. title: '流程表单'
  248. },
  249. component: _import('/platform/bpmn/form/index')
  250. },
  251. {
  252. path: 'dataTemplate/form',
  253. name: 'businessDataTemplateForm',
  254. meta: {
  255. title: '数据模版表单'
  256. },
  257. component: _import('/platform/data/dataTemplate/form/index')
  258. }
  259. ]
  260. },
  261. {
  262. path: '/platform',
  263. name: 'platform',
  264. component: layoutCustom,
  265. children: [{
  266. path: 'bpmn/form',
  267. name: 'bpmnForm',
  268. meta: {
  269. title: '流程表单'
  270. },
  271. component: _import('/platform/bpmn/form/index')
  272. },
  273. {
  274. path: 'dataTemplate/form',
  275. name: 'dataTemplateForm',
  276. meta: {
  277. title: '数据模版表单'
  278. },
  279. component: _import('/platform/data/dataTemplate/form/index')
  280. }
  281. ]
  282. },
  283. // 无布局头和侧边栏.
  284. {
  285. path: '/demo',
  286. component: layoutCustom,
  287. children: [{
  288. path: 'crud/list',
  289. name: 'crud-list',
  290. meta: {
  291. title: '列表'
  292. },
  293. component: _import('/demo/crud/list/index')
  294. },
  295. {
  296. path: 'iframe/form',
  297. name: 'iframe-form',
  298. meta: {
  299. title: 'iframe表单'
  300. },
  301. component: _import('/demo/iframe-form/index')
  302. },
  303. {
  304. path: 'url/form',
  305. name: 'url-form',
  306. meta: {
  307. title: 'URL表单'
  308. },
  309. component: _import('/demo/url-form/index')
  310. }
  311. ]
  312. }
  313. ]
  314. // 导出需要显示菜单的
  315. export const frameInRoutes = frameIn
  316. // 重新组织后导出
  317. export default [
  318. ...frameIn,
  319. ...frameOut,
  320. ...errorPage,
  321. ...frameCustom,
  322. ...ziliao
  323. ]