微前端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)
    }
}
相关推荐
喝拿铁写前端20 分钟前
一套面向 Web、H5、小程序与 Flutter 的多端一致性技术方案
前端·架构
yaaakaaang25 分钟前
(一)前端,如此简单!---下载Nginx
前端·nginx
牛奶31 分钟前
为什么全国人民都能秒开同一个视频?
前端·http·cdn
KongHen021 小时前
uniapp-x实现自定义tabbar
前端·javascript·uni-app·unix
汪子熙1 小时前
TS2320 错误的本质、触发场景与在 Angular / RxJS 项目中的系统化应对
前端·javascript·angular.js
我命由我123451 小时前
React - BrowserRouter 与 HashRouter、push 模式与 replace 模式、编程式导航、withRouter
开发语言·前端·javascript·react.js·前端框架·html·ecmascript
Younglina1 小时前
用AI全自动生成连环画?我试了,效果惊艳!
前端·ai编程·claude
Devin_chen1 小时前
ES6 Class 渐进式详解
前端·javascript
小番茄夫斯基1 小时前
前端开发的过程中,需要mock 数据,但是走的原来的接口,要怎么做
前端·javascript
peachSoda72 小时前
前端想转AI全栈-初步练习记录
前端·人工智能