router.config.js 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705
  1. // eslint-disable-next-line
  2. import { UserLayout, BasicLayout, BlankLayout } from '@/layouts'
  3. import * as Icons from '@/core/icons'
  4. const RouteView = {
  5. name: 'RouteView',
  6. render: (h) => h('router-view')
  7. }
  8. /**
  9. * 路由配置说明:
  10. * 建议:sider menu 请不要超过三级菜单,若超过三级菜单,则应该设计为顶部主菜单 配合左侧次级菜单
  11. // {
  12. // redirect: noredirect, //重定向
  13. // name: 'router-name', //路由名称
  14. // hidden: true, //可以在菜单中不展示这个路由,包括子路由。效果可以查看 other 下的路由配置。
  15. // isHideChildren: true, // 折叠三级子菜单
  16. // meta: {
  17. // title: 'title', //菜单项名称
  18. // icon: 'a-icon', //菜单项图标
  19. // keepAlive: true, //缓存页面
  20. // permission:[string] //用来配置这个路由的权限,如果配置了将会验证当前用户的权限,并决定是否展示 *(默认情况下)
  21. // }
  22. // }
  23. **/
  24. export const asyncRouterMap = [
  25. {
  26. path: '/',
  27. name: 'root',
  28. component: BasicLayout,
  29. children: [
  30. // 后台首页
  31. {
  32. path: '/index',
  33. name: 'index',
  34. component: () => import(/* webpackChunkName: "index" */ '@/views/index/Index'),
  35. meta: { title: '首页', keepAlive: true, icon: Icons.home, permission: ['/index'] }
  36. },
  37. // 管理员
  38. {
  39. path: '/manage',
  40. name: 'manage',
  41. component: RouteView,
  42. redirect: '/manage/user/index',
  43. meta: { title: '管理员', icon: Icons.manage, permission: ['/manage'] },
  44. children: [
  45. {
  46. path: '/manage/user/index',
  47. component: () => import(/* webpackChunkName: "manage" */ '@/views/manage/user/Index'),
  48. meta: { title: '管理员列表', keepAlive: false, permission: ['/manage/user/index'] }
  49. },
  50. {
  51. path: '/manage/role/index',
  52. component: () => import(/* webpackChunkName: "manage" */ '@/views/manage/role/Index'),
  53. meta: { title: '角色管理', keepAlive: false, permission: ['/manage/role/index'] }
  54. }
  55. ]
  56. },
  57. // 店铺管理
  58. {
  59. path: '/store',
  60. name: 'store',
  61. component: RouteView,
  62. redirect: '/store/setting',
  63. meta: { title: '店铺管理', icon: Icons.shop, permission: ['/store'] },
  64. children: [
  65. {
  66. path: '/store/setting',
  67. component: () => import(/* webpackChunkName: "store" */ '@/views/store/Setting'),
  68. meta: { title: '店铺设置', keepAlive: false, permission: ['/store/setting'] }
  69. },
  70. {
  71. path: '/store/address/index',
  72. component: () => import(/* webpackChunkName: "store" */ '@/views/store/address/Index'),
  73. meta: { title: '地址管理', keepAlive: false, permission: ['/store/address/index'] }
  74. },
  75. {
  76. path: '/page',
  77. component: RouteView,
  78. redirect: '/page/index',
  79. meta: { title: '店铺页面', keepAlive: false, permission: ['/page'] },
  80. children: [
  81. {
  82. path: '/page/index',
  83. component: () => import(/* webpackChunkName: "page" */ '@/views/page/Index'),
  84. meta: { title: '页面设计', keepAlive: false, permission: ['/page/index'] },
  85. // 访问其他页面时激活该菜单(router-link-active)
  86. activePath: ['/page/create', '/page/update', '/page/copy']
  87. },
  88. {
  89. path: '/page/create',
  90. component: () => import(/* webpackChunkName: "page" */ '@/views/page/Update'),
  91. meta: { title: '新增页面', keepAlive: false, permission: ['/page/create'] },
  92. hidden: true
  93. },
  94. {
  95. path: '/page/update',
  96. component: () => import(/* webpackChunkName: "page" */ '@/views/page/Update'),
  97. meta: { title: '编辑页面', keepAlive: false, permission: ['/page/update'] },
  98. hidden: true
  99. },
  100. {
  101. path: '/page/copy',
  102. component: () => import(/* webpackChunkName: "page" */ '@/views/page/Update'),
  103. meta: { title: '复制页面', keepAlive: false, permission: ['/page/copy'] },
  104. hidden: true
  105. },
  106. {
  107. path: '/page/category',
  108. component: () => import(/* webpackChunkName: "page" */ '@/views/page/category/Index'),
  109. meta: { title: '分类模板', keepAlive: false, permission: ['/page/category'] },
  110. moduleKey: 'store-page-category'
  111. }
  112. ]
  113. },
  114. {
  115. path: '/store/style',
  116. component: RouteView,
  117. redirect: '/store/style',
  118. meta: { title: '店铺风格', keepAlive: false, permission: ['/store/style'] },
  119. moduleKey: 'store-style-theme',
  120. children: [
  121. {
  122. path: '/store/style/theme',
  123. component: () => import(/* webpackChunkName: "store" */ '@/views/store/style/Theme'),
  124. meta: { title: '主题风格', keepAlive: false, permission: ['/store/style/theme'] }
  125. }
  126. ]
  127. }
  128. ]
  129. },
  130. // 商品管理
  131. {
  132. path: '/goods',
  133. name: 'goods',
  134. component: RouteView,
  135. redirect: '/goods/index',
  136. meta: { title: '商品管理', icon: Icons.goods, permission: ['/goods'] },
  137. children: [
  138. {
  139. path: '/goods/index',
  140. component: () => import(/* webpackChunkName: "goods" */ '@/views/goods/Index'),
  141. meta: { title: '商品列表', keepAlive: false, permission: ['/goods/index'] },
  142. // 访问其他页面时激活该菜单(router-link-active)
  143. activePath: ['/goods/create', '/goods/update']
  144. },
  145. {
  146. path: '/goods/create',
  147. component: () => import(/* webpackChunkName: "goods" */ '@/views/goods/Create'),
  148. meta: { title: '创建商品', keepAlive: false, permission: ['/goods/create'] },
  149. hidden: true
  150. },
  151. {
  152. path: '/goods/update',
  153. component: () => import(/* webpackChunkName: "goods" */ '@/views/goods/Update'),
  154. meta: { title: '编辑商品', keepAlive: false, permission: ['/goods/update'] },
  155. hidden: true
  156. },
  157. {
  158. path: '/goods/category/index',
  159. component: () => import(/* webpackChunkName: "goods" */ '@/views/goods/category/Index'),
  160. meta: { title: '商品分类', keepAlive: false, permission: ['/goods/category/index'] }
  161. },
  162. // {
  163. // path: '/goods/spec-template/index',
  164. // component: () => import(/* webpackChunkName: "goods" */ '@/views/goods/service/Index'),
  165. // meta: { title: '规格模板', keepAlive: false, permission: ['/goods/spec-template/index'] }
  166. // },
  167. {
  168. path: '/goods/service/index',
  169. component: () => import(/* webpackChunkName: "goods" */ '@/views/goods/service/Index'),
  170. meta: { title: '服务承诺', pageTitle: '服务与承诺', keepAlive: false, permission: ['/goods/service/index'] }
  171. },
  172. {
  173. path: '/goods/comment/index',
  174. component: () => import(/* webpackChunkName: "goods" */ '@/views/goods/comment/Index'),
  175. meta: { title: '商品评价', keepAlive: false, permission: ['/goods/comment/index'] }
  176. }
  177. ]
  178. },
  179. // 订单管理
  180. {
  181. path: '/order',
  182. name: 'order',
  183. component: RouteView,
  184. redirect: '/order/list/all',
  185. meta: { title: '订单管理', icon: Icons.order, permission: ['/order'] },
  186. children: [
  187. {
  188. path: '/order/list/all',
  189. component: () => import(/* webpackChunkName: "order" */ '@/views/order/Index'),
  190. meta: { title: '全部订单', keepAlive: false, permission: ['/order/list/all'] }
  191. },
  192. {
  193. path: '/order/list/delivery',
  194. component: () => import(/* webpackChunkName: "order" */ '@/views/order/Index'),
  195. meta: { title: '待发货', keepAlive: false, permission: ['/order/list/all'] }
  196. },
  197. {
  198. path: '/order/list/receipt',
  199. component: () => import(/* webpackChunkName: "order" */ '@/views/order/Index'),
  200. meta: { title: '待收货', keepAlive: false, permission: ['/order/list/all'] }
  201. },
  202. {
  203. path: '/order/list/pay',
  204. component: () => import(/* webpackChunkName: "order" */ '@/views/order/Index'),
  205. meta: { title: '待付款', keepAlive: false, permission: ['/order/list/all'] }
  206. },
  207. {
  208. path: '/order/list/complete',
  209. component: () => import(/* webpackChunkName: "order" */ '@/views/order/Index'),
  210. meta: { title: '已完成', keepAlive: false, permission: ['/order/list/all'] }
  211. },
  212. {
  213. path: '/order/list/apply-cancel',
  214. component: () => import(/* webpackChunkName: "order" */ '@/views/order/Index'),
  215. meta: { title: '待取消', keepAlive: false, permission: ['/order/list/all'] }
  216. },
  217. {
  218. path: '/order/list/cancel',
  219. component: () => import(/* webpackChunkName: "order" */ '@/views/order/Index'),
  220. meta: { title: '已取消', keepAlive: false, permission: ['/order/list/all'] }
  221. },
  222. {
  223. path: '/order/detail',
  224. component: () => import(/* webpackChunkName: "order" */ '@/views/order/Detail'),
  225. meta: { title: '订单详情', keepAlive: false, permission: ['/order/detail'] },
  226. hidden: true
  227. },
  228. {
  229. path: '/order/refund/index',
  230. component: () => import(/* webpackChunkName: "order" */ '@/views/order/refund/Index'),
  231. meta: { title: '售后管理', keepAlive: false, permission: ['/order/refund/index'] },
  232. activePath: ['/order/refund/detail']
  233. },
  234. {
  235. path: '/order/refund/detail',
  236. component: () => import(/* webpackChunkName: "order" */ '@/views/order/refund/Detail'),
  237. meta: { title: '售后单详情', keepAlive: false, permission: ['/order/refund/detail'] },
  238. hidden: true
  239. },
  240. {
  241. path: '/order/tools',
  242. component: RouteView,
  243. meta: { title: '订单处理', keepAlive: false, permission: ['/order/tools'] },
  244. children: [
  245. {
  246. path: '/order/tools/delivery',
  247. component: () => import(/* webpackChunkName: "order" */ '@/views/order/tools/delivery/Index'),
  248. meta: { title: '发货管理', keepAlive: false, permission: ['/order/tools/delivery'] },
  249. // 访问其他页面时激活该菜单(router-link-active)
  250. activePath: ['/order/tools/delivery/record']
  251. },
  252. {
  253. path: '/order/tools/export',
  254. component: () => import(/* webpackChunkName: "order" */ '@/views/order/tools/Export'),
  255. meta: { title: '订单导出', keepAlive: false, permission: ['/order/tools/export'] },
  256. moduleKey: 'order-export'
  257. },
  258. {
  259. path: '/order/tools/delivery/record',
  260. component: () => import(/* webpackChunkName: "order" */ '@/views/order/tools/delivery/Record'),
  261. meta: { title: '发货记录', keepAlive: false, permission: ['/order/tools/delivery/record'] },
  262. hidden: true
  263. }
  264. ]
  265. },
  266. ]
  267. },
  268. // 会员管理
  269. {
  270. path: '/user',
  271. name: 'user',
  272. component: RouteView,
  273. meta: { title: '会员管理', icon: Icons.user, permission: ['/user'] },
  274. children: [
  275. {
  276. path: '/user/index',
  277. component: () => import(/* webpackChunkName: "user" */ '@/views/user/Index'),
  278. meta: { title: '会员列表', keepAlive: false, permission: ['/user/index'] }
  279. },
  280. {
  281. path: '/user/grade/index',
  282. component: () => import(/* webpackChunkName: "user" */ '@/views/user/grade/Index'),
  283. meta: { title: '会员等级', keepAlive: false, permission: ['/user/grade/index'] },
  284. moduleKey: 'user-grade'
  285. },
  286. {
  287. path: '/user/balance',
  288. component: RouteView,
  289. redirect: '/user/balance/index',
  290. meta: { title: '余额记录', keepAlive: false, permission: ['/user/balance'] },
  291. moduleKey: 'user-balance',
  292. children: [
  293. {
  294. path: '/user/recharge/index',
  295. component: () => import(/* webpackChunkName: "content" */ '@/views/user/recharge/Index'),
  296. meta: { title: '充值记录', keepAlive: false, permission: ['/user/recharge/index'] }
  297. },
  298. {
  299. path: '/user/balance/index',
  300. component: () => import(/* webpackChunkName: "content" */ '@/views/user/balance/Index'),
  301. meta: { title: '余额明细', keepAlive: false, permission: ['/user/balance/index'] }
  302. }
  303. ]
  304. }
  305. ]
  306. },
  307. // 内容管理
  308. {
  309. path: '/content',
  310. name: 'content',
  311. component: RouteView,
  312. meta: { title: '内容管理', icon: Icons.content, permission: ['/content'] },
  313. children: [
  314. {
  315. path: '/content/article',
  316. component: RouteView,
  317. redirect: '/content/article/index',
  318. meta: { title: '文章管理', keepAlive: false, permission: ['/content/article'] },
  319. moduleKey: 'content-article',
  320. children: [
  321. {
  322. path: '/content/article/index',
  323. component: () => import(/* webpackChunkName: "content" */ '@/views/content/article/Index'),
  324. meta: { title: '文章列表', keepAlive: false, permission: ['/content/article/index'] }
  325. },
  326. {
  327. path: '/content/article/category/index',
  328. component: () => import(/* webpackChunkName: "content" */ '@/views/content/article/category/Index'),
  329. meta: { title: '文章分类', keepAlive: false, permission: ['/content/article/category/index'] }
  330. }
  331. ]
  332. },
  333. {
  334. path: '/content/files',
  335. component: RouteView,
  336. redirect: '/content/files/index',
  337. meta: { title: '文件库管理', keepAlive: false, permission: ['/content/files'] },
  338. children: [
  339. {
  340. path: '/content/files/index',
  341. component: () => import(/* webpackChunkName: "content" */ '@/views/content/files/Index'),
  342. meta: { title: '文件列表', keepAlive: false, permission: ['/content/files/index'] }
  343. },
  344. {
  345. path: '/content/files/group/index',
  346. component: () => import(/* webpackChunkName: "content" */ '@/views/content/files/group/Index'),
  347. meta: { title: '文件分组', keepAlive: false, permission: ['/content/files/group/index'] }
  348. }
  349. ]
  350. },
  351. {
  352. path: '/content/help/index',
  353. component: () => import(/* webpackChunkName: "content" */ '@/views/content/help/Index'),
  354. meta: { title: '帮助中心', keepAlive: false, permission: ['/content/help/index'] },
  355. moduleKey: 'content-help',
  356. }
  357. ]
  358. },
  359. // 营销管理
  360. {
  361. path: '/market',
  362. name: 'market',
  363. component: RouteView,
  364. meta: { title: '营销管理', icon: Icons.market, permission: ['/market'] },
  365. moduleKeys: ['market-coupon', 'market-recharge', 'market-points', 'market-fullFree'],
  366. children: [
  367. {
  368. path: '/market/coupon',
  369. component: RouteView,
  370. redirect: '/market/coupon/index',
  371. meta: { title: '优惠券', keepAlive: false, permission: ['/market/coupon'] },
  372. moduleKey: 'market-coupon',
  373. children: [
  374. {
  375. path: '/market/coupon/index',
  376. component: () => import(/* webpackChunkName: "market" */ '@/views/market/coupon/Index'),
  377. meta: { title: '优惠券列表', keepAlive: false, permission: ['/market/coupon/index'] },
  378. // 访问其他页面时激活该菜单(router-link-active)
  379. activePath: ['/market/coupon/create', '/market/coupon/update']
  380. },
  381. {
  382. path: '/market/coupon/create',
  383. component: () => import(/* webpackChunkName: "market" */ '@/views/market/coupon/Create'),
  384. meta: { title: '创建优惠券', keepAlive: false, permission: ['/market/coupon/create'] },
  385. hidden: true
  386. },
  387. {
  388. path: '/market/coupon/update',
  389. component: () => import(/* webpackChunkName: "market" */ '@/views/market/coupon/Update'),
  390. meta: { title: '编辑优惠券', keepAlive: false, permission: ['/market/coupon/update'] },
  391. hidden: true
  392. },
  393. {
  394. path: '/market/coupon/receive/index',
  395. component: () => import(/* webpackChunkName: "market" */ '@/views/market/coupon/Receive'),
  396. meta: { title: '领券记录', keepAlive: false, permission: ['/market/coupon/receive/index'] }
  397. }
  398. ]
  399. },
  400. {
  401. path: '/market/recharge',
  402. component: RouteView,
  403. redirect: '/market/recharge/plan/index',
  404. meta: { title: '会员充值', keepAlive: false, permission: ['/market/recharge'] },
  405. moduleKey: 'market-recharge',
  406. children: [
  407. {
  408. path: '/market/recharge/plan/index',
  409. component: () => import(/* webpackChunkName: "market" */ '@/views/market/recharge/plan/Index'),
  410. meta: { title: '充值套餐', keepAlive: false, permission: ['/market/recharge/plan/index'] }
  411. },
  412. {
  413. path: '/market/recharge/setting',
  414. component: () => import(/* webpackChunkName: "market" */ '@/views/market/recharge/Setting'),
  415. meta: { title: '充值设置', keepAlive: false, permission: ['/market/recharge/setting'] }
  416. }
  417. ]
  418. },
  419. {
  420. path: '/market/points',
  421. component: RouteView,
  422. redirect: '/market/points/setting',
  423. meta: { title: '积分管理', keepAlive: false, permission: ['/market/points'] },
  424. moduleKey: 'market-points',
  425. children: [
  426. {
  427. path: '/market/points/setting',
  428. component: () => import(/* webpackChunkName: "market" */ '@/views/market/points/Setting'),
  429. meta: { title: '积分设置', keepAlive: false, permission: ['/market/points/setting'] }
  430. },
  431. {
  432. path: '/market/points/log',
  433. component: () => import(/* webpackChunkName: "market" */ '@/views/market/points/Log'),
  434. meta: { title: '积分明细', keepAlive: false, permission: ['/market/points/log'] }
  435. }
  436. ]
  437. },
  438. {
  439. path: '/market/full-free',
  440. component: () => import(/* webpackChunkName: "market" */ '@/views/market/FullFree'),
  441. meta: { title: '满额包邮', keepAlive: false, permission: ['/market/full-free'] },
  442. moduleKey: 'market-fullFree'
  443. },
  444. ]
  445. },
  446. // 数据统计
  447. {
  448. path: '/statistics',
  449. name: 'statistics',
  450. component: () => import(/* webpackChunkName: "statistics" */ '@/views/statistics/Index'),
  451. meta: { title: '数据统计', keepAlive: true, icon: Icons.statistics, permission: ['/statistics'] },
  452. moduleKey: 'statistics-statistics'
  453. },
  454. // 客户端
  455. {
  456. path: '/client',
  457. name: 'client',
  458. component: RouteView,
  459. meta: { title: '客户端', keepAlive: true, icon: Icons.mpWeixin, iconStyle: { fontSize: '17.2px', color: '#36b313' }, permission: ['/client'] },
  460. children: [
  461. {
  462. path: '/client/register',
  463. component: () => import(/* webpackChunkName: "client" */ '@/views/client/Register'),
  464. meta: { title: '注册设置', keepAlive: false, permission: ['/client/register'] }
  465. },
  466. {
  467. path: '/client/wxapp',
  468. component: RouteView,
  469. redirect: '/client/wxapp/setting',
  470. meta: { title: '微信小程序', keepAlive: false, permission: ['/client/wxapp'] },
  471. moduleKey: 'client-mpWeixin',
  472. children: [
  473. {
  474. path: '/client/wxapp/setting',
  475. component: () => import(/* webpackChunkName: "client" */ '@/views/client/wxapp/Setting'),
  476. meta: { title: '小程序设置', keepAlive: false, permission: ['/client/wxapp/setting'] }
  477. }
  478. ]
  479. },
  480. {
  481. path: '/client/h5',
  482. component: RouteView,
  483. redirect: '/client/h5/setting',
  484. meta: { title: 'H5端', keepAlive: false, permission: ['/client/h5'] },
  485. moduleKey: 'client-h5',
  486. children: [
  487. {
  488. path: '/client/h5/setting',
  489. component: () => import(/* webpackChunkName: "client" */ '@/views/client/h5/Setting'),
  490. meta: { title: '站点设置', keepAlive: false, permission: ['/client/h5/setting'] }
  491. }
  492. ]
  493. }
  494. ]
  495. },
  496. // 设置
  497. {
  498. path: '/setting',
  499. name: 'setting',
  500. component: RouteView,
  501. redirect: '/setting/store/basic',
  502. meta: { title: '设置', icon: Icons.setting, permission: ['/setting'] },
  503. children: [
  504. {
  505. path: '/setting/trade',
  506. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/Trade'),
  507. meta: { title: '交易设置', keepAlive: false, permission: ['/setting/trade'] }
  508. },
  509. {
  510. path: '/setting/customer',
  511. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/Customer'),
  512. meta: { title: '客服设置', keepAlive: false, permission: ['/setting/customer'] },
  513. moduleKey: 'setting-customer',
  514. },
  515. {
  516. path: '/setting/storage',
  517. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/Storage'),
  518. meta: { title: '上传设置', keepAlive: false, permission: ['/setting/storage'] },
  519. moduleKey: 'setting-storage',
  520. },
  521. {
  522. path: '/setting/sms',
  523. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/Sms'),
  524. meta: { title: '短信通知', keepAlive: false, permission: ['/setting/sms'] }
  525. },
  526. {
  527. path: '/setting/delivery',
  528. component: RouteView,
  529. redirect: '/setting/delivery/setting',
  530. meta: { title: '配送设置', keepAlive: false, permission: ['/setting/delivery'] },
  531. isHideChildren: true,
  532. children: [
  533. {
  534. path: '/setting/delivery/setting',
  535. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/delivery/Setting'),
  536. meta: { title: '配送方式', keepAlive: false, permission: ['/setting/delivery/setting'] }
  537. },
  538. {
  539. path: '/setting/delivery/template/index',
  540. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/delivery/template/Index'),
  541. meta: { title: '运费模板', keepAlive: false, permission: ['/setting/delivery/template/index'] },
  542. // 访问其他页面时激活该菜单(router-link-active)
  543. activePath: ['/setting/delivery/template/create', '/setting/delivery/template/update']
  544. },
  545. {
  546. path: '/setting/delivery/template/create',
  547. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/delivery/template/Create'),
  548. meta: { title: '新增运费模板', keepAlive: false, permission: ['/setting/delivery/template/create'] },
  549. hidden: true
  550. },
  551. {
  552. path: '/setting/delivery/template/update',
  553. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/delivery/template/Update'),
  554. meta: { title: '编辑运费模板', keepAlive: false, permission: ['/setting/delivery/template/update'] },
  555. hidden: true
  556. },
  557. {
  558. path: '/setting/delivery/express/index',
  559. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/delivery/express/Index'),
  560. meta: { title: '物流公司', keepAlive: false, permission: ['/setting/delivery/express/index'] }
  561. }
  562. ]
  563. },
  564. {
  565. path: '/setting/payment',
  566. component: RouteView,
  567. redirect: '/setting/payment/setting',
  568. meta: { title: '支付管理', keepAlive: false, permission: ['/setting/payment'] },
  569. isHideChildren: true,
  570. children: [
  571. {
  572. path: '/setting/payment/setting',
  573. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/payment/Setting'),
  574. meta: { title: '支付设置', keepAlive: false, permission: ['/setting/payment/setting'] }
  575. },
  576. {
  577. path: '/setting/payment/template/index',
  578. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/payment/template/Index'),
  579. meta: { title: '支付模板', keepAlive: false, permission: ['/setting/payment/template/index'] },
  580. // 访问其他页面时激活该菜单(router-link-active)
  581. activePath: ['/setting/payment/template/create', '/setting/payment/template/update']
  582. },
  583. {
  584. path: '/setting/payment/template/create',
  585. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/payment/template/Create'),
  586. meta: { title: '新增支付模板', keepAlive: false, permission: ['/setting/payment/template/create'] },
  587. hidden: true
  588. },
  589. {
  590. path: '/setting/payment/template/update',
  591. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/payment/template/Update'),
  592. meta: { title: '编辑支付模板', keepAlive: false, permission: ['/setting/payment/template/update'] },
  593. hidden: true
  594. },
  595. // {
  596. // path: '/setting/payment/mchpay',
  597. // component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/payment/Mchpay'),
  598. // meta: { title: '打款设置', keepAlive: false, permission: ['/setting/payment/mchpay'] }
  599. // }
  600. ]
  601. },
  602. {
  603. path: '/setting/printer',
  604. component: RouteView,
  605. redirect: '/setting/printer/index',
  606. meta: { title: '小票打印机', keepAlive: false, permission: ['/setting/printer'] },
  607. moduleKey: 'setting-printer',
  608. isHideChildren: true,
  609. children: [
  610. {
  611. path: '/setting/printer/index',
  612. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/printer/Index'),
  613. meta: { title: '打印机管理', keepAlive: false, permission: ['/setting/printer/index'] }
  614. },
  615. {
  616. path: '/setting/printer/setting',
  617. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/printer/Setting'),
  618. meta: { title: '打印设置', keepAlive: false, permission: ['/setting/printer/setting'] }
  619. }
  620. ]
  621. },
  622. {
  623. path: '/setting/other',
  624. component: RouteView,
  625. redirect: '/setting/other/clear',
  626. meta: { title: '其他设置', keepAlive: false, permission: ['/setting/other'] },
  627. isHideChildren: true,
  628. children: [
  629. {
  630. path: '/setting/other/clear',
  631. component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/other/Clear'),
  632. meta: { title: '清理缓存', keepAlive: false, permission: ['/setting/other/clear'] }
  633. }
  634. ]
  635. }
  636. ]
  637. }
  638. ]
  639. },
  640. // 更新账户信息
  641. {
  642. name: 'renew',
  643. path: '/manage',
  644. redirect: '/manage/renew',
  645. component: BasicLayout,
  646. hidden: true,
  647. meta: { title: '更新账户信息', keepAlive: false },
  648. children: [
  649. {
  650. path: 'renew',
  651. component: () => import(/* webpackChunkName: "manage" */ '@/views/manage/renew')
  652. }
  653. ]
  654. },
  655. {
  656. path: '*', redirect: '/404', hidden: true
  657. }
  658. ]
  659. /**
  660. * 基础路由
  661. * @type { *[] }
  662. */
  663. export const constantRouterMap = [
  664. // 用户登录页
  665. {
  666. path: '/passport',
  667. component: UserLayout,
  668. redirect: '/passport/login',
  669. hidden: true,
  670. children: [
  671. {
  672. path: 'login',
  673. name: 'login',
  674. component: () => import(/* webpackChunkName: "passport" */ '@/views/passport/Login')
  675. }
  676. ]
  677. },
  678. // 404页
  679. {
  680. path: '/404',
  681. component: () => import(/* webpackChunkName: "exception" */ '@/views/exception/404')
  682. }
  683. ]