index.ts 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. import { createRouter, createWebHistory } from 'vue-router'
  2. const routes: Array<ROUTER.RoutesProps> = [
  3. {
  4. path: '/',
  5. name: '物联网',
  6. title: '物联网',
  7. component: () => import('@/layout/layout.vue'),
  8. redirect: '/dashboard',
  9. children: [
  10. {
  11. path: '/dashboard',
  12. name: '首页',
  13. icon: 'DashboardOutlined',
  14. component: () => import('@/pages/iot/dashboard/deviceAccess/index.vue')
  15. },
  16. {
  17. path: '/product',
  18. name: '产品模型',
  19. redirect: '/product/index',
  20. icon: 'AppstoreOutlined',
  21. children: [
  22. {
  23. path: '/product/index',
  24. name: '产品模型',
  25. component: () => import('@/pages/iot/model/index.vue')
  26. },
  27. {
  28. path: '/product/detail',
  29. name: '产品模型详情',
  30. hidden: true,
  31. component: () => import('@/pages/iot/model/detail.vue')
  32. }
  33. ]
  34. },
  35. {
  36. path: '/device',
  37. name: '设备',
  38. redirect: '/device/index',
  39. icon: 'RobotOutlined',
  40. children: [
  41. {
  42. path: '/device/index',
  43. name: '所有设备',
  44. component: () => import('@/pages/iot/device/index.vue')
  45. },
  46. {
  47. path: '/device/detail',
  48. name: '设备详情',
  49. hidden: true,
  50. component: () => import('@/pages/iot/device/detail.vue')
  51. },
  52. {
  53. path: '/device/group',
  54. name: '群组',
  55. component: () => import('@/pages/iot/device/group.vue')
  56. }
  57. ]
  58. },
  59. {
  60. path: '/rule',
  61. name: '规则',
  62. redirect: '/rule/forward',
  63. icon: 'AimOutlined',
  64. children: [
  65. {
  66. path: '/rule/forward',
  67. name: '转发规则',
  68. component: () => import('@/pages/iot/rule/forwardRule.vue')
  69. },
  70. {
  71. path: '/rule/link',
  72. name: '联动规则',
  73. component: () => import('@/pages/iot/rule/linkRule.vue')
  74. }
  75. ]
  76. },
  77. {
  78. path: '/devOps',
  79. name: ' 监控运维',
  80. redirect: '/devOps/report',
  81. icon: 'CodeOutlined',
  82. children: [
  83. {
  84. path: '/devOps/report',
  85. name: '统计报表',
  86. component: () => import('@/pages/iot/devOps/statistReport.vue')
  87. },
  88. {
  89. path: '/devOps/onlineTest',
  90. name: '在线调试',
  91. component: () => import('@/pages/iot/devOps/onlineTest.vue')
  92. },
  93. {
  94. path: '/devOps/mt',
  95. name: '消息追踪',
  96. component: () => import('@/pages/iot/devOps/msgTracking.vue')
  97. },
  98. {
  99. path: '/devOps/nowAlert',
  100. name: '当前告警',
  101. component: () => import('@/pages/iot/devOps/nowAlert.vue')
  102. },
  103. {
  104. path: '/devOps/nowNotice',
  105. name: '当前提醒',
  106. component: () => import('@/pages/iot/devOps/nowNotice.vue')
  107. }
  108. ]
  109. },
  110. {
  111. path: '/dataServer',
  112. name: '数据服务',
  113. redirect: '/dataServer/history',
  114. icon: 'DatabaseOutlined',
  115. children: [
  116. {
  117. path: '/dataServer/history',
  118. name: '历史数据',
  119. component: () => import('@/pages/iot/dataServer/history.vue')
  120. },
  121. {
  122. path: '/dataServer/openApi',
  123. name: '开放接口',
  124. component: () => import('@/pages/iot/dataServer/openApi.vue')
  125. }
  126. ]
  127. }
  128. ]
  129. },
  130. {
  131. path: '/rts',
  132. name: '视联网',
  133. title: '视联网',
  134. component: () => import('@/layout/layout.vue'),
  135. redirect: '/stream',
  136. children: [
  137. {
  138. path: '/stream',
  139. name: '视频流管理',
  140. icon: 'PlayCircleOutlined',
  141. component: () => import('@/pages/rts/stream/index.vue')
  142. },
  143. {
  144. path: '/pull',
  145. name: '拉流管理',
  146. icon: 'FallOutlined',
  147. component: () => import('@/pages/rts/pull/index.vue')
  148. },
  149. {
  150. path: '/push',
  151. name: '推流管理',
  152. icon: 'RiseOutlined',
  153. component: () => import('@/pages/rts/push/index.vue')
  154. },
  155. {
  156. path: '/record',
  157. name: '存储配置',
  158. icon: 'FileAddOutlined',
  159. component: () => import('@/pages/rts/record/index.vue')
  160. },
  161. {
  162. path: '/protocol',
  163. name: ' 协议配置',
  164. icon: 'DeploymentUnitOutlined',
  165. component: () => import('@/pages/rts/protocol/index.vue')
  166. },
  167. {
  168. path: '/monitor',
  169. name: '系统监控',
  170. icon: 'ProfileOutlined',
  171. component: () => import('@/pages/rts/monitor/index.vue')
  172. }
  173. ]
  174. }
  175. ]
  176. const router = createRouter({
  177. history: createWebHistory(process.env.BASE_URL),
  178. routes
  179. })
  180. export default router