record.ts 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. import type { MergeMenuMixedOptions } from './helper'
  2. export const routeRecordRaw: MergeMenuMixedOptions[] = [
  3. {
  4. path: 'dashboard',
  5. name: 'dashboard',
  6. icon: 'iconify-[mage--dashboard-chart]',
  7. label: '仪表板',
  8. meta: {
  9. componentName: 'Dashboard',
  10. pinned: true,
  11. showTab: true,
  12. },
  13. component: 'dashboard/index',
  14. },
  15. {
  16. path: 'data-show',
  17. name: 'dataShow',
  18. label: '数据展示',
  19. icon: 'iconify-[fluent--data-area-32-regular]',
  20. redirect: 'data-show/data-table',
  21. children: [
  22. {
  23. path: 'data-table',
  24. name: 'dataTable',
  25. icon: 'iconify-[ph--table]',
  26. label: '数据表格',
  27. meta: {
  28. componentName: 'DataTable',
  29. label: '数据表格',
  30. showTab: true,
  31. },
  32. component: 'data-show/data-table/index',
  33. },
  34. {
  35. path: 'data-form',
  36. name: 'dataForm',
  37. icon: 'iconify-[ph--article]',
  38. label: '数据表单',
  39. meta: {
  40. componentName: 'DataForm',
  41. label: '数据表单',
  42. showTab: true,
  43. },
  44. component: 'data-show/data-form/index',
  45. },
  46. ],
  47. },
  48. {
  49. path: 'multi-level-menu',
  50. redirect: 'multi-level-menu/level-1',
  51. name: 'multiLevelMenu',
  52. icon: 'iconify-[ph--list]',
  53. label: '多级菜单',
  54. children: [
  55. {
  56. path: 'level-2-1',
  57. key: 'level-2-1',
  58. name: 'level-2-1',
  59. icon: 'iconify-[ph--squares-four]',
  60. label: '图标菜单',
  61. component: 'multi-level-menu/index',
  62. meta: {
  63. showTab: true,
  64. },
  65. },
  66. {
  67. path: 'level-2-2',
  68. key: 'level-2-2',
  69. name: 'level-2-2',
  70. label: '无图标菜单',
  71. component: 'multi-level-menu/index',
  72. meta: {
  73. showTab: true,
  74. },
  75. },
  76. {
  77. type: 'group',
  78. key: 'group-1',
  79. label: '分组',
  80. children: [
  81. {
  82. path: 'level-2-3',
  83. key: 'level-2-3',
  84. name: 'level-2-3',
  85. icon: 'iconify-[ph--squares-four]',
  86. label: '菜单2-3',
  87. component: 'multi-level-menu/index',
  88. meta: {
  89. showTab: true,
  90. },
  91. },
  92. {
  93. type: 'divider',
  94. key: 'divider-1',
  95. },
  96. {
  97. path: 'level-2-4',
  98. key: 'level-2-4',
  99. name: 'level-2-4',
  100. icon: 'iconify-[ph--squares-four]',
  101. label: '不创建tab',
  102. component: 'multi-level-menu/index',
  103. },
  104. ],
  105. },
  106. {
  107. path: 'level-2-5',
  108. key: 'level-2-5',
  109. name: 'level-2-5',
  110. redirect: 'level-2-5/level-2-1',
  111. icon: 'iconify-[ph--squares-four]',
  112. label: '三级菜单',
  113. children: [
  114. {
  115. path: 'level-3-1',
  116. key: 'level-3-1',
  117. name: 'level-3-1',
  118. icon: 'iconify-[ph--squares-four]',
  119. label: '菜单3-1',
  120. component: 'multi-level-menu/index',
  121. meta: {
  122. showTab: true,
  123. },
  124. },
  125. {
  126. type: 'divider',
  127. key: 'divider-2',
  128. },
  129. {
  130. type: 'group',
  131. key: 'group-2',
  132. label: '分组',
  133. children: [
  134. {
  135. type: 'divider',
  136. key: 'divider-3',
  137. },
  138. ],
  139. },
  140. {
  141. path: 'level-3-2',
  142. key: 'level-3-2',
  143. name: 'level-3-2',
  144. label: '菜单3-2',
  145. icon: 'iconify-[ph--squares-four]',
  146. component: 'multi-level-menu/index',
  147. meta: {
  148. showTab: true,
  149. },
  150. },
  151. {
  152. path: 'level-3-3',
  153. key: 'level-3-3',
  154. name: 'level-3-3',
  155. label: '禁用菜单',
  156. icon: 'iconify-[ph--squares-four]',
  157. component: 'multi-level-menu/index',
  158. disabled: true,
  159. meta: {
  160. showTab: true,
  161. },
  162. },
  163. ],
  164. },
  165. ],
  166. },
  167. {
  168. path: 'dynamic-route/:id?/:name?',
  169. name: 'dynamicRoute',
  170. label: '动态路由',
  171. icon: 'iconify-[material-symbols--dynamic-feed]',
  172. meta: {
  173. componentName: 'DynamicRoute',
  174. showTab: true,
  175. enableMultiTab: true,
  176. renderTabLabel({ id, name }) {
  177. return `动态路由${id ? `-${id}` : ''}${name ? `-${name}` : ''}`
  178. },
  179. },
  180. component: 'dynamic-route/index',
  181. },
  182. {
  183. path: 'feedback',
  184. name: 'feedback',
  185. icon: 'iconify-[ph--messenger-logo]',
  186. label: '反馈组件',
  187. meta: {
  188. componentName: 'Feedback',
  189. showTab: true,
  190. },
  191. component: 'feedback/index',
  192. },
  193. {
  194. path: 'drag-drop',
  195. name: 'dragDrop',
  196. icon: 'iconify-[pixelarticons--drag-and-drop]',
  197. label: '拖拽模块',
  198. meta: {
  199. componentName: 'DragDrop',
  200. showTab: true,
  201. },
  202. component: 'drag-drop/index',
  203. },
  204. {
  205. path: 'not-found-page-404',
  206. name: 'notfoundPage',
  207. icon: 'iconify-[streamline-freehand--server-error-404-not-found]',
  208. label: '404页面',
  209. meta: {
  210. componentName: 'notfoundPage404',
  211. },
  212. component: 'error-page/404',
  213. },
  214. {
  215. path: '/about',
  216. key: 'about',
  217. name: 'about',
  218. icon: 'iconify-[ph--info]',
  219. label: '关于项目',
  220. component: 'about/index',
  221. meta: {
  222. showTab: true,
  223. enableMultiTab: true,
  224. },
  225. },
  226. ]