record.ts 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  1. import type { MergeMenuMixedOptions } from './helper'
  2. export const routeRecordRaw: MergeMenuMixedOptions[] = [
  3. {
  4. path: 'dashboard',
  5. name: 'dashboard',
  6. icon: 'i-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: 'shutdown-manage',
  17. name: 'shutdownManage',
  18. icon: 'i-ph:bug-beetle-duotone',
  19. label: 'Shutdown站点管理',
  20. meta: {
  21. componentName: 'ShutdownManage',
  22. showTab: true,
  23. },
  24. component: 'shutdown-manage/index',
  25. },
  26. {
  27. path: 'sites-monitor-manage',
  28. name: 'sitesMonitorManage',
  29. icon: 'i-carbon:cloud-monitoring',
  30. label: '站点监控管理',
  31. meta: {
  32. componentName: 'SitesMonitorManage',
  33. showTab: true,
  34. },
  35. component: 'sites-monitor/manage',
  36. },
  37. {
  38. path: 'sites-monitor/:name',
  39. name: 'sitesMonitor',
  40. icon: 'i-carbon:cloud-monitoring',
  41. label: '站点监控',
  42. meta: {
  43. componentName: 'SitesMonitor',
  44. showTab: true,
  45. enableMultiTab: true,
  46. renderTabLabel({ name }) {
  47. return `站点监控${name ? '-' + name : ''}`
  48. },
  49. },
  50. component: 'sites-monitor/index',
  51. show: false,
  52. },
  53. {
  54. path: 'sites-analysis-manage',
  55. name: 'sitesAnalysisManage',
  56. icon: 'i-carbon:data-analytics',
  57. label: '站点分析管理',
  58. meta: {
  59. componentName: 'SitesAnalysisManage',
  60. showTab: true,
  61. },
  62. component: 'sites-analysis/manage',
  63. },
  64. {
  65. path: 'sites-analysis/:name',
  66. name: 'sitesAnalysis',
  67. icon: 'i-carbon:data-analytics',
  68. label: '站点分析',
  69. meta: {
  70. componentName: 'SitesAnalysis',
  71. showTab: true,
  72. enableMultiTab: true,
  73. renderTabLabel({ name }) {
  74. return `站点分析${name ? '-' + name : ''}`
  75. },
  76. },
  77. component: 'sites-analysis/index',
  78. show: false,
  79. },
  80. // {
  81. // path: 'data-show',
  82. // name: 'dataShow',
  83. // label: '数据展示',
  84. // icon: 'i-fluent:data-area-32-regular',
  85. // redirect: 'data-show/data-table',
  86. // children: [
  87. // {
  88. // path: 'data-table',
  89. // name: 'dataTable',
  90. // icon: 'i-ph:table',
  91. // label: '数据表格',
  92. // meta: {
  93. // componentName: 'DataTable',
  94. // label: '数据表格',
  95. // showTab: true,
  96. // },
  97. // component: 'data-show/data-table/index',
  98. // },
  99. // {
  100. // path: 'data-form',
  101. // name: 'dataForm',
  102. // icon: 'i-ph:article',
  103. // label: '数据表单',
  104. // meta: {
  105. // componentName: 'DataForm',
  106. // label: '数据表单',
  107. // showTab: true,
  108. // },
  109. // component: 'data-show/data-form/index',
  110. // },
  111. // ],
  112. // },
  113. // {
  114. // path: 'multi-level-menu',
  115. // redirect: 'multi-level-menu/level-1',
  116. // name: 'multiLevelMenu',
  117. // icon: 'i-ph:list',
  118. // label: '多级菜单',
  119. // children: [
  120. // {
  121. // path: 'level-2-1',
  122. // key: 'level-2-1',
  123. // name: 'level-2-1',
  124. // icon: 'i-ph:squares-four',
  125. // label: '图标菜单',
  126. // component: 'multi-level-menu/index',
  127. // meta: {
  128. // showTab: true,
  129. // },
  130. // },
  131. // {
  132. // path: 'level-2-2',
  133. // key: 'level-2-2',
  134. // name: 'level-2-2',
  135. // label: '无图标菜单',
  136. // component: 'multi-level-menu/index',
  137. // meta: {
  138. // showTab: true,
  139. // },
  140. // },
  141. // {
  142. // type: 'group',
  143. // key: 'group-1',
  144. // label: '分组',
  145. // children: [
  146. // {
  147. // path: 'level-2-3',
  148. // key: 'level-2-3',
  149. // name: 'level-2-3',
  150. // icon: 'i-ph:squares-four',
  151. // label: '菜单2-3',
  152. // component: 'multi-level-menu/index',
  153. // meta: {
  154. // showTab: true,
  155. // },
  156. // },
  157. // {
  158. // type: 'divider',
  159. // key: 'divider-1',
  160. // },
  161. // {
  162. // path: 'level-2-4',
  163. // key: 'level-2-4',
  164. // name: 'level-2-4',
  165. // icon: 'i-ph:squares-four',
  166. // label: '不创建tab',
  167. // component: 'multi-level-menu/index',
  168. // },
  169. // ],
  170. // },
  171. // {
  172. // path: 'level-2-5',
  173. // key: 'level-2-5',
  174. // name: 'level-2-5',
  175. // redirect: 'level-2-5/level-2-1',
  176. // icon: 'i-ph:squares-four',
  177. // label: '三级菜单',
  178. // children: [
  179. // {
  180. // path: 'level-3-1',
  181. // key: 'level-3-1',
  182. // name: 'level-3-1',
  183. // icon: 'i-ph:squares-four',
  184. // label: '菜单3-1',
  185. // component: 'multi-level-menu/index',
  186. // meta: {
  187. // showTab: true,
  188. // },
  189. // },
  190. // {
  191. // type: 'divider',
  192. // key: 'divider-2',
  193. // },
  194. // {
  195. // type: 'group',
  196. // key: 'group-2',
  197. // label: '分组',
  198. // children: [
  199. // {
  200. // type: 'divider',
  201. // key: 'divider-3',
  202. // },
  203. // ],
  204. // },
  205. // {
  206. // path: 'level-3-2',
  207. // key: 'level-3-2',
  208. // name: 'level-3-2',
  209. // label: '菜单3-2',
  210. // icon: 'i-ph:squares-four',
  211. // component: 'multi-level-menu/index',
  212. // meta: {
  213. // showTab: true,
  214. // },
  215. // },
  216. // {
  217. // path: 'level-3-3',
  218. // key: 'level-3-3',
  219. // name: 'level-3-3',
  220. // label: '禁用菜单',
  221. // icon: 'i-ph:squares-four',
  222. // component: 'multi-level-menu/index',
  223. // disabled: true,
  224. // meta: {
  225. // showTab: true,
  226. // },
  227. // },
  228. // ],
  229. // },
  230. // ],
  231. // },
  232. // {
  233. // path: 'dynamic-route/:id?/:name?',
  234. // name: 'dynamicRoute',
  235. // label: '动态路由',
  236. // icon: 'i-material-symbols:dynamic-feed',
  237. // meta: {
  238. // componentName: 'DynamicRoute',
  239. // showTab: true,
  240. // enableMultiTab: true,
  241. // renderTabLabel({ id, name }) {
  242. // return `动态路由${id ? `-${id}` : ''}${name ? `-${name}` : ''}`
  243. // },
  244. // },
  245. // component: 'dynamic-route/index',
  246. // },
  247. // {
  248. // path: 'feedback',
  249. // name: 'feedback',
  250. // icon: 'i-ph:messenger-logo',
  251. // label: '反馈组件',
  252. // meta: {
  253. // componentName: 'Feedback',
  254. // showTab: true,
  255. // },
  256. // component: 'feedback/index',
  257. // },
  258. // {
  259. // path: 'drag-drop',
  260. // name: 'dragDrop',
  261. // icon: 'i-pixelarticons:drag-and-drop',
  262. // label: '拖拽模块',
  263. // meta: {
  264. // componentName: 'DragDrop',
  265. // showTab: true,
  266. // },
  267. // component: 'drag-drop/index',
  268. // },
  269. // {
  270. // path: 'not-found-page-404',
  271. // name: 'notfoundPage',
  272. // icon: 'i-streamline-freehand:server-error-404-not-found',
  273. // label: '404页面',
  274. // meta: {
  275. // componentName: 'notfoundPage404',
  276. // },
  277. // component: 'error-page/404',
  278. // },
  279. {
  280. path: 'batch-download',
  281. name: 'batchDownload',
  282. icon: 'i-ph:download',
  283. label: '批量数据下载',
  284. meta: {
  285. componentName: 'BatchDownload',
  286. showTab: true,
  287. },
  288. component: 'batch-download/index',
  289. },
  290. {
  291. path: 'background-task',
  292. name: 'backgroundTask',
  293. icon: 'i-ph:selection-background',
  294. label: '后台任务管理',
  295. meta: {
  296. componentName: 'BackgroundTask',
  297. showTab: true,
  298. },
  299. component: 'background-task/index',
  300. },
  301. {
  302. path: 'xlog-manage',
  303. name: 'xlogManage',
  304. icon: 'i-carbon:terminal',
  305. label: 'XLOG管理',
  306. meta: {
  307. componentName: 'XlogManage',
  308. showTab: true,
  309. },
  310. component: 'xlog/manage',
  311. },
  312. {
  313. path: 'xlog-terminal/:uuid',
  314. name: 'xlogTerminal',
  315. icon: 'i-carbon:terminal',
  316. label: 'XLOG',
  317. meta: {
  318. componentName: 'XlogTerminal',
  319. showTab: true,
  320. enableMultiTab: true,
  321. renderTabLabel({ uuid }) {
  322. // TODO 后续考虑如何显示SN
  323. return `XLOG${uuid ? '-' + uuid : ''}`
  324. },
  325. },
  326. component: 'xlog/index',
  327. show: false,
  328. },
  329. {
  330. path: '/about',
  331. key: 'about',
  332. name: 'about',
  333. icon: 'i-ph:info',
  334. label: '关于项目',
  335. component: 'about/index',
  336. meta: {
  337. showTab: true,
  338. enableMultiTab: true,
  339. },
  340. },
  341. ]