在 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://www.pswp.cn/diannao/98874.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/98874.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/98874.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第3章:CPU实战

1. Linux操作系统CPU平均负载 以前我们总认为CPU使用率和CPU平均负载是一样的,负载高了就是CPU使用率提高。但是到底是什么情况呢? 1.1. CPU的平均负载 单位时间内 系统处于 可运行状态 和不可中断状态 的平均进程数,就是平均活跃进程数&a…

【Vue3】06-利用setup编写vue(1)

其它篇章: 1.【Vue3】01-创建Vue3工程 2.【Vue3】02-Vue3工程目录分析 3.【Vue3】03-编写app组件——src 4.【Vue3】04-编写vue实现一个简单效果 5.【Vue3】05-Options API和Composition API的区别 6.【Vue3】06-利用setup编写vue(1) 7.【Vue…

UDS NRC速查

目录 NRC 一、通用NRC(0x10~0x5F) 二、数据相关NRC(0x70~0x8F) 三、会话与状态NRC 注意事项 UDS中的NRC(Negative Response Code)即否定响应码,用于在诊断通信中表示服务端无法成功执行客户端请求的原因。以下是一些常用的UDS NRC码及其含义: HEX Name Description 01 …

【AI论文】多模态大型语言模型的视觉表征对齐

摘要:通过视觉指令微调训练的多模态大型语言模型(MLLMs)在各类任务中均取得了优异表现,然而在以视觉为中心的任务(如物体计数或空间推理)中,其性能仍存在局限。我们将这一差距归因于当前主流的纯…

SKywalking Agent配置+Oracle监控插件安装指南

SKywalking Agent配置Oracle监控插件安装指南前言: SkyWalking Elasticsearch8 容器化部署指南 Skywalking版本:V10.2.0 Skywalking Agent版本:V9.4.0 Skywalking Agent下载地址:Downloads | Apache SkyWalking 插件下载地址&…

ES相关问题汇总

问题一:关于【QueryBuilder对象】和【Query String语法】查询时底层运行方式和结果的差异

5. STM32 时钟系统分配

文章目录下述将以stm32f407 为例1. 时钟系统及频率分析2. 时钟配置下述将以stm32f407 为例 1. 时钟系统及频率分析 上述STM32F4时钟系统图解析入下: STM32F407 系列微控制器(基于 Cortex-M4 内核,带 FPU)的工作频率配置如下&…

《从 0 建立测试开发认知:先搞懂 “是什么”,再学 “怎么做”》

🔥个人主页:草莓熊Lotso 🎬作者简介:C研发方向学习者 📖个人专栏: 《C知识分享》《Linux 入门到实践:零基础也能懂》《数据结构与算法》《测试开发实战指南》《算法题闯关指南》 ⭐️人生格言&a…

net::ERR_EMPTY_RESPONSE

net::ERR_EMPTY_RESPONSE表现解决表现 Java后端封装一个接口,透传前端参数,请求到其他模块服务 本地开发环境联调时是没有问题,测试环境上报错 1.前端报错,F12检查,network上的请求,返回response选项中为空…

在线多功能环境音生成器

https://oltool.cc/toolbox/huanjingyins.html 关于环境音生成器介绍: 1、本工具可以混合各种声音,比如下雨声,打雷声,海浪声,鸟叫以及虫鸣声等,生成新的环境声。 2、定时器:可以设置倒计时&…

本地电脑映射端口到外网访问的开启方法和注意事项,内网服务提供跨网使用简单操作实现

在计算机网络中,端口映射是一项重要的技术,它允许外网用户访问局域网内的特定设备或服务。当我们在本地电脑搭建部署项目应用后,就可以通过映射端口的方式,简单快速稳定的提供互联网访问服务。以下将详细介绍如何开启电脑映射端口…

Java 大视界 -- Java 大数据在智能医疗健康档案数据分析与个性化健康管理中的应用(410)

Java 大视界 -- Java 大数据在智能医疗健康档案数据分析与个性化健康管理中的应用(410)引言:正文:一、2023 年 6 月智能医疗健康档案的核心落地需求(政策 业务双驱动)1.1 政策倒逼的数据应用痛点&#xff…

微服务架构的基石:Nacos全方位解析与Java实战指南

引言在云原生与微服务浪潮席卷而来的今天,服务的治理与配置的管理变得前所未有的复杂。一个个单一的应用被拆分为数十甚至上百个微服务,如何让这些服务轻松地发现彼此?如何在不重启应用的情况下动态调整所有服务的参数?这些问题直…

IDA pro 生成idapro.hexlic

先安装IDA pro,安装好后,把根目录中的 ida32.dll和ida.dll赋值到python文件脚本同目录中,如图。 直接运行py import json import hashlib import os from datetime import datetime, timedelta import platform import winregname input(&…

【ARMv7-M】复位向量与启动过程

关于ARMv7上电复位后,通过复位向量初始化堆栈位置、PC指针,然后跳转到汇编入口,开始执行系统初始化等等操作,熟悉了解这个过程,对于嵌入式系统软件开发来说至关重要。不同的SOC在BootROM与Flash的地址分配上&#xff0…

【开发者导航】开源免费的金融数据量化与分析项目!

Hello大家好!我是助你打破信息差的开发者导航。今天给大家分享的开源项目是OpenBB,一个面向量化与分析的开源金融数据平台! 金融分析和量化研究需要可靠的数据来源与灵活的分析工具。OpenBB 正是为金融分析师、量化研究员以及 AI 代理开发者…

如何使用 OCR 提取扫描件 PDF 的文本(Python 实现)

从 PDF 中提取文本一直是很多人的需求。市面上的工具虽然能处理大部分数字 PDF,但遇到扫描件 PDF 时往往无能为力,想要直接复制或获取其中的文字并不容易。其实这个问题并不是没有解法 —— 本文将带你了解如何借助 Python OCR 技术,从扫描 …

Deepin/UOS系统中开启和配置SSH服务

文章目录一、安装SSH服务二、启动并设置开机自启三、配置SSH服务(可选)四、配置防火墙(若开启)五、测试SSH连接注意事项在Deepin系统中开启和配置SSH服务可以按照以下步骤进行: 一、安装SSH服务 Deepin基于Debian&am…

敏捷适合短期项目还是长期项目

在项目管理领域,敏捷方法因其灵活性和快速响应特性而广受欢迎。敏捷既适合短期项目,也能应用于长期项目,但两者的实施重点不同:短期项目侧重于快速交付和验证价值,长期项目则依靠迭代和持续改进确保复杂目标逐步实现。…

springboot+python+uniapp基于微信小程序的旅游服务系统景点信息展示 路线推荐 在线预约 评论互动系统

目录技术栈介绍具体实现截图系统设计研究方法:设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示技术栈介绍 Django-SpringBoot-php-Node.js-flask 本课题的研究方法和研究步骤基本合理,难度适中&#xff0…