routes.ts 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. /**
  2. * @name umi 的路由配置
  3. * @description 只支持 path,component,routes,redirect,wrappers,name,icon 的配置
  4. * @param path path 只支持两种占位符配置,第一种是动态参数 :id 的形式,第二种是 * 通配符,通配符只能出现路由字符串的最后。
  5. * @param component 配置 location 和 path 匹配后用于渲染的 React 组件路径。可以是绝对路径,也可以是相对路径,如果是相对路径,会从 src/pages 开始找起。
  6. * @param routes 配置子路由,通常在需要为多个路径增加 layout 组件时使用。
  7. * @param redirect 配置路由跳转
  8. * @param wrappers 配置路由组件的包装组件,通过包装组件可以为当前的路由组件组合进更多的功能。 比如,可以用于路由级别的权限校验
  9. * @param name 配置路由的标题,默认读取国际化文件 menu.ts 中 menu.xxxx 的值,如配置 name 为 login,则读取 menu.ts 中 menu.login 的取值作为标题
  10. * @param icon 配置路由的图标,取值参考 https://ant.design/components/icon-cn, 注意去除风格后缀和大小写,如想要配置图标为 <StepBackwardOutlined /> 则取值应为 stepBackward 或 StepBackward,如想要配置图标为 <UserOutlined /> 则取值应为 user 或者 User
  11. * @doc https://umijs.org/docs/guides/routes
  12. */
  13. export default [
  14. {
  15. path: '/user',
  16. layout: false,
  17. routes: [
  18. {
  19. name: 'login',
  20. path: '/user/login',
  21. component: './User/Login',
  22. },
  23. ],
  24. },
  25. {
  26. path: '/welcome',
  27. name: 'welcome',
  28. icon: 'smile',
  29. component: './Welcome',
  30. },
  31. {
  32. path: '/content',
  33. name: 'content',
  34. icon: 'table',
  35. routes: [
  36. {
  37. path: '/content',
  38. redirect: '/content/headlines',
  39. },
  40. {
  41. path: '/content/headlines',
  42. name: 'headlines',
  43. component: './Content/HeadLines',
  44. },
  45. ],
  46. },
  47. {
  48. path: '/peak',
  49. name: 'peak',
  50. icon: 'crown',
  51. routes: [
  52. {
  53. path: '/peak/peaks',
  54. name: 'peaks',
  55. component: './Peak/Peak',
  56. },
  57. {
  58. path: '/peak/peakLevel',
  59. name: 'peakLevel',
  60. component: './Peak/PeakLevel',
  61. },
  62. ],
  63. },
  64. {
  65. path: '/user',
  66. name: 'user',
  67. icon: 'crown',
  68. routes: [
  69. {
  70. path: '/user/users',
  71. name: 'users',
  72. component: './User/Users',
  73. },
  74. {
  75. path: '/user/userLevel',
  76. name: 'userLevel',
  77. component: './User/UserLevel',
  78. },
  79. {
  80. path: '/user/factionLevel',
  81. name: 'factionLevel',
  82. component: './User/FactionLevel',
  83. },
  84. ],
  85. },
  86. {
  87. path: '/settings',
  88. name: 'settings',
  89. icon: 'crown',
  90. routes: [
  91. {
  92. path: '/settings',
  93. redirect: '/settings/members',
  94. },
  95. {
  96. path: '/settings/staff',
  97. name: 'staff',
  98. component: './Settings/Staff',
  99. },
  100. {
  101. path: '/settings/role',
  102. name: 'role',
  103. component: './Settings/Role',
  104. },
  105. {
  106. path: '/settings/menu',
  107. name: 'menu',
  108. component: './Settings/Menu',
  109. },
  110. {
  111. path: '/settings/settings',
  112. name: 'settings',
  113. component: './Settings/Settings',
  114. },
  115. ],
  116. },
  117. {
  118. path: '/',
  119. redirect: '/welcome',
  120. },
  121. {
  122. path: '*',
  123. layout: false,
  124. component: './404',
  125. },
  126. ];