admin.ts 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. const Layout = () => import("@/layout/index.vue");
  2. export default {
  3. path: "/",
  4. name: "Root",
  5. component: Layout,
  6. redirect: "/admin/dashboard",
  7. children: [
  8. // 信息总览
  9. {
  10. path: "/admin/dashboard",
  11. name: "AdminDashboard",
  12. component: () => import("@/views/admin/dashboard/index.vue"),
  13. meta: {
  14. icon: "ri:dashboard-line",
  15. title: "信息总览",
  16. rank: 0
  17. }
  18. },
  19. // 站点管理(包含子菜单)
  20. {
  21. path: "/admin/station",
  22. meta: {
  23. icon: "ri:map-pin-2-line",
  24. title: "站点管理",
  25. rank: 1
  26. },
  27. children: [
  28. {
  29. path: "/admin/station/list",
  30. name: "AdminStationList",
  31. component: () => import("@/views/admin/station/list.vue"),
  32. meta: {
  33. icon: "ri:building-2-line",
  34. title: "站点清单"
  35. }
  36. },
  37. {
  38. path: "/admin/station/device",
  39. name: "AdminStationDevice",
  40. component: () => import("@/views/admin/station/device.vue"),
  41. meta: {
  42. icon: "ri:settings-4-line",
  43. title: "设备清单"
  44. }
  45. },
  46. {
  47. path: "/admin/station/account",
  48. name: "AdminStationAccount",
  49. component: () => import("@/views/admin/station/account.vue"),
  50. meta: {
  51. icon: "ri:wallet-3-line",
  52. title: "站点账户"
  53. }
  54. }
  55. ]
  56. },
  57. // 订单管理
  58. {
  59. path: "/admin/ordering",
  60. name: "AdminOrdering",
  61. component: () => import("@/views/admin/ordering/index.vue"),
  62. meta: {
  63. icon: "ri:file-list-3-line",
  64. title: "订单管理",
  65. rank: 2
  66. }
  67. },
  68. // 用户管理
  69. {
  70. path: "/admin/user",
  71. name: "AdminUser",
  72. component: () => import("@/views/admin/user/index.vue"),
  73. meta: {
  74. icon: "ri:user-line",
  75. title: "用户管理",
  76. rank: 3
  77. }
  78. },
  79. // 财务管理(包含子菜单)
  80. {
  81. path: "/admin/finance",
  82. meta: {
  83. icon: "ri:copper-coin-line",
  84. title: "财务管理",
  85. rank: 4
  86. },
  87. children: [
  88. {
  89. path: "/admin/finance/recharge",
  90. name: "AdminFinanceRecharge",
  91. component: () => import("@/views/admin/finance/recharge.vue"),
  92. meta: {
  93. icon: "ri:wallet-line",
  94. title: "充值记录"
  95. }
  96. },
  97. {
  98. path: "/admin/finance/wallet-flow",
  99. name: "AdminFinanceWalletFlow",
  100. component: () => import("@/views/admin/finance/wallet-flow.vue"),
  101. meta: {
  102. icon: "ri:exchange-funds-line",
  103. title: "用户资金流"
  104. }
  105. },
  106. {
  107. path: "/admin/finance/refund",
  108. name: "AdminFinanceRefund",
  109. component: () => import("@/views/admin/finance/refund.vue"),
  110. meta: {
  111. icon: "ri:refund-line",
  112. title: "退款清单"
  113. }
  114. },
  115. {
  116. path: "/admin/finance/withdraw",
  117. name: "AdminFinanceWithdraw",
  118. component: () => import("@/views/admin/finance/withdraw.vue"),
  119. meta: {
  120. icon: "ri:bank-card-line",
  121. title: "提现记录"
  122. }
  123. },
  124. {
  125. path: "/admin/finance/split-record",
  126. name: "AdminFinanceSplitRecord",
  127. component: () => import("@/views/admin/finance/split-record.vue"),
  128. meta: {
  129. icon: "ri:exchange-dollar-line",
  130. title: "分账记录"
  131. }
  132. },
  133. {
  134. path: "/admin/finance/settlement",
  135. name: "AdminFinanceSettlement",
  136. component: () => import("@/views/admin/finance/settlement.vue"),
  137. meta: {
  138. icon: "ri:calendar-check-line",
  139. title: "结算记录"
  140. }
  141. }
  142. ]
  143. },
  144. // 横幅广告
  145. {
  146. path: "/admin/banner",
  147. name: "AdminBanner",
  148. component: () => import("@/views/admin/banner/index.vue"),
  149. meta: {
  150. icon: "ri:image-line",
  151. title: "横幅广告",
  152. rank: 5
  153. }
  154. },
  155. // 平台配置(包含子菜单)
  156. {
  157. path: "/admin/platform",
  158. meta: {
  159. icon: "ri:settings-3-line",
  160. title: "平台配置",
  161. rank: 6
  162. },
  163. children: [
  164. {
  165. path: "/admin/platform/rate",
  166. name: "AdminPlatformRate",
  167. component: () => import("@/views/admin/platform/rate.vue"),
  168. meta: {
  169. icon: "ri:percent-line",
  170. title: "平台费率"
  171. }
  172. },
  173. {
  174. path: "/admin/platform/device-config",
  175. name: "AdminPlatformDeviceConfig",
  176. component: () => import("@/views/admin/platform/device-config.vue"),
  177. meta: {
  178. icon: "ri:server-line",
  179. title: "设备配置"
  180. }
  181. }
  182. ]
  183. },
  184. // 系统配置(包含子菜单)
  185. {
  186. path: "/admin/system",
  187. meta: {
  188. icon: "ri:settings-6-line",
  189. title: "系统配置",
  190. rank: 7
  191. },
  192. children: [
  193. {
  194. path: "/admin/system/role",
  195. name: "AdminRole",
  196. component: () => import("@/views/admin/role/index.vue"),
  197. meta: {
  198. icon: "ri:shield-user-line",
  199. title: "角色权限"
  200. }
  201. },
  202. {
  203. path: "/admin/system/dict",
  204. name: "AdminDict",
  205. component: () => import("@/views/admin/dict/index.vue"),
  206. meta: {
  207. icon: "ri:book-read-line",
  208. title: "数据字典"
  209. }
  210. },
  211. {
  212. path: "/admin/system/notice",
  213. name: "AdminNotice",
  214. component: () => import("@/views/admin/notice/index.vue"),
  215. meta: {
  216. icon: "ri:notification-badge-line",
  217. title: "系统公告"
  218. }
  219. },
  220. {
  221. path: "/admin/system/faq",
  222. name: "AdminFaq",
  223. component: () => import("@/views/admin/faq/index.vue"),
  224. meta: {
  225. icon: "ri:question-line",
  226. title: "常见问题"
  227. }
  228. },
  229. {
  230. path: "/admin/system/feedback",
  231. name: "AdminFeedback",
  232. component: () => import("@/views/admin/feedback/index.vue"),
  233. meta: {
  234. icon: "ri:message-3-line",
  235. title: "反馈上报"
  236. }
  237. },
  238. {
  239. path: "/admin/system/log",
  240. name: "AdminLog",
  241. component: () => import("@/views/admin/log/index.vue"),
  242. meta: {
  243. icon: "ri:file-list-2-line",
  244. title: "系统日志"
  245. }
  246. },
  247. {
  248. path: "/admin/system/department",
  249. name: "AdminDepartment",
  250. component: () => import("@/views/admin/department/index.vue"),
  251. meta: {
  252. icon: "ri:organization-chart",
  253. title: "部门管理"
  254. }
  255. },
  256. {
  257. path: "/admin/system/message",
  258. name: "AdminMessage",
  259. component: () => import("@/views/admin/message/index.vue"),
  260. meta: {
  261. icon: "ri:mail-line",
  262. title: "消息管理"
  263. }
  264. },
  265. {
  266. path: "/admin/system/template",
  267. name: "AdminMessageTemplate",
  268. component: () => import("@/views/admin/template/index.vue"),
  269. meta: {
  270. icon: "ri:file-copy-line",
  271. title: "消息模板"
  272. }
  273. },
  274. {
  275. path: "/admin/system/investor",
  276. name: "AdminInvestor",
  277. component: () => import("@/views/admin/investor/index.vue"),
  278. meta: {
  279. icon: "ri:user-star-line",
  280. title: "投资人"
  281. }
  282. },
  283. {
  284. path: "/admin/system/account",
  285. name: "AdminAccount",
  286. component: () => import("@/views/admin/account/index.vue"),
  287. meta: {
  288. icon: "ri:user-settings-line",
  289. title: "运维账户"
  290. }
  291. }
  292. ]
  293. }
  294. ]
  295. } satisfies RouteConfigsTable;