npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

vue-auth-control

v1.1.71

Published

vue-auth-control

Readme

vue-auth-control

npm version

vue项目, 路由控制方案,里面包含页面权限控制,单个按钮权限空

Install

npm install vue-auth-control --save

Usge


import {filterAsyncRouter, hasOneOf } from 'vue-auth-control'
 
const role = ['admin'];
const asyncRouterMap = [
  {
    path: '/permission',
    component: Layout,
    name: '权限测试',
    meta: { role: ['admin','super_editor'] }, //页面需要的权限
    children: [
    { 
      path: 'index',
      component: Permission,
      name: '权限测试页',
      meta: { role: ['admin','super_editor'] }  //页面需要的权限
    }]
  },
  { path: '*', redirect: '/404', hidden: true }
];

const filterRouter = filterAsyncRouter(asyncRouterMap, role )

const hasOneOfVal = hasOneOf(['admin', 'super_editor', ['admin']]) // true

API

filterAsyncRouter

这个是用来过滤路由的,返回的是在这权限内的路由

  • 参数
/**
 * 递归过滤异步路由表,返回符合用户角色权限的路由表
 * @param {Array} asyncRouterMap
 * @param {Array} roles 
 */

filterAsyncRouter(asyncRouterMap, roles)

hasOneOf

其实,就是一个查询数组内的元素是否在里面,返回false和true

/**
 * @param {Array} target 目标数组
 * @param {Array} arr 需要查询的数组
 * @description 判断要查询的数组是否至少有一个元素包含在目标数组中
 */

 hasOneOf(target, arr)