zoukankan      html  css  js  c++  java
  • vue路由权限之访问权限(meta控制是否有访问权限)

    首先登录那权限表

    router.beforeEach((to, from, next) => {
        if(to.path === '/login') {
            next();
        }else{
                if(!store.getters.token){
                  ..........此处省略
               }else{
                    if(checkRoutePermission(to,store.getters.permission){
                          //登录的时候拿到permission(权限表)
                          next();
                    }else {
                next('/error/502');//没有权限被输入权限路由跳错误页面
              }
               }
    })
    

    //回调函数

    function checkRoutePermission(to,permissionList){

    let isValidate=true;

    to.matched.some(routeItem=>{

    //全遍历路由记录的元字段

    if(routeItem.meta.permissionPath){

    isValidate=checkPermission(permissionList,routeItem.meta.permissionPath)!==null;

    }

    });

    return isValidate;

    }

     

    //过滤权限的函数

    export function checkPermission(permissionList,permissionPath){
    let target=null;
    permissionList.forEach(permissionItem=>{
    if(permissionItem.path===permissionPath){
    target=permissionItem;
    return false;
    }else{
    if(permissionItem.children && permissionItem.children.length!==0){
    target=checkPermission(permissionItem.children, permissionPath);
    return target===null;
            }
    }
    })
    return target;
    }
  • 相关阅读:
    数据加载存储和文件格式
    基本概率分布图的绘制
    pandas处理各类表格数据
    python时间处理
    matplotlib实现数据可视化
    sql学习笔记:表的运算
    sql杂记:一些坑和数据库恢复
    exists关键词和case表达式
    后台工具screen
    SQL函数小记
  • 原文地址:https://www.cnblogs.com/zhihou/p/9371605.html
Copyright © 2011-2022 走看看