pure-admin九州权限系统地址简单读

news2024/11/18 22:59:36

分成页面权限(ex:权限管理page) & 标签节点权限(ex:下载按钮)

【九州地址娜娜手机𝕍找看看kwk3589提供】以下是范例:

/**
 * admin : 管理员角色
 * common : 普通角色
 */

const permissionRouter = {
  path: "/permission",
  meta: {
    title: "权限管理",
    icon: "lollipop",
    rank: 10
  },
  children: [
    {
      path: "/permission/page/index",
      name: "PermissionPage",
      meta: {
        title: "页面权限",
        roles: ["admin", "common"]
      }
    },
    {
      path: "/permission/button/index",
      name: "PermissionButton",
      meta: {
        title: "按钮权限",
        roles: ["admin", "common"],
        auths: ["btn_add", "btn_edit", "btn_delete"]
      }
    }
  ]
};

可以看到路由meta里面都有 roles 不同角色能观看不同网页page

auths则控制了该page哪些元素节点(ex:按钮) 是否会出现

 

共有3个控管方式

1.元件包住

2.v-if="hasAuth('btn_add')" v-if判断

3.自订指令方式(了解directives )

3个都支援传入字串&阵列字串

程式码范例

<script setup lang="ts">
import { type CSSProperties, computed } from "vue";
import { hasAuth, getAuths } from "@/router/utils";

defineOptions({
  name: "PermissionButton"
});

const elStyle = computed((): CSSProperties => {
  return {
    width: "85vw",
    justifyContent: "start"
  };
});
</script>

<template>
  <el-space direction="vertical" size="large">
    <el-tag :style="elStyle" size="large" effect="dark">
      当前拥有的code列表:{{ getAuths() }}
    </el-tag>

    <el-card shadow="never" :style="elStyle">
      <template #header>
        <div class="card-header">组件方式判断权限</div>
      </template>
      <Auth :value="['btn_add', 'btn_edit', 'btn_delete']">
        <el-button type="danger">
          拥有code:['btn_add', 'btn_edit', 'btn_delete'] 权限可见
        </el-button>
      </Auth>
    </el-card>

    <el-card shadow="never" :style="elStyle">
      <template #header>
        <div class="card-header">函数方式判断权限</div>
      </template>
      <el-button
        type="danger"
        v-if="hasAuth(['btn_add', 'btn_edit', 'btn_delete'])"
      >
        拥有code:['btn_add', 'btn_edit', 'btn_delete'] 权限可见
      </el-button>
    </el-card>

    <el-card shadow="never" :style="elStyle">
      <template #header>
        <div class="card-header">
          指令方式判断权限(该方式不能动态修改权限)
        </div>
      </template>
      <el-button type="danger" v-auth="['btn_add', 'btn_edit', 'btn_delete']">
        拥有code:['btn_add', 'btn_edit', 'btn_delete'] 权限可见
      </el-button>
    </el-card>
  </el-space>
</template>

页面后端控制,元素节点会耦合所以btn_add btn_edit,这类的关键字要统一,若后端改了前端会不支援。

构思实际使用

前端打API 登入,取得该帐号的路由表(包含页面权限+元素节点权限)

这样后台要有

0. 功能列表(功能crud)

1.角色管理(角色crud) 该角色有哪些功能(ex: 新增,删除,修改,阅读,下载,列印...etc)

2.帐号管理(帐号crud) 该帐号有哪些角色若有2个角色会做功能联集

会需要知道路由meta作者定义哪些关键字:


/**
//统整需要的栏位 不包含关联
// pure-admin v3.9以上
// 爸爸
1.id
2.path string
3.name string
meta
  4.title string
  5.icon string
  6.showLink boolean
  7.rank number(越小越上面)

//非爸爸 子路由
1.id
2.path string
3.name string
meta
  4.title string
  5.icon string
  6.showLink boolean
  7.roles Array<string>
  8.auths Array<string>
  9.hiddenTag boolean (当前菜单名称 禁止添加到标签页)

 */
 
 共计10个,主要以子路由为主(9) + 顶路由的rank(1)

其他前端用不到的栏位:

isEnabled: 1, 是否启用
menuFunctionIdOfParent: 1, 爸爸是谁
isFather: 1, 是否是爸爸
isChuild: 0, 是否是小孩

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/419225.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++之入门之缺省参数函数重载引用

文章目录前言一、缺省参数1.缺省参数的概念2.缺省函数的分类&#xff08;1&#xff09;全缺省参数&#xff08;2&#xff09;半缺省参数3.使用注意二、函数重载1.函数重载的概念3.函数重载的原理--名字修饰(name Mangling)三、引用1.引用的概念2.引用特性3.引用的使用前言 重新…

工地人员工装穿戴识别系统 opencv

工地人员工装穿戴识别系统通过pythonopencv网络模型AI视频智能分析技术&#xff0c;工地人员工装穿戴识别算法模型可对施工现场人员是否佩戴合规穿戴进行自动识别预警。OpenCV的全称是Open Source Computer Vision Library&#xff0c;是一个跨平台的计算机视觉处理开源软件库&…

堆来咯!!!

堆是什么&#xff1f; 是土堆吗&#xff1f; 那当然不是啦~ 堆是一种被看作完全二叉树的数组。 那么什么是完全二叉树呢&#xff1f; 如果二叉树中除去最后一层节点为满二叉树&#xff0c;且最后一层的结点依次从左到右分布&#xff0c;则此二叉树被称为完全二叉树。 堆的特…

开源自动化测试框架有哪些?怎么选择适合自己的

目录 前言 一、Selenium 二、Appium 三、Robot Framework 四、Cypress 五、TestCafe 六、Nightwatch.js 七、JUnit 八、Pytest 总结&#xff1a; 前言 开源自动化测试框架是现代软件开发和测试领域中不可或缺的一部分。它们使得测试人员能够快速、准确地执行测试用例…

Mysql(十) -- 常见问题处理

1. MySQL数据库cpu飙升的话你会如何分析 重点是定位问题。 使用top观察mysqld的cpu利用率 切换到常用的数据库使用show full processlist;查看会话观察是哪些sql消耗了资源&#xff0c;其中重点观察state指标定位到具体sql pidstat 定位到线程在PERFORMANCE_SCHEMA.THREADS中…

HuggingGPT强势来袭,LLM+专家模型,迈向更通用的AI

出品人&#xff1a;Towhee 技术团队 超级组合&#xff1a;HuggingFace ChatGPT HuggingGPT强势来袭。人类仿佛距离真正的AGI又更近了一步。 HuggingGPT是浙江大学与微软亚洲研究院的联手研究&#xff0c;发布之后迅速引发关注&#xff0c;已经开源。 它的使用非常简单&#x…

计算机时间旅行者:NTP如何帮助计算机在时间上保持同步?

应用场景&#xff1a; NTP&#xff08;网络时间协议&#xff09;是一种用于同步计算机时钟的协议&#xff0c;它可以让多台计算机在网络上保持同步的时间。因此&#xff0c;NTP可以应用于各种需要时间同步的应用程序中&#xff0c;例如&#xff1a; 计算机网络&#xff1a;在…

《花雕学AI》20:ChatGPT使用之体验评测AI EDU的网页版+桌面端+Android+App store组合

最近准备出门&#xff0c;要去新疆哈密参加活动&#xff0c;一直在寻找手机上可用的AI移动端。昨天在网上偶然找到了AI EDU&#xff08;这个不是 MSRA 创立的人工智能开源社区&#xff09;&#xff0c;其链接是&#xff1a;https://ai.aigcfun.com&#xff0c;今天就尝试做个相…

三菱FX2N PLC与昆仑通态(MCGS)之间无线通讯

三菱FX2N PLC与昆仑通态&#xff08;MCGS&#xff09;之间建立无线通讯&#xff0c;其实就是昆仑通态使用三菱 PLC FX2N 通信口扩展 485 接口通过专用协议对 PLC 站点相应寄存器进行读写操作&#xff0c; 从而实现对站点工作状态的控制。 这种情况下&#xff0c;可以使用三菱PL…

ChatGPT对我们的影响-ChatGPT能给我们带来什么

ChatGPT日常应用 ChatGPT是一种应用广泛的自然语言处理算法&#xff0c;其可以应用于多种日常场景。以下是一些ChatGPT的日常应用&#xff1a; 聊天机器人&#xff1a;ChatGPT可用于构建聊天机器人&#xff0c;通过与用户进行自然语言交互来提供个性化的服务和支持。 新闻稿和…

配置springboot的静态资源访问地址为本机,并使用docker部署

springboot版本 2.7.4开发工具 IDEA 2021.2.4 1. SpringBoot提供的默认静态资源访问方法 resouces目录下的 /static、 /public、 /resouces、 /META-INF/resouces、这四个目录下放置的静态资源都可以通过直接通过以下链接访问 http://localhost:8080/aaa.png 2. 将SpringBoo…

入门力扣自学笔记256 C++ (题目编号:1019)

1019. 链表中的下一个更大节点 题目&#xff1a; 给定一个长度为 n 的链表 head 对于列表中的每个节点&#xff0c;查找下一个 更大节点 的值。也就是说&#xff0c;对于每个节点&#xff0c;找到它旁边的第一个节点的值&#xff0c;这个节点的值 严格大于 它的值。 返回一…

C++中COM组件管理思想实践

在开发一个产品时&#xff0c;其往往有很多子模块&#xff0c;子业务和子功能&#xff0c;这些都可以抽象成组件&#xff08;C中本质表现就是一个类&#xff09;。但是如何更好的管理这些类的对象呢&#xff1f;我们可以借鉴微软的COM组件思想来进行对象的注册&#xff0c;创建…

OpenHarmony标准系统开机时长优化

简介 万物互联时代&#xff0c;产品性能至关重要&#xff0c;而系统启动时间是系统性能的重要组成部分&#xff0c;因为用户必须等待系统启动完成后才能使用设备。对于经常需要进行冷启动的汽车等设备而言&#xff0c;较短的启动时间至关重要&#xff08;没有人喜欢在等待几十秒…

如何手写一个文件索引工具everything(第一章)

第一章&#xff08;NTFS格式及USN日志&#xff09; 背景介绍 Windows平台的Everything文件查找速度非常快&#xff0c;优势在于利用了NTFS的USN日志&#xff0c;以及Windows上的文件监测机制我们也可以仿照类似原理&#xff0c;通过查询USN日志、监测Windows平台文件修改、使…

亚马逊卖家如何用facebook推广?

亚马逊作为全球最大的电商平台之一&#xff0c;吸引了大量的卖家和买家。对于亚马逊的卖家而言&#xff0c;如何进行有效的推广和引流成为了他们最关心的问题之一。其中&#xff0c;利用Facebook广告为亚马逊进行推广是一种较为常见的做法。 但是&#xff0c;亚马逊可以用Face…

springboot实现修改用户信息功能

目录 1、UserEntity层 2、UserMapper层 3、UserService层 4、UserController类 5、Postman测试 要实现修改用户信息的功能&#xff0c;需要编写对应的代码&#xff1a; 如&#xff1a; 在UserEntity中定义用户实体类的属性。 在UserMapper中编写修改用户的SQL语句&#…

【C++】哈希的应用 -- 布隆过滤器

文章目录一、布隆过滤器的引入二、哈希函数个数的选择三、布隆过滤器的实现四、布隆过滤器的应用五、布隆过滤器总结一、布隆过滤器的引入 我们在上一节中学习了 位图&#xff0c;知道了位图可以用来快速判断某个数据是否在一个集合中&#xff0c;但是位图有如下的缺点&#x…

Qemu虚拟机读取物理机的物理网卡的流量信息方法

项目背景&#xff1a; 比如我有三个项目 A&#xff0c;B&#xff0c;C&#xff1b;其中A项目部署在物理机上&#xff0c;B&#xff0c;C项目部署在 虚拟机V1,V2中&#xff0c;三个项目接口需要相互调用。 需要解决的问题点&#xff1a; 1&#xff0c;因为A&#xff0c;B&#x…

2016-2017 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2016)题解

2016-2017 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2016) A - Artwork 题目描述&#xff1a; 给定N*M的网格&#xff0c;给出Q次询问&#xff0c;每次询问都给出一个小矩阵&#xff0c;保证每个矩阵要么长为1&#xff0c;要么宽为1&#xff0c;将网格中矩阵部…