《VUE权限管理 -阳光下的小幸福》学习笔记

相关视频请到B站自行搜索,免费教程实属不易.相关文档参考 应属同一资源  gitee 代码 

更正与批注,最后有一处报错

src\pages\login\index.vue

async login() {
    // 网络请求
    let data = await login(this.account);
    let token = data.token;
    // 本地  vuex
    this.$store.commit('LOGIN_IN',token);
    //this.$router.replace("/") // vue-router 3.1 会报错,调整为下面代码
    this.$router.push({ path:"/"},()=>{})
}

 【VueRouter核心思想】: VueRouter引擎使用请求的URL数据与VueRouter中的路由表进行相关处理,换个角度说,浏览器中URL值会被作为VueRouter引擎输入值,根据URL与路由的匹配规则,决定使用哪条路由处理相关的URL, 并且那条由路记录对象中设置了使用哪个vue页面组件.

按如下目录结构设计VueRouter所对应的路由表结构

首页 /home
订单管理
    订单列表 /order/list
    生成管理
        生成列表 /order/product/list
        审核管理 /order/product/review
    退货管理 /order/returnGoods
产品管理
    产品列表  /goods/list
    产品分类  /goods/classify

要求当访问根路径(path:"")重定向(redirect)到路径home, 根路径(path:"")对应布局页面组件(component:Layout)

路由第一部分  /src/router/index.js 

export const DynamicRoutes = [
    {
        path:"",
        component:Layout,//src\pages\layout\index.vue 它又包含左侧导航导航菜单sidebarNave; 右边主内容区 mainContent
        name:'container',
        redirect:"home",
        meta:{
            requiresAuth:true,
            name:"首页"
        },
        children:[
            {
                path:"home",
                component:Home,
                name:"home",
                meta:{
                    // 匹配规则
                    name:"首页",
                    icon:"icon-name"
                }
            }
        ]
    },
    {
        path:"/403",
        component:Forbidden
    },
    {
        path:"*",
        component:NotFound
    }
]

 路由第二部分  src\router\dynamic-router.js 

 1 const dynamicRoutes = [
 2     {
 3         path: '/order',
 4         component: Order,
 5         name: 'order-manage',
 6         meta: {
 7             name: '订单管理',
 8             icon: 'icon-email'
 9         },
10         children: [
11             {
12                 path: 'list',
13                 name: 'order-list',
14                 component: OrderList,
15                 meta: {
16                     name: '订单列表',
17                     icon: 'icon-quit'
18                 }
19             },
20             {
21                 path: 'product',
22                 name: 'product-manage',
23                 component: ProductManage,
24                 meta: {
25                     name: '生产管理',
26                     icon: 'icon-service'
27                 },
28                 children: [
29                     {
30                         path: 'list',
31                         name: 'product-list',
32                         component: ProductionList,
33                         meta: {
34                             name: '生产列表',
35                             icon: 'icon-nav'
36                         }
37                     },
38                     {
39                         path: 'review',
40                         name: 'review-manage',
41                         component: ReviewManage,
42                         meta: {
43                             name: '审核管理',
44                             icon: 'icon-finance-manage'
45                         }
46                     }
47                 ]
48             },
49             {
50                 path: 'returnGoods',
51                 name: 'return-goods',
52                 component: ReturnGoods,
53                 meta: {
54                     name: '退货管理',
55                     icon: 'icon-product-manage'
56                 }
57             }
58         ]
59     },
60     {
61         path: '/goods',
62         component: Goods,
63         name: 'goods',
64         meta: {
65             name: '产品管理',
66             icon: 'icon-order-manage'
67         },
68         children: [
69             {
70                 path: 'list',
71                 name: 'goods-list',
72                 component: GoodsList,
73                 meta: {
74                     name: '产品列表',
75                     icon: 'icon-home'
76                 }
77             },
78             {
79                 path: 'classify',
80                 name: 'goods-classify',
81                 component: GoodsClassify,
82                 meta: {
83                     name: '产品分类',
84                     icon: 'icon-product-manage'
85                 }
86             }
87         ]
88     }
89 ]

 

posted @ 2021-06-11 15:00  轴轴  阅读(65)  评论(0编辑  收藏  举报