router.config.js 29 KB

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