当前位置: 首页 > news >正文

Vue 根据权限过滤菜单

import { RouteRecordRaw } from "vue-router";
//privateRoutes 前端配置好的JS菜单,权限控制由前端控制,【后端省事】
import { constantRoutes, privateRoutes } from "@/router";
import { store } from "@/store";
import router from "@/router";import MenuAPI, { type RouteVO } from "@/api/system/menu"; 
import { MenuInfo } from "@/api/auth";
const modules = import.meta.glob("../../views/**/**.vue");
const Layout = () => import("@/layout/index.vue");const menuList = useStorage<MenuInfo[]>("menuList", []);export const usePermissionStore = defineStore("permission", () => {// 储所有路由,包括静态路由和动态路由const routes = ref<RouteRecordRaw[]>([]);// 混合模式左侧菜单路由const mixedLayoutLeftRoutes = ref<RouteRecordRaw[]>([]);// 路由是否加载完成const isRoutesLoaded = ref(false);// 筛选出有权限的菜单const filterPrivateRoutes = ref<RouteRecordRaw[]>([]);function generateRoutes() {return new Promise<RouteRecordRaw[]>((resolve, reject) => {console.log("menuList", menuList);//过滤出有权限的菜单privateRoutes.forEach((item) => {// code 是新增的字段,不好定义VO,没办法做到 IDEA 不提示红色【不影响使用】if (menuList.value.find((p) => p.Code === item.code)) {console.log("item.code", item.code);filterPrivateRoutes.value.push(item);}});console.log("filterPrivateRoutes", filterPrivateRoutes.value);//要测试时再放开//routes.value = [...constantRoutes, ...privateRoutes];routes.value = [...constantRoutes, ...filterPrivateRoutes.value];isRoutesLoaded.value = true;resolve(privateRoutes);//不从服务器获取// MenuAPI.getRoutes()//   .then((data) => {//     const dynamicRoutes = parseDynamicRoutes(data);//     routes.value = [...constantRoutes, ...dynamicRoutes, ...privateRoutes];//     //routes.value = [...constantRoutes, ...privateRoutes]; //去掉 dynamicRoutes 隐藏 原始菜单//     isRoutesLoaded.value = true;//     resolve(dynamicRoutes);//   })//   .catch((error) => {//     reject(error);//   });});}
http://www.sczhlp.com/news/28226/

相关文章:

  • NoSQLBooster for mac 破解(win同理) 版本10.0.5 (10.0.5)
  • Transformer模型中的线性层与激活函数解析
  • NVIDIA系统级性能分析工具Nsight Systems入门详解
  • 河南省建设厅网站103号文件优化设计三年级上册语文答案
  • 免费英文网站建设新能源汽车公司
  • 有哪些可以做网站的企业aso平台
  • mui做浏览器网站跳转陕西网页设计
  • dede二手车网站源码线上营销推广方法
  • 南昌哪里可以做企业网站网站软件推荐
  • 做一个网购平台多少钱西安seo服务公司排名
  • 如何做网站轮播大图百度竞价代运营
  • 企业网站开发制作seo零基础视频教程
  • 安徽做网站网络广告一般是怎么收费
  • 网站需求分析报告范文江门网站开发多少钱
  • 做养生的网站多吗凡科网小程序
  • 外贸网站怎样做爱网站查询
  • 如何做移动支付网站app地推接单平台
  • 手机怎么做动漫微电影网站百度极速版免费下载安装
  • 做网站前的准备什么软件新闻软文推广案例
  • 做外贸的物流网站有哪些什么叫做优化
  • AI Compass前沿速览:Qoder Agentic编程、vivo Vision头显、AIRI桌面伴侣、RM-Gallery奖励模型平台、Sim-Agent工作流
  • NET JWT设置时钟偏差 - Robot
  • 那里有做网站的百度帐号申请注册
  • 成都少儿编程培训机构网站关键词优化有用吗
  • 营销型网站服务上海知名网站制作公司
  • 深圳市建设工程造价站官网排名查询
  • 公司网站制作 步骤第一设计
  • CVE是什么?常见漏洞披露概述
  • 上海网站建设公司网站建设线上销售平台如何推广
  • 商标设计网站主要提供哪些服务汕头网站建设方案维护