微前端qiankun动态路由权限设计与数据通信方案

思路:

权限控制中心化:主应用负责统一的管理权限,子路由上报路由信息

动态路由加载:根据用户权限动态注册可用路由

数据通信机制

主应用和子应用:通过qiankun提供的props和全局状态

子应用和子应用:通过全局事件总线或状态管理

代码实现:

主应用配置:路由权限管理(src/permission.js)

复制代码
import {asyncRoutes} from './router'
import {getPermissionFromApi} from '@/api/auth'

const permission = {
    state: {
        routes: [],
        addRoutes: []
    },
    mutations:{
        SET_ROUTES:(state,routes) => {
            state.addRoutes = routes
            state.routes = constantRoutes.concat(routes)
        }
    },
    actions:{
        // 生成动态路由
        GenerateRoutes({commit},roles)
    }
}
相关推荐
喜欢的名字被抢了1 小时前
写-Chrome-扩展时踩过的那些-MV3-的坑
前端·chrome
网安老伯1 小时前
网络安全基础要点知识介绍(非常详细),零基础入门到精通,看这一篇就够了
运维·前端·网络协议·web安全·网络安全·职场和发展
wuqingshun3141591 小时前
springBoot是如何通过main方法启动web项目的?
前端·spring boot·后端
xxwl5851 小时前
HTML 小总结:从骨架到枝叶,系统掌握网页结构
前端·html
●VON1 小时前
鸿蒙 PC Markdown 编辑器 Bridge 协议:原生外壳与 Web 内核的状态同步
前端·华为·编辑器·harmonyos·鸿蒙
MrDJun2 小时前
分享一款免费实用的网页变动监控工具:PageWatch.tech
前端·javascript·vue.js
米码收割机2 小时前
【web】邻里悦站—社区便民服务平【独一无二】(源码+说明文档)
前端
程序员爱钓鱼2 小时前
Rust Option 详解:安全处理“可能存在,也可能不存在”的值
前端·后端·rust
程序员爱钓鱼2 小时前
Go Modules 包管理详解:go.mod、go.sum 与依赖管理
前端·后端·go
qq_5896660510 小时前
TypeScript 完整入门教程
前端·javascript·typescript