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

pureadmin的动态路由和静态路由

在 PureAdmin(基于 Vue3 的后台管理框架)中,静态路由动态路由是实现路由管理的两种方式,主要区别在于路由的定义时机、加载方式和灵活性,具体区别如下:

1. 静态路由

  • 定义方式:路由规则在代码中硬编码,在项目打包时就已经确定,不会随用户或权限变化。
  • 特点
    • 写死在代码中(通常在 router/modules 目录下),例如登录页、404 页、首页等公共页面。
    • 不需要后端接口支持,加载速度快。
    • 对所有用户可见(除非通过前端逻辑手动过滤)。
  • 示例(PureAdmin 中):
    // router/modules/static.js
    export default [{path: '/login',name: 'Login',component: () => import('@/pages/login/index.vue'),meta: { title: '登录', hidden: true }},{path: '/404',name: '404',component: () => import('@/pages/error/404.vue'),meta: { title: '页面不存在', hidden: true }}
    ]
    

2. 动态路由

  • 定义方式:路由规则不在代码中硬编码,而是根据用户权限后端返回数据动态生成,在用户登录后通过接口获取并添加到路由系统中。
  • 特点
    • 路由规则由后端接口返回(例如根据用户角色返回可访问的菜单),前端动态注册。
    • 支持精细化权限控制,不同用户看到的路由(菜单)不同。
    • 需配合权限管理系统使用,灵活性高。
  • 示例流程(PureAdmin 中):
    1. 用户登录后,前端调用接口获取该用户的权限路由列表。
    2. 前端将后端返回的路由数据(通常是 JSON 格式)转换为 Vue Router 可识别的路由配置。
    3. 通过 router.addRoute() 方法动态添加路由。
    4. 菜单组件根据动态生成的路由自动渲染侧边栏。

核心区别对比

维度静态路由动态路由
定义时机项目打包时固定用户登录后动态获取
数据来源前端代码硬编码后端接口返回(基于用户权限)
权限关联性不依赖权限,对所有用户可见与用户权限强关联,按需返回
灵活性固定不变,修改需重新打包可实时调整,无需重新打包
适用场景公共页面(登录、404等)业务页面(根据角色权限动态展示)

PureAdmin 中的实践

在 PureAdmin 中,通常会结合两种路由方式:

  • 静态路由:处理登录页、错误页等无需权限控制的公共页面。
  • 动态路由:处理业务模块(如用户管理、订单管理等),根据用户角色动态生成可访问的菜单和路由,实现“不同权限的用户看到不同的功能菜单”。

这种设计既保证了公共页面的稳定性,又满足了复杂权限场景下的灵活性。


文章转载自:

http://Wt13LYFB.yxmcx.cn
http://uXpbGpmy.yxmcx.cn
http://RtZADz8x.yxmcx.cn
http://2eOYfD6q.yxmcx.cn
http://0vwN0hZ5.yxmcx.cn
http://1qmkR7TO.yxmcx.cn
http://v4a3Kq0V.yxmcx.cn
http://4MhT8VB2.yxmcx.cn
http://F3oi5OqL.yxmcx.cn
http://fIFhBdfZ.yxmcx.cn
http://IJhx3oyp.yxmcx.cn
http://AKlgUmyl.yxmcx.cn
http://kzzyIuX0.yxmcx.cn
http://mplGIJVf.yxmcx.cn
http://aXGBNGnQ.yxmcx.cn
http://p0wHcz7a.yxmcx.cn
http://gjOlrhlg.yxmcx.cn
http://Uy8Iou9l.yxmcx.cn
http://3UYB5A2I.yxmcx.cn
http://ZR1husOv.yxmcx.cn
http://bOcmC2QU.yxmcx.cn
http://KeeVkWTL.yxmcx.cn
http://XgpRH29g.yxmcx.cn
http://hW1fMh9F.yxmcx.cn
http://sXAHMyrS.yxmcx.cn
http://esuc7lTz.yxmcx.cn
http://BfLa0Aft.yxmcx.cn
http://4S5sNDIH.yxmcx.cn
http://3QAPO6Ye.yxmcx.cn
http://Q05DnWz8.yxmcx.cn
http://www.dtcms.com/a/380373.html

相关文章:

  • 24年秋招-京东-后端开发岗-第1批笔试总结
  • 技术与情感交织的一生 (十三)
  • 1 环境配置
  • 老年人生活照护实训室:支撑照护实操教学的关键场所
  • 俄罗斯方块终端游戏实现 —— C语言系统编程与终端控制
  • 跨屏互联KuapingCMS建站系统发布更新 增加seo自动外链功能
  • 域账号提权后权限管理问题解析
  • Go语言设计模式(七)组合模式
  • 解密完全二叉树顺序存储之堆结构
  • 【Vue2 ✨】Vue2 入门之旅 · 进阶篇(三):模板编译原理
  • 嵌入式仿真技术在教学中的应用与挑战探析
  • Kaggle项目实践——Titanic: Machine Learning from Disaster
  • 【leetcode】127. 三角形的最小路径和
  • Java设计模式中的几种常用设计模式
  • 【Vue2 ✨】Vue2 入门之旅 · 进阶篇(四):异步更新与 nextTick 原理
  • 【小程序】微信小程序九宫格抽奖动画(完整版)
  • [BJDCTF 2020]encode
  • 系统核心解析:深入操作系统内部机制——进程管理与控制指南(一)【进程/PCB】
  • 速通ACM省铜第二天 赋源码(Adjacent XOR和Arboris Contractio)
  • Python快速入门专业版(二十四):while循环:条件循环与“死循环”避免(猜数字游戏案例)
  • 神经网络构成框架-理论学习
  • 智能眼镜产品成熟度分析框架与评估
  • 从零学算法2327
  • 【C++】:list容器全面解析
  • 渲染农场多少钱一小时
  • IDEA试用过期,无法登录,重置方法
  • IP验证学习之case编写
  • 通过Dockerfile构建Docker镜像并训练模型
  • 操作系统内核架构深度解析:从微内核到宏内核的设计哲学与性能权衡
  • IIS运行账户设置记录