router.config.js 6.94 KB
Newer Older
1
export default [
2 3 4
  // user
  {
    path: '/user',
5
    component: '../layouts/UserLayout',
6 7
    routes: [
      { path: '/user', redirect: '/user/login' },
8
      { path: '/user/login', component: './User/Login' },
9 10 11 12 13 14 15
      { path: '/user/register', component: './User/Register' },
      { path: '/user/register-result', component: './User/RegisterResult' },
    ],
  },
  // app
  {
    path: '/',
afc163's avatar
afc163 committed
16
    component: '../layouts/BasicLayout',
afc163's avatar
afc163 committed
17
    Routes: ['src/pages/Authorized'],
18
    authority: ['admin', 'user'],
19 20 21 22 23 24 25 26
    routes: [
      // dashboard
      { path: '/', redirect: '/dashboard/analysis' },
      {
        path: '/dashboard',
        name: 'dashboard',
        icon: 'dashboard',
        routes: [
afc163's avatar
afc163 committed
27 28 29 30 31
          {
            path: '/dashboard/analysis',
            name: 'analysis',
            component: './Dashboard/Analysis',
          },
32 33 34 35 36 37 38 39 40 41
          {
            path: '/dashboard/monitor',
            name: 'monitor',
            component: './Dashboard/Monitor',
          },
          {
            path: '/dashboard/workplace',
            name: 'workplace',
            component: './Dashboard/Workplace',
          },
42 43 44 45 46 47 48 49
        ],
      },
      // forms
      {
        path: '/form',
        icon: 'form',
        name: 'form',
        routes: [
afc163's avatar
afc163 committed
50 51 52 53 54
          {
            path: '/form/basic-form',
            name: 'basicform',
            component: './Forms/BasicForm',
          },
55 56 57 58
          {
            path: '/form/step-form',
            name: 'stepform',
            component: './Forms/StepForm',
afc163's avatar
afc163 committed
59
            hideChildrenInMenu: true,
60
            routes: [
afc163's avatar
afc163 committed
61 62 63 64 65 66 67 68 69
              {
                path: '/form/step-form',
                redirect: '/form/step-form/info',
              },
              {
                path: '/form/step-form/info',
                name: 'info',
                component: './Forms/StepForm/Step1',
              },
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
              {
                path: '/form/step-form/confirm',
                name: 'confirm',
                component: './Forms/StepForm/Step2',
              },
              {
                path: '/form/step-form/result',
                name: 'result',
                component: './Forms/StepForm/Step3',
              },
            ],
          },
          {
            path: '/form/advanced-form',
            name: 'advancedform',
85
            authority: ['admin'],
86 87 88 89 90 91 92 93 94 95
            component: './Forms/AdvancedForm',
          },
        ],
      },
      // list
      {
        path: '/list',
        icon: 'table',
        name: 'list',
        routes: [
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
          {
            path: '/list/table-list',
            name: 'searchtable',
            component: './List/TableList',
          },
          {
            path: '/list/basic-list',
            name: 'basiclist',
            component: './List/BasicList',
          },
          {
            path: '/list/card-list',
            name: 'cardlist',
            component: './List/CardList',
          },
111 112 113 114 115
          {
            path: '/list/search',
            name: 'searchlist',
            component: './List/List',
            routes: [
JoeyKo's avatar
JoeyKo committed
116 117 118 119
              {
                path: '/list/search',
                redirect: '/list/search/articles',
              },
120 121 122 123 124 125 126 127 128 129
              {
                path: '/list/search/articles',
                name: 'articles',
                component: './List/Articles',
              },
              {
                path: '/list/search/projects',
                name: 'projects',
                component: './List/Projects',
              },
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
              {
                path: '/list/search/applications',
                name: 'applications',
                component: './List/Applications',
              },
            ],
          },
        ],
      },
      {
        path: '/profile',
        name: 'profile',
        icon: 'profile',
        routes: [
          // profile
145 146 147 148 149 150 151 152
          {
            path: '/profile/basic',
            name: 'basic',
            component: './Profile/BasicProfile',
          },
          {
            path: '/profile/advanced',
            name: 'advanced',
153
            authority: ['admin'],
154 155
            component: './Profile/AdvancedProfile',
          },
156 157 158 159 160 161 162 163
        ],
      },
      {
        name: 'result',
        icon: 'check-circle-o',
        path: '/result',
        routes: [
          // result
164 165 166 167 168
          {
            path: '/result/success',
            name: 'success',
            component: './Result/Success',
          },
169 170 171 172 173 174 175 176 177
          { path: '/result/fail', name: 'fail', component: './Result/Error' },
        ],
      },
      {
        name: 'exception',
        icon: 'warning',
        path: '/exception',
        routes: [
          // exception
178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
          {
            path: '/exception/403',
            name: 'not-permission',
            component: './Exception/403',
          },
          {
            path: '/exception/404',
            name: 'not-find',
            component: './Exception/404',
          },
          {
            path: '/exception/500',
            name: 'server-error',
            component: './Exception/500',
          },
193 194 195 196
          {
            path: '/exception/trigger',
            name: 'trigger',
            hideInMenu: true,
afc163's avatar
afc163 committed
197
            component: './Exception/TriggerException',
198 199 200 201 202 203 204 205 206 207 208 209 210
          },
        ],
      },
      {
        name: 'account',
        icon: 'user',
        path: '/account',
        routes: [
          {
            path: '/account/center',
            name: 'center',
            component: './Account/Center/Center',
            routes: [
afc163's avatar
afc163 committed
211 212 213 214
              {
                path: '/account/center',
                redirect: '/account/center/articles',
              },
215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
              {
                path: '/account/center/articles',
                component: './Account/Center/Articles',
              },
              {
                path: '/account/center/applications',
                component: './Account/Center/Applications',
              },
              {
                path: '/account/center/projects',
                component: './Account/Center/Projects',
              },
            ],
          },
          {
            path: '/account/settings',
            name: 'settings',
            component: './Account/Settings/Info',
            routes: [
afc163's avatar
afc163 committed
234 235 236 237
              {
                path: '/account/settings',
                redirect: '/account/settings/base',
              },
238 239 240 241 242 243 244 245
              {
                path: '/account/settings/base',
                component: './Account/Settings/BaseView',
              },
              {
                path: '/account/settings/security',
                component: './Account/Settings/SecurityView',
              },
afc163's avatar
afc163 committed
246 247 248 249
              {
                path: '/account/settings/binding',
                component: './Account/Settings/BindingView',
              },
250 251 252 253 254 255 256 257
              {
                path: '/account/settings/notification',
                component: './Account/Settings/NotificationView',
              },
            ],
          },
        ],
      },
258 259 260
      {
        component: '404',
      },
261 262 263
    ],
  },
];