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://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…