##### router 规则

```
   {
       path[*1]: '/子系统名字/项目名字',
       name: '子系统名字-项目名字',
       meta[*2]: {
           title: '', // 名字
           icon: 'icon-liebiao', // 图标
           onlyOne： boolean, // 当前目录只有一级时使用，即没有下拉箭头
           roles: { // 权限
                page： 'xx', 菜单权限
                btnRoles: {} // 按钮权限
           }
       },
       redirect: '/子系统名字/项目名字/自定义',
       component[*4]: () => import('@/layouts/content.vue'), // 这个一般不变
       children[*5]: [
           {
               path: '/子系统名字/项目名字/自定义',
               name: '子系统名字-项目名字-自定义',
               meta[*2]: {
                   title: 'xxx',
                   layout： string, 当前路由需要的布局方式，默认为default
                   noBread: boolean, 是否需要统一的面包屑，默认为false 需要
                   margin0：boolean, 是否去掉自带的margin值，默认为false 不去掉
                   padding0：boolean, 是否去掉自带的padding值，默认为false 不去掉
                   depend: boolean 是否当先路由不展示在侧边栏，常见于详情，需与bread一起使用，用于自动返回
                   hidden: boolean 是否不展示在侧边栏，默认为false 展示
                   bread： jsonArray
                   {
                       name: 'xx'，高亮于侧边栏的路由name值， 用于返回
                       title: '', 高亮于侧边栏的路由title值
                   }
               },
               component[*7]: () =>
                   import('@/views/xxx/xxx.vue'),
           },
       ],
   }

   注：
   [1]: path命名规则：项目名/目录名/自定义， 项目名不能重复，每一个path必须是项目名开头
```
