asyncRouter.ts 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. import type { RouteRecordRaw } from 'vue-router'
  2. const asyncRouter: RouteRecordRaw[] = [
  3. {
  4. path: '/home',
  5. name: 'home',
  6. component: () => import('@/views/exception/403.vue'),
  7. meta: {
  8. title: '首页',
  9. icon: 'House'
  10. }
  11. },
  12. {
  13. path: 'https://jijian.sxidc.com/',
  14. name: 'jijian',
  15. component: () => ({}),
  16. meta: {
  17. title: '极简低代码',
  18. icon: 'Aim'
  19. }
  20. },
  21. {
  22. path: '/system',
  23. name: 'system',
  24. meta: {
  25. title: '系统管理',
  26. icon: 'icon-system'
  27. },
  28. children: [
  29. {
  30. path: '/system/user',
  31. name: 'systemUser',
  32. component: () => import('@/views/system/User.vue'),
  33. meta: {
  34. title: '用户管理',
  35. icon: 'user',
  36. keepAlive: true,
  37. viewName: 'User'
  38. }
  39. },
  40. {
  41. path: '/system/role',
  42. name: 'systemRole',
  43. component: () => import('@/views/system/Role.vue'),
  44. meta: {
  45. title: '角色管理',
  46. icon: 'avatar',
  47. keepAlive: true,
  48. viewName: 'Role'
  49. }
  50. },
  51. {
  52. path: '/system/dict',
  53. name: 'systemDict',
  54. component: () => import('@/views/system/Dict.vue'),
  55. meta: {
  56. title: '字典管理',
  57. icon: 'memo'
  58. }
  59. },
  60. {
  61. path: '/system/menu',
  62. name: 'systemMenu',
  63. component: () => import('@/views/system/Menu.vue'),
  64. meta: {
  65. title: '菜单管理',
  66. icon: 'menu'
  67. }
  68. },
  69. {
  70. path: '/system/area',
  71. name: 'systemArea',
  72. component: () => import('@/views/system/Area.vue'),
  73. meta: {
  74. title: '区域管理',
  75. icon: 'Reading'
  76. }
  77. },
  78. {
  79. path: '/system/configure',
  80. name: 'systemConfigure',
  81. component: () => import('@/views/system/Configure.vue'),
  82. meta: {
  83. title: '系统配置',
  84. icon: 'Edit'
  85. }
  86. }
  87. ]
  88. },
  89. {
  90. path: '/org',
  91. name: 'org',
  92. meta: {
  93. title: '组织机构',
  94. icon: 'OfficeBuilding'
  95. },
  96. children: [
  97. {
  98. path: '/org/orgList',
  99. name: 'orgList',
  100. component: () => import('@/views/org/Org.vue'),
  101. meta: {
  102. title: '机构管理',
  103. icon: 'OfficeBuilding'
  104. }
  105. }
  106. ]
  107. },
  108. {
  109. path: '/miniprogram',
  110. name: 'miniprogram',
  111. meta: {
  112. title: '小程序管理',
  113. icon: 'icon-system'
  114. },
  115. children: [
  116. {
  117. path: '/miniprogram/banner',
  118. name: 'miniBanner',
  119. component: () => import('@/views/miniprogram/Banner.vue'),
  120. meta: {
  121. title: '轮播图',
  122. icon: 'picture'
  123. }
  124. },
  125. {
  126. path: '/miniprogram/question',
  127. name: 'miniQuestion',
  128. component: () => import('@/views/miniprogram/Question.vue'),
  129. meta: {
  130. title: '常见问题',
  131. icon: 'QuestionFilled'
  132. }
  133. },
  134. {
  135. path: '/miniprogram/feedback',
  136. name: 'miniFeedback',
  137. component: () => import('@/views/miniprogram/Feedback.vue'),
  138. meta: {
  139. title: '意见反馈',
  140. icon: 'Promotion'
  141. }
  142. },
  143. {
  144. path: '/miniprogram/about',
  145. name: 'miniAbout',
  146. component: () => import('@/views/miniprogram/About.vue'),
  147. meta: {
  148. title: '关于我们',
  149. icon: 'user'
  150. }
  151. },
  152. {
  153. path: '/miniprogram/version',
  154. name: 'miniVersion',
  155. component: () => import('@/views/miniprogram/Version.vue'),
  156. meta: {
  157. title: '版本信息',
  158. icon: 'list'
  159. }
  160. }
  161. ]
  162. },
  163. {
  164. path: '/list',
  165. name: 'list',
  166. meta: {
  167. title: '列表页',
  168. icon: 'Notification'
  169. },
  170. children: [
  171. {
  172. path: '/list/cardList',
  173. name: 'cardList',
  174. component: () => import('@/views/list/CardList.vue'),
  175. meta: {
  176. title: '卡片列表',
  177. icon: 'icon-bank-card'
  178. }
  179. }
  180. ]
  181. },
  182. {
  183. path: '/form',
  184. name: 'form',
  185. meta: {
  186. title: '表单页',
  187. icon: 'Notebook'
  188. },
  189. children: [
  190. {
  191. path: '/form/basic',
  192. name: 'formBasic',
  193. component: () => import('@/views/form/Basic.vue'),
  194. meta: {
  195. title: '基础表单'
  196. }
  197. },
  198. {
  199. path: '/form/advanced',
  200. name: 'formAdvanced',
  201. component: () => import('@/views/form/Advanced.vue'),
  202. meta: {
  203. title: '高级表单'
  204. }
  205. },
  206. {
  207. path: '/form/tab',
  208. name: 'formTab',
  209. component: () => import('@/views/form/Tab.vue'),
  210. meta: {
  211. title: 'tab表单'
  212. }
  213. },
  214. {
  215. path: '/form/step',
  216. name: 'formStep',
  217. component: () => import('@/views/form/Step.vue'),
  218. meta: {
  219. title: '步骤表单'
  220. }
  221. }
  222. ]
  223. },
  224. {
  225. path: '/result',
  226. name: 'result',
  227. meta: {
  228. title: '结果页',
  229. icon: 'CircleCheck'
  230. },
  231. children: [
  232. {
  233. path: '/result/success',
  234. name: 'resultSuccess',
  235. component: () => import('@/views/result/Success.vue'),
  236. meta: {
  237. title: '成功页'
  238. }
  239. },
  240. {
  241. path: '/result/error',
  242. name: 'resultError',
  243. component: () => import('@/views/result/Error.vue'),
  244. meta: {
  245. title: '失败页'
  246. }
  247. }
  248. ]
  249. },
  250. {
  251. path: '/monitor',
  252. name: 'monitor',
  253. meta: {
  254. title: '系统监控',
  255. icon: 'Notification'
  256. },
  257. children: [
  258. {
  259. path: '/monitor/logList',
  260. name: 'logList',
  261. component: () => import('@/views/monitor/LogList.vue'),
  262. meta: {
  263. title: '日志查询',
  264. icon: 'List'
  265. }
  266. },
  267. {
  268. path: '/monitor/messageNotif',
  269. name: 'messageNotif',
  270. component: () => import('@/views/monitor/MessageNotif.vue'),
  271. meta: {
  272. title: '消息通知',
  273. icon: 'ChatRound'
  274. }
  275. }
  276. ]
  277. },
  278. {
  279. path: '/iframe',
  280. name: 'iframe',
  281. component: () => import('@/views/iframe/Iframe.vue'),
  282. meta: {
  283. title: 'iframe示例',
  284. icon: 'Notebook'
  285. }
  286. },
  287. {
  288. path: '/userInfo',
  289. name: 'userInfo',
  290. component: () => import('@/views/user/UserInfo.vue'),
  291. meta: {
  292. title: '个人中心',
  293. icon: 'House'
  294. },
  295. hidden: true
  296. },
  297. {
  298. path: '/:pathMatch(.*)*',
  299. redirect: '/exception/404',
  300. hidden: true
  301. }
  302. ]
  303. export default asyncRouter