router.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843
  1. /**
  2. * @description router全局配置,如有必要可分文件抽离,其中asyncRoutes只有在intelligence模式下才会用到,pro版只支持remixIcon图标,具体配置请查看vip群文档
  3. */
  4. const List = [
  5. {
  6. path: '/',
  7. name: 'Root',
  8. component: 'Layout',
  9. redirect: '/index',
  10. meta: {
  11. title: '首页',
  12. icon: 'home-2-line',
  13. },
  14. children: [
  15. {
  16. path: 'index',
  17. name: 'Index',
  18. component: '@/views/index',
  19. meta: {
  20. title: '首页',
  21. icon: 'home-2-line',
  22. noClosable: true,
  23. },
  24. },
  25. {
  26. path: 'workbench',
  27. name: 'Workbench',
  28. component: '@/views/index/workbench',
  29. meta: {
  30. title: '工作台',
  31. icon: 'settings-6-line',
  32. dot: true,
  33. },
  34. },
  35. ],
  36. },
  37. {
  38. path: '/vab',
  39. name: 'Vab',
  40. component: 'Layout',
  41. redirect: '/vab/icon/remixIcon',
  42. meta: {
  43. title: '组件',
  44. icon: 'code-box-line',
  45. },
  46. children: [
  47. {
  48. path: 'icon',
  49. name: 'Icon',
  50. component: '@/views/vab/icon',
  51. redirect: '/vab/icon/remixIcon',
  52. meta: {
  53. title: '图标',
  54. icon: 'remixicon-line',
  55. },
  56. children: [
  57. {
  58. path: 'remixIcon',
  59. name: 'RemixIcon',
  60. component: '@/views/vab/icon/remixIcon',
  61. meta: {
  62. title: '小清新图标',
  63. },
  64. },
  65. {
  66. path: 'iconSelector',
  67. name: 'IconSelector',
  68. component: '@/views/vab/icon/iconSelector',
  69. meta: {
  70. title: '图标选择器',
  71. },
  72. },
  73. ],
  74. },
  75. {
  76. path: 'roles',
  77. name: 'Role',
  78. component: '@/views/vab/roles',
  79. meta: {
  80. title: '角色权限',
  81. icon: 'user-3-line',
  82. badge: 'Pro',
  83. },
  84. },
  85. {
  86. path: 'table',
  87. name: 'Table',
  88. component: '@/views/vab/table',
  89. redirect: '/vab/table/comprehensiveTable',
  90. meta: {
  91. title: '表格',
  92. roles: {
  93. role: ['editor'],
  94. mode: 'except',
  95. },
  96. icon: 'table-2',
  97. },
  98. children: [
  99. {
  100. path: 'comprehensiveTable',
  101. name: 'ComprehensiveTable',
  102. component: '@/views/vab/table/comprehensiveTable',
  103. meta: {
  104. title: '综合表格',
  105. },
  106. },
  107. {
  108. path: 'detail',
  109. name: 'Detail',
  110. component: '@/views/vab/table/detail',
  111. meta: {
  112. hidden: true,
  113. title: '详情页',
  114. activeMenu: '/vab/table/comprehensiveTable',
  115. dynamicNewTab: true, //详情页根据id传参不同可打开多个
  116. },
  117. },
  118. {
  119. path: 'inlineEditTable',
  120. name: 'InlineEditTable',
  121. component: '@/views/vab/table/inlineEditTable',
  122. meta: {
  123. title: '行内编辑表格',
  124. noKeepAlive: true,
  125. },
  126. },
  127. {
  128. path: 'customTable',
  129. name: 'CustomTable',
  130. component: '@/views/vab/table/customTable',
  131. meta: {
  132. title: '自定义表格',
  133. },
  134. },
  135. ],
  136. },
  137. {
  138. path: 'card',
  139. name: 'Card',
  140. component: '@/views/vab/card',
  141. meta: {
  142. title: '卡片',
  143. roles: ['admin'],
  144. icon: 'inbox-line',
  145. },
  146. },
  147. {
  148. path: 'list',
  149. name: 'List',
  150. component: '@/views/vab/list',
  151. meta: {
  152. title: '列表',
  153. roles: ['admin'],
  154. icon: 'list-check-2',
  155. },
  156. },
  157. {
  158. path: 'form',
  159. name: 'Form',
  160. component: '@/views/vab/form',
  161. meta: {
  162. title: '表单',
  163. roles: ['admin'],
  164. icon: 'file-list-2-line',
  165. },
  166. children: [
  167. {
  168. path: 'comprehensiveForm',
  169. name: 'ComprehensiveForm',
  170. component: '@/views/vab/form/comprehensiveForm',
  171. meta: {
  172. title: '综合表单',
  173. },
  174. },
  175. {
  176. path: 'stepForm',
  177. name: 'StepForm',
  178. component: '@/views/vab/form/stepForm',
  179. meta: {
  180. title: '分步表单',
  181. },
  182. },
  183. {
  184. path: 'button',
  185. name: 'Button',
  186. component: '@/views/vab/form/button',
  187. meta: {
  188. title: '按钮',
  189. },
  190. },
  191. {
  192. path: 'link',
  193. name: 'Link',
  194. component: '@/views/vab/form/link',
  195. meta: {
  196. title: '文字链接',
  197. },
  198. },
  199. {
  200. path: 'radio',
  201. name: 'Radio',
  202. component: '@/views/vab/form/radio',
  203. meta: {
  204. title: '单选框',
  205. },
  206. },
  207. {
  208. path: 'checkbox',
  209. name: 'Checkbox',
  210. component: '@/views/vab/form/checkbox',
  211. meta: {
  212. title: '多选框',
  213. },
  214. },
  215. {
  216. path: 'input',
  217. name: 'Input',
  218. component: '@/views/vab/form/input',
  219. meta: {
  220. title: '输入框',
  221. },
  222. },
  223. {
  224. path: 'inputNumber',
  225. name: 'InputNumber',
  226. component: '@/views/vab/form/inputNumber',
  227. meta: {
  228. title: '计数器',
  229. },
  230. },
  231. {
  232. path: 'select',
  233. name: 'Select',
  234. component: '@/views/vab/form/select',
  235. meta: {
  236. title: '选择器',
  237. },
  238. },
  239. {
  240. path: 'switch',
  241. name: 'Switch',
  242. component: '@/views/vab/form/switch',
  243. meta: {
  244. title: '开关',
  245. },
  246. },
  247. {
  248. path: 'slider',
  249. name: 'Slider',
  250. component: '@/views/vab/form/slider',
  251. meta: {
  252. title: '滑块',
  253. },
  254. },
  255. {
  256. path: 'timePicker',
  257. name: 'TimePicker',
  258. component: '@/views/vab/form/timePicker',
  259. meta: {
  260. title: '时间选择器',
  261. },
  262. },
  263. {
  264. path: 'datePicker',
  265. name: 'DatePicker',
  266. component: '@/views/vab/form/datePicker',
  267. meta: {
  268. title: '日期选择器',
  269. },
  270. },
  271. {
  272. path: 'dateTimePicker',
  273. name: 'DateTimePicker',
  274. component: '@/views/vab/form/dateTimePicker',
  275. meta: {
  276. title: '日期时间选择器',
  277. },
  278. },
  279. {
  280. path: 'rate',
  281. name: 'Rate',
  282. component: '@/views/vab/form/rate',
  283. meta: {
  284. title: '评分',
  285. },
  286. },
  287. ],
  288. },
  289. {
  290. path: 'editor',
  291. name: 'Editor',
  292. component: '@/views/vab/editor',
  293. meta: {
  294. title: '编辑器',
  295. roles: ['admin'],
  296. icon: 'edit-2-line',
  297. },
  298. children: [
  299. {
  300. path: 'richTextEditor',
  301. name: 'RichTextEditor',
  302. component: '@/views/vab/editor/richTextEditor',
  303. meta: {
  304. title: '富文本编辑器',
  305. roles: ['admin'],
  306. },
  307. },
  308. {
  309. path: 'markdownEditor',
  310. name: 'MarkdownEditor',
  311. component: '@/views/vab/editor/markdownEditor',
  312. meta: {
  313. title: 'Markdown编辑器',
  314. roles: ['admin'],
  315. },
  316. },
  317. ],
  318. },
  319. ],
  320. },
  321. {
  322. path: '/other',
  323. name: 'Other',
  324. component: 'Layout',
  325. redirect: '/other/workflow',
  326. meta: {
  327. title: '其他',
  328. icon: 'archive-line',
  329. roles: ['admin'],
  330. },
  331. children: [
  332. {
  333. path: 'workflow',
  334. name: 'Workflow',
  335. component: '@/views/other/workflow',
  336. meta: {
  337. title: '工作流',
  338. roles: ['admin'],
  339. icon: 'flow-chart',
  340. },
  341. },
  342. {
  343. path: 'print',
  344. name: 'Print',
  345. component: '@/views/other/print',
  346. meta: {
  347. title: '打印',
  348. roles: ['admin'],
  349. icon: 'printer-line',
  350. },
  351. },
  352. {
  353. path: 'cropper',
  354. name: 'Cropper',
  355. component: '@/views/other/cropper',
  356. meta: {
  357. title: '头像裁剪',
  358. roles: ['admin'],
  359. icon: 'crop-line',
  360. },
  361. },
  362. {
  363. path: 'notice',
  364. name: 'Notice',
  365. component: '@/views/other/notice',
  366. meta: {
  367. title: '通知',
  368. roles: ['admin'],
  369. icon: 'message-2-line',
  370. },
  371. },
  372. {
  373. path: 'timeline',
  374. name: 'Timeline',
  375. component: '@/views/other/timeline',
  376. meta: {
  377. title: '时间线',
  378. roles: ['admin'],
  379. icon: 'time-line',
  380. },
  381. },
  382. {
  383. path: 'count',
  384. name: 'Count',
  385. component: '@/views/other/count',
  386. meta: {
  387. title: '数字自增长',
  388. roles: ['admin'],
  389. icon: 'number-9',
  390. },
  391. },
  392. {
  393. path: 'tabs',
  394. name: 'tabs',
  395. component: '@/views/other/tabs',
  396. meta: {
  397. title: '多标签',
  398. roles: ['admin'],
  399. icon: 'bank-card-line',
  400. },
  401. },
  402. {
  403. path: 'dynamicMeta',
  404. name: 'DynamicMeta',
  405. component: '@/views/other/dynamicMeta',
  406. meta: {
  407. title: '动态Meta',
  408. roles: ['admin'],
  409. icon: 'notification-badge-line',
  410. badge: '0',
  411. },
  412. },
  413. {
  414. path: 'dynamicSegment',
  415. name: 'DynamicSegment',
  416. component: '@/views/other/dynamicSegment',
  417. redirect: '/vab/dynamicSegment/test1/1',
  418. meta: {
  419. title: '动态路径参数',
  420. roles: ['admin'],
  421. icon: 'arrow-left-right-line',
  422. },
  423. children: [
  424. {
  425. path: 'test1/:id',
  426. name: 'Test1',
  427. component: '@/views/other/dynamicSegment/test1',
  428. meta: {
  429. hidden: true,
  430. title: 'Params',
  431. dynamicNewTab: true,
  432. },
  433. },
  434. {
  435. path: 'test1/1',
  436. name: 'test1/1',
  437. component: '@/views/other/dynamicSegment/test1',
  438. meta: { title: 'Params id=1' },
  439. },
  440. {
  441. path: 'test2',
  442. name: 'Test2',
  443. component: '@/views/other/dynamicSegment/test2',
  444. meta: {
  445. hidden: true,
  446. title: 'Query',
  447. dynamicNewTab: true,
  448. },
  449. },
  450. {
  451. path: 'test2?id=1',
  452. name: 'test2?id=1',
  453. component: '@/views/other/dynamicSegment/test2',
  454. meta: { title: 'Query id=1' },
  455. },
  456. ],
  457. },
  458. {
  459. path: 'drag',
  460. name: 'Drag',
  461. component: '@/views/other/drag',
  462. redirect: '/vab/drag/dialogDrag',
  463. meta: {
  464. title: '拖拽',
  465. roles: ['admin'],
  466. icon: 'drag-drop-line',
  467. },
  468. children: [
  469. {
  470. path: 'dialogDrag',
  471. name: 'DialogDrag',
  472. component: '@/views/other/drag/dialogDrag',
  473. meta: {
  474. title: '弹窗拖拽',
  475. },
  476. },
  477. {
  478. path: 'cardDrag',
  479. name: 'CardDrag',
  480. component: '@/views/other/drag/cardDrag',
  481. meta: {
  482. title: '卡片拖拽',
  483. },
  484. },
  485. {
  486. path: 'flowSheetDrag',
  487. name: 'FlowSheetDrag',
  488. component: '@/views/other/drag/flowSheetDrag',
  489. meta: {
  490. title: '流程图拖拽',
  491. noKeepAlive: true,
  492. },
  493. },
  494. ],
  495. },
  496. {
  497. path: 'contextmenu',
  498. name: 'Contextmenu',
  499. component: '@/views/other/contextmenu',
  500. meta: {
  501. title: '右键菜单',
  502. roles: ['admin'],
  503. icon: 'menu-2-fill',
  504. },
  505. },
  506. {
  507. path: 'loading',
  508. name: 'Loading',
  509. component: '@/views/other/loading',
  510. meta: {
  511. title: '加载',
  512. roles: ['admin'],
  513. icon: 'loader-line',
  514. },
  515. },
  516. {
  517. path: 'player',
  518. name: 'Player',
  519. component: '@/views/other/player',
  520. meta: {
  521. title: '视频播放器',
  522. roles: ['admin'],
  523. icon: 'video-line',
  524. noKeepAlive: true,
  525. },
  526. },
  527. {
  528. path: 'upload',
  529. name: 'Upload',
  530. component: '@/views/other/upload',
  531. meta: {
  532. title: '上传',
  533. roles: ['admin'],
  534. icon: 'chat-upload-line',
  535. },
  536. },
  537. {
  538. path: 'menu1',
  539. name: 'Menu1',
  540. component: '@/views/other/nested/menu1',
  541. redirect: '/other/menu1/menu1-1/menu1-1-1/menu1-1-1-1',
  542. meta: {
  543. title: '多级路由缓存',
  544. roles: ['admin'],
  545. icon: 'route-line',
  546. },
  547. children: [
  548. {
  549. path: 'menu1-1',
  550. name: 'Menu11',
  551. component: '@/views/other/nested/menu1/menu1-1',
  552. redirect: '/other/menu1/menu1-1/menu1-1-1/menu1-1-1-1',
  553. meta: {
  554. title: '多级路由1-1',
  555. },
  556. children: [
  557. {
  558. path: 'menu1-1-1',
  559. name: 'Menu111',
  560. component: '@/views/other/nested/menu1/menu1-1/menu1-1-1',
  561. redirect: '/other/menu1/menu1-1/menu1-1-1/menu1-1-1-1',
  562. meta: {
  563. title: '多级路由1-1-1',
  564. },
  565. children: [
  566. {
  567. path: 'menu1-1-1-1',
  568. name: 'Menu1111',
  569. meta: {
  570. title: '多级路由1-1-1-1',
  571. },
  572. component:
  573. '@/views/other/nested/menu1/menu1-1/menu1-1-1/menu1-1-1-1',
  574. },
  575. ],
  576. },
  577. ],
  578. },
  579. ],
  580. },
  581. {
  582. path: 'log',
  583. name: 'Log',
  584. component: '@/views/other/errorLog',
  585. meta: {
  586. title: '错误日志模拟',
  587. roles: ['admin'],
  588. icon: 'error-warning-line',
  589. },
  590. },
  591. {
  592. path: 'cssfx',
  593. name: 'Cssfx',
  594. component: '@/views/other/cssfx',
  595. meta: {
  596. title: 'Css动画',
  597. roles: ['admin'],
  598. icon: 'css3-line',
  599. },
  600. },
  601. {
  602. path: 'social',
  603. name: 'Social',
  604. component: '@/views/other/social',
  605. meta: {
  606. title: '第三方登录',
  607. roles: ['admin'],
  608. icon: 'github-fill',
  609. },
  610. },
  611. {
  612. path: '//github.com/chuzhixin/vue-admin-beautiful?utm_source=gold_browser_extension',
  613. name: 'ExternalLink',
  614. meta: {
  615. title: '外链',
  616. target: '_blank',
  617. roles: {
  618. role: ['admin', 'editor'],
  619. mode: 'oneOf',
  620. },
  621. icon: 'external-link-line',
  622. },
  623. },
  624. {
  625. path: 'iframe',
  626. name: 'Iframe',
  627. component: '@/views/other/iframe',
  628. redirect: '/other/iframe/search',
  629. meta: {
  630. title: 'Iframe',
  631. roles: ['admin'],
  632. icon: 'window-line',
  633. },
  634. children: [
  635. {
  636. path: 'view',
  637. name: 'IframeView',
  638. component: '@/views/other/iframe/view',
  639. meta: {
  640. hidden: true,
  641. title: 'Iframe',
  642. icon: 'window-line',
  643. dynamicNewTab: true,
  644. },
  645. },
  646. {
  647. path: 'view?url=https%3A%2Fwww.baidu.com&title=%E7%99%BE%E5%BA%A6',
  648. name: 'baiduIframe',
  649. component: '@/views/other/iframe/view',
  650. meta: { title: '百度', icon: 'baidu-fill' },
  651. },
  652. {
  653. path: 'view?url=https%3A%2Fgitee.com%2Fchu1204505056%2Fvue-admin-beautiful&title=Gitee',
  654. name: 'githubIframe',
  655. component: '@/views/other/iframe/view',
  656. meta: { title: 'Gitee', icon: 'github-fill' },
  657. },
  658. {
  659. path: 'search',
  660. name: 'IframeSearch',
  661. component: '@/views/other/iframe/search',
  662. meta: {
  663. title: '自定义Iframe',
  664. icon: 'search-2-line',
  665. },
  666. },
  667. ],
  668. },
  669. {
  670. path: 'excel',
  671. name: 'Excel',
  672. component: '@/views/other/excel',
  673. redirect: '/other/excel/exportExcel',
  674. meta: {
  675. title: 'Excel',
  676. roles: ['admin'],
  677. icon: 'file-excel-2-line',
  678. },
  679. children: [
  680. {
  681. path: 'exportExcel',
  682. name: 'ExportExcel',
  683. component: '@/views/other/excel/exportExcel',
  684. meta: {
  685. title: '导出Excel',
  686. },
  687. },
  688. {
  689. path: 'exportSelectedExcel',
  690. name: 'SelectExcel',
  691. component: '@/views/other/excel/exportSelectExcel',
  692. meta: {
  693. title: '导出选中行Excel',
  694. },
  695. },
  696. {
  697. path: 'exportMergeHeaderExcel',
  698. name: 'MergeHeaderExcel',
  699. component: '@/views/other/excel/exportMergeHeaderExcel',
  700. meta: {
  701. title: '导出合并Excel',
  702. },
  703. },
  704. ],
  705. },
  706. ],
  707. },
  708. {
  709. path: '/mall',
  710. name: 'Mall',
  711. component: 'Layout',
  712. redirect: '/mall/goods',
  713. meta: {
  714. title: '物料源',
  715. icon: 'apps-line',
  716. roles: ['admin'],
  717. },
  718. children: [
  719. {
  720. path: 'goods',
  721. name: 'Goods',
  722. component: '@/views/mall/goods',
  723. meta: {
  724. title: '物料市场',
  725. icon: 'shopping-cart-line',
  726. badge: 'Hot',
  727. },
  728. },
  729. ],
  730. },
  731. {
  732. path: '/setting',
  733. name: 'PersonnelManagement',
  734. component: 'Layout',
  735. redirect: '/setting/personalCenter',
  736. meta: {
  737. title: '配置',
  738. icon: 'user-settings-line',
  739. roles: ['admin'],
  740. },
  741. children: [
  742. {
  743. path: 'personalCenter',
  744. name: 'PersonalCenter',
  745. component: '@/views/setting/personalCenter',
  746. meta: {
  747. title: '个人中心',
  748. icon: 'map-pin-user-line',
  749. },
  750. },
  751. {
  752. path: 'userManagement',
  753. name: 'UserManagement',
  754. component: '@/views/setting/userManagement',
  755. meta: {
  756. title: '用户管理',
  757. icon: 'user-3-line',
  758. },
  759. },
  760. {
  761. path: 'roleManagement',
  762. name: 'RoleManagement',
  763. component: '@/views/setting/roleManagement',
  764. meta: {
  765. title: '角色管理',
  766. icon: 'admin-line',
  767. },
  768. },
  769. {
  770. path: 'departmentManagement',
  771. name: 'DepartmentManagement',
  772. component: '@/views/setting/departmentManagement',
  773. meta: {
  774. title: '部门管理',
  775. icon: 'group-line',
  776. },
  777. },
  778. {
  779. path: 'menuManagement',
  780. name: 'MenuManagement',
  781. component: '@/views/setting/menuManagement',
  782. meta: {
  783. title: '菜单管理',
  784. icon: 'menu-2-fill',
  785. },
  786. },
  787. {
  788. path: 'systemLog',
  789. name: 'SystemLog',
  790. component: '@/views/setting/systemLog',
  791. meta: {
  792. title: '系统日志',
  793. icon: 'file-shield-2-line',
  794. },
  795. },
  796. ],
  797. },
  798. {
  799. path: '/error',
  800. name: 'Error',
  801. component: 'Layout',
  802. redirect: '/error/403',
  803. meta: {
  804. title: '错误页',
  805. icon: 'error-warning-line',
  806. levelHidden: true,
  807. },
  808. children: [
  809. {
  810. path: '403',
  811. name: 'Error403',
  812. component: '@/views/403',
  813. meta: {
  814. title: '403',
  815. icon: 'error-warning-line',
  816. },
  817. },
  818. {
  819. path: '404',
  820. name: 'Error404',
  821. component: '@/views/404',
  822. meta: {
  823. title: '404',
  824. icon: 'error-warning-line',
  825. },
  826. },
  827. ],
  828. },
  829. ]
  830. module.exports = [
  831. {
  832. url: '/router/getList',
  833. type: 'get',
  834. response() {
  835. return {
  836. code: 200,
  837. msg: 'success',
  838. data: { list: List },
  839. }
  840. },
  841. },
  842. ]