routes.ts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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/list',
  54. name: 'peak_list',
  55. component: './Peak/Peak',
  56. },
  57. ],
  58. },
  59. {
  60. path: '/settings',
  61. name: 'settings',
  62. icon: 'crown',
  63. routes: [
  64. {
  65. path: '/settings',
  66. redirect: '/settings/members',
  67. },
  68. {
  69. path: '/settings/staff',
  70. name: 'staff',
  71. component: './Settings/Staff',
  72. },
  73. {
  74. path: '/settings/users',
  75. name: 'users',
  76. component: './Settings/Users',
  77. },
  78. {
  79. path: '/settings/role',
  80. name: 'role',
  81. component: './Settings/Role',
  82. },
  83. {
  84. path: '/settings/menu',
  85. name: 'menu',
  86. component: './Settings/Menu',
  87. },
  88. {
  89. path: '/settings/settings',
  90. name: 'settings',
  91. component: './Settings/Settings',
  92. },
  93. ],
  94. },
  95. {
  96. path: '/',
  97. redirect: '/welcome',
  98. },
  99. {
  100. path: '*',
  101. layout: false,
  102. component: './404',
  103. },
  104. ];