routes.js 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  1. // Just a mock data
  2. export const constantRoutes = [
  3. {
  4. path: '/login',
  5. component: 'views/login/index',
  6. hidden: true
  7. },
  8. {
  9. path: '/auth-redirect',
  10. component: 'views/login/auth-redirect',
  11. hidden: true
  12. },
  13. {
  14. path: '/404',
  15. component: 'views/errors/404',
  16. hidden: true
  17. },
  18. {
  19. path: '/401',
  20. component: 'views/errors/401',
  21. hidden: true
  22. },
  23. {
  24. path: '',
  25. component: 'layout/Layout',
  26. redirect: 'dashboard',
  27. children: [
  28. {
  29. path: 'dashboard',
  30. component: 'views/dashboard/index',
  31. name: 'Dashboard',
  32. meta: { title: 'Dashboard', icon: 'dashboard', affix: true }
  33. }
  34. ]
  35. },
  36. {
  37. path: '/documentation',
  38. component: 'layout/Layout',
  39. children: [
  40. {
  41. path: 'index',
  42. component: 'views/documentation/index',
  43. name: 'Documentation',
  44. meta: { title: 'Documentation', icon: 'documentation', affix: true }
  45. }
  46. ]
  47. },
  48. {
  49. path: '/guide',
  50. component: 'layout/Layout',
  51. redirect: '/guide/index',
  52. children: [
  53. {
  54. path: 'index',
  55. component: 'views/guide/index',
  56. name: 'Guide',
  57. meta: { title: 'Guide', icon: 'guide', noCache: true }
  58. }
  59. ]
  60. }
  61. ]
  62. export const asyncRoutes = [
  63. {
  64. path: '/permission',
  65. component: 'layout/Layout',
  66. redirect: '/permission/index',
  67. alwaysShow: true,
  68. meta: {
  69. title: 'Permission',
  70. icon: 'lock',
  71. roles: ['admin', 'editor']
  72. },
  73. children: [
  74. {
  75. path: 'page',
  76. component: 'views/permission/page',
  77. name: 'PagePermission',
  78. meta: {
  79. title: 'Page Permission',
  80. roles: ['admin']
  81. }
  82. },
  83. {
  84. path: 'directive',
  85. component: 'views/permission/directive',
  86. name: 'DirectivePermission',
  87. meta: {
  88. title: 'Directive Permission'
  89. }
  90. },
  91. {
  92. path: 'role',
  93. component: 'views/permission/role',
  94. name: 'RolePermission',
  95. meta: {
  96. title: 'Role Permission',
  97. roles: ['admin']
  98. }
  99. }
  100. ]
  101. },
  102. {
  103. path: '/components',
  104. component: 'layout/Layout',
  105. redirect: 'noRedirect',
  106. name: 'ComponentDemo',
  107. meta: {
  108. title: 'Components',
  109. icon: 'component'
  110. },
  111. children: [
  112. {
  113. path: 'tinymce',
  114. component: 'views/components-demo/tinymce',
  115. name: 'TinymceDemo',
  116. meta: { title: 'Tinymce' }
  117. },
  118. {
  119. path: 'markdown',
  120. component: 'views/components-demo/markdown',
  121. name: 'MarkdownDemo',
  122. meta: { title: 'Markdown' }
  123. },
  124. {
  125. path: 'json-editor',
  126. component: 'views/components-demo/json-editor',
  127. name: 'JsonEditorDemo',
  128. meta: { title: 'Json Editor' }
  129. },
  130. {
  131. path: 'split-pane',
  132. component: 'views/components-demo/split-pane',
  133. name: 'SplitpaneDemo',
  134. meta: { title: 'SplitPane' }
  135. },
  136. {
  137. path: 'avatar-upload',
  138. component: 'views/components-demo/avatar-upload',
  139. name: 'AvatarUploadDemo',
  140. meta: { title: 'Avatar Upload' }
  141. },
  142. {
  143. path: 'dropzone',
  144. component: 'views/components-demo/dropzone',
  145. name: 'DropzoneDemo',
  146. meta: { title: 'Dropzone' }
  147. },
  148. {
  149. path: 'sticky',
  150. component: 'views/components-demo/sticky',
  151. name: 'StickyDemo',
  152. meta: { title: 'Sticky' }
  153. },
  154. {
  155. path: 'count-to',
  156. component: 'views/components-demo/count-to',
  157. name: 'CountToDemo',
  158. meta: { title: 'Count To' }
  159. },
  160. {
  161. path: 'mixin',
  162. component: 'views/components-demo/mixin',
  163. name: 'ComponentMixinDemo',
  164. meta: { title: 'componentMixin' }
  165. },
  166. {
  167. path: 'back-to-top',
  168. component: 'views/components-demo/back-to-top',
  169. name: 'BackToTopDemo',
  170. meta: { title: 'Back To Top' }
  171. },
  172. {
  173. path: 'drag-dialog',
  174. component: 'views/components-demo/drag-dialog',
  175. name: 'DragDialogDemo',
  176. meta: { title: 'Drag Dialog' }
  177. },
  178. {
  179. path: 'drag-select',
  180. component: 'views/components-demo/drag-select',
  181. name: 'DragSelectDemo',
  182. meta: { title: 'Drag Select' }
  183. },
  184. {
  185. path: 'dnd-list',
  186. component: 'views/components-demo/dnd-list',
  187. name: 'DndListDemo',
  188. meta: { title: 'Dnd List' }
  189. },
  190. {
  191. path: 'drag-kanban',
  192. component: 'views/components-demo/drag-kanban',
  193. name: 'DragKanbanDemo',
  194. meta: { title: 'Drag Kanban' }
  195. }
  196. ]
  197. },
  198. {
  199. path: '/charts',
  200. component: 'layout/Layout',
  201. redirect: 'noRedirect',
  202. name: 'Charts',
  203. meta: {
  204. title: 'Charts',
  205. icon: 'chart'
  206. },
  207. children: [
  208. {
  209. path: 'keyboard',
  210. component: 'views/charts/keyboard',
  211. name: 'KeyboardChart',
  212. meta: { title: 'Keyboard Chart', noCache: true }
  213. },
  214. {
  215. path: 'line',
  216. component: 'views/charts/line',
  217. name: 'LineChart',
  218. meta: { title: 'Line Chart', noCache: true }
  219. },
  220. {
  221. path: 'mixchart',
  222. component: 'views/charts/mixChart',
  223. name: 'MixChart',
  224. meta: { title: 'Mix Chart', noCache: true }
  225. }
  226. ]
  227. },
  228. {
  229. path: '/nested',
  230. component: 'layout/Layout',
  231. redirect: '/nested/menu1/menu1-1',
  232. name: 'Nested',
  233. meta: {
  234. title: 'Nested',
  235. icon: 'nested'
  236. },
  237. children: [
  238. {
  239. path: 'menu1',
  240. component: 'views/nested/menu1/index',
  241. name: 'Menu1',
  242. meta: { title: 'Menu1' },
  243. redirect: '/nested/menu1/menu1-1',
  244. children: [
  245. {
  246. path: 'menu1-1',
  247. component: 'views/nested/menu1/menu1-1',
  248. name: 'Menu1-1',
  249. meta: { title: 'Menu1-1' }
  250. },
  251. {
  252. path: 'menu1-2',
  253. component: 'views/nested/menu1/menu1-2',
  254. name: 'Menu1-2',
  255. redirect: '/nested/menu1/menu1-2/menu1-2-1',
  256. meta: { title: 'Menu1-2' },
  257. children: [
  258. {
  259. path: 'menu1-2-1',
  260. component: 'views/nested/menu1/menu1-2/menu1-2-1',
  261. name: 'Menu1-2-1',
  262. meta: { title: 'Menu1-2-1' }
  263. },
  264. {
  265. path: 'menu1-2-2',
  266. component: 'views/nested/menu1/menu1-2/menu1-2-2',
  267. name: 'Menu1-2-2',
  268. meta: { title: 'Menu1-2-2' }
  269. }
  270. ]
  271. },
  272. {
  273. path: 'menu1-3',
  274. component: 'views/nested/menu1/menu1-3',
  275. name: 'Menu1-3',
  276. meta: { title: 'Menu1-3' }
  277. }
  278. ]
  279. },
  280. {
  281. path: 'menu2',
  282. name: 'Menu2',
  283. component: 'views/nested/menu2/index',
  284. meta: { title: 'Menu2' }
  285. }
  286. ]
  287. },
  288. {
  289. path: '/error',
  290. component: 'layout/Layout',
  291. redirect: 'noRedirect',
  292. name: 'ErrorPages',
  293. meta: {
  294. title: 'Error Pages',
  295. icon: '404'
  296. },
  297. children: [
  298. {
  299. path: '401',
  300. component: 'views/errors/401',
  301. name: 'Page401',
  302. meta: { title: 'Page 401', noCache: true }
  303. },
  304. {
  305. path: '404',
  306. component: 'views/errors/404',
  307. name: 'Page404',
  308. meta: { title: 'Page 404', noCache: true }
  309. }
  310. ]
  311. },
  312. {
  313. path: '/error-log',
  314. component: 'layout/Layout',
  315. redirect: 'noRedirect',
  316. children: [
  317. {
  318. path: 'log',
  319. component: 'views/error-log/index',
  320. name: 'ErrorLog',
  321. meta: { title: 'Error Log', icon: 'bug' }
  322. }
  323. ]
  324. },
  325. { path: '*', redirect: '/404', hidden: true }
  326. ]