精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

基于 RuoYi-Vue 做一個健身會員管理系統,你學會了嗎?

開發 前端
在 RuoYi-Vue 中,采用的是方案一,即和 vhr 的方案是一樣的:服務端動態返回菜單信息,前端再去渲染就行了。

最近在小伙伴們的強烈要求下,我們研究了下 RuoYi-Vue,感覺真的還挺好玩的,可以算是一個非常成熟的腳手架了,我們可以基于此快速開發一個商用項目。

有小伙伴想讓松哥幫忙捋一捋這個項目,怎么說呢,如果你看過 vhr 的視頻的話,我覺得這個項目應該是很容易懂的,基本上技術點都是一致的。

不過最近也剛好有空,博客也不知道寫啥了,那么我試試能不能手把手帶領小伙伴們以 RuoYi-Vue 為腳手架,開發一個健身房的會員管理系統。如果小伙伴們對此感興趣的話,可以多多點贊轉發,這樣這個系列就不會爛尾~另外這個系列我假設大家已經做過 vhr 項目了,所以一些非?;A的知識點我就不重復啰嗦了。

1. 現有動態菜單分析

1.1 兩種方案

動態菜單就是用戶登錄之后看到的菜單,不用角色的用戶登錄成功之后,會看到不用的菜單項,這個動態菜單要怎么實現呢?整體來說,有兩種不同的方案,松哥曾經做過的項目中,兩種方案也都有用過,這里分別來和大家分享一下。

1.1.1 后端動態返回

后端動態返回,這是我在微人事中采用的方案。微人事中,權限管理相關的表一共有五張表,如下:

其中 hr 表就是用戶表,用戶登錄成功之后,可以查詢到用戶的角色,再根據用戶角色去查詢出來用戶可以操作的菜單(資源),然后把這些可以操作的資源,組織成一個 JSON 數據,返回給前端,前端再根據這個 JSON 渲染出相應的菜單。以微人事為例,我們返回的 JSON 數據格式如下:

[
{
"id":2,
"path":"/home",
"component":"Home",
"name":"員工資料",
"iconCls":"fa fa-user-circle-o",
"children":[
{
"id":null,
"path":"/emp/basic",
"component":"EmpBasic",
"name":"基本資料",
"iconCls":null,
"children":[

],
"meta":{
"keepAlive":false,
"requireAuth":true
}
}
],
"meta":{
"keepAlive":false,
"requireAuth":true
}
}
]

這樣的 JSON 在前端中再進行二次處理之后,就可以使用了,前端的二次處理主要是把 component 屬性的字符串值轉為對象。這一塊具體操作大家可以參考微人事項目(具體在:https://github.com/lenve/vhr/blob/master/vuehr/src/utils/utils.js),我就不再贅述了。

這種方式的一個好處是前端的判斷邏輯少一些,后端也不算復雜,就是一個 SQL 操作,前端拿到后端的返回的菜單數據,稍微處理一下就可以直接使用了。另外這種方式還有一個優勢就是可以動態配置資源-角色以及用戶-角色之間的關系,進而調整用戶可以操作的資源(菜單)。

1.1.2 前端動態渲染

另一種方式就是前端動態渲染,這種方式后端的工作要輕松一些,前端處理起來麻煩一些,松哥去年年末幫一個律所做的一個管理系統,因為權限上比較容易,我就采用了這種方案。

這種方式就是我直接在前端把所有頁面都在路由表里邊定義好,然后在 meta 屬性中定義每一個頁面需要哪些角色才能訪問,例如下面這樣:

[
{
"id":2,
"path":"/home",
"component":Home,
"name":"員工資料",
"iconCls":"fa fa-user-circle-o",
"children":[
{
"id":null,
"path":"/emp/basic",
"component":EmpBasic,
"name":"基本資料",
"iconCls":null,
"children":[

],
"meta":{
"keepAlive":false,
"requireAuth":true,
"roles":['admin','user']
}
}
],
"meta":{
"keepAlive":false,
"requireAuth":true
}
}
]

這樣定義表示當前登錄用戶需要具備 admin 或者 user 角色,才可以訪問 EmpBasic 組件,當然這里不是說我這樣定義了就行,這個定義只是一個標記,在項目首頁中,我會遍歷這個數組做菜單動態渲染,然后根據當前登錄用戶的角色,再結合當前組件需要的角色,來決定是否把當前組件所對應的菜單項渲染出來。

這樣的話,后端只需要在登錄成功后返回當前用戶的角色就可以了,剩下的事情則交給前端來做。不過這種方式有一個弊端就是菜單和角色的關系在前端代碼中寫死了,以后如果想要動態調整會有一些不方便,可能需要改代碼。特別是大項目,權限比較復雜的時候,調整就更麻煩了,所以這種方式我一般建議在一些簡單的項目中使用。

1.2 菜單分析

在 RuoYi-Vue 中,采用的是方案一,即和 vhr 的方案是一樣的:服務端動態返回菜單信息,前端再去渲染就行了。

所以如果我們想要定制自己的項目菜單,那就非常容易了,只需要搞明白這個項目中的菜單表,然后直接修改菜單表就可以了。

系統的菜單表是 sys_menu,各個字段含義如下:

這個我就不多說了,各個字段的含義作者都寫的很清楚了。對于一些新手小伙伴,我著重解釋一個跟前端顯示相關的字段:

  • order_num:這個菜單項在前端頁面展示的順序,例如一級菜單系統管理中有用戶管理和菜單管理,那么用戶管理和菜單管理這兩個子項之間就存在一個展示順序的問題,這個字段就是用來解決這個問題的。
  • path:這個是前端的路由地址,可以簡單理解為前端頁面的跳轉地址,假設系統管理菜單項的 path 為 system,系統管理下有一個子菜單日志管理,日志管理的 path 為 log,日志管理下有一個子菜單是操作日志,操作日志的 path 為 operlog,那么最終,前端訪問操作日志時候的頁面路由地址為 /system/log/operlog。
  • component:這是前端的組件地址,因為前端的 vue 文件是動態加載的,這個參數表示組件的名稱。

這幾個參數可能對于新手小伙伴不好理解,其他的參數大家看注釋就明白啥意思了,我也就不啰嗦了。

看明白了表,那么就可以直接上手了,直接在表上改了。

不過作者非常貼心的提供了管理頁面,所以你要是懶得分析表,也可以直接在 系統管理->菜單管理中修改菜單,這個網頁上的操作就比較簡單了,我就不演示了。

1.3 代碼分析

我們再來看看服務端菜單相關的代碼。

菜單主要是有一個層級的問題,但是菜單的層級不會特別深,太深了前端不僅不好使用,也不方便展示。在 vhr 中,我假設菜單是三個層級,然后用了一個左連接就將所有的菜單信息查出來了。

但是在這個項目中,菜單沒有固定的層級,可以有 N 層,所以查詢也跟 vhr 不太一樣,我們一起來看下。

返回菜單數據的接口是 org.javaboy.web.controller.system.SysLoginController#getRouters,我們來看下:

@GetMapping("getRouters")
public AjaxResult getRouters() {
Long userId = SecurityUtils.getUserId();
List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
return AjaxResult.success(menuService.buildMenus(menus));
}

具體的實現代碼我就不說了,這里就和大家說一下他這里的查詢邏輯,這里的核心操作實際上就兩步:

  • menuService.selectMenuTreeByUserId 方法查詢出來當前所有的菜單項,這里的查詢思路是根據當前用戶的 id,找到用戶對應的菜單,查詢的時候只查詢類行為 M 和 C 的菜單項,M 表示目錄(即里邊有子菜單),C 表示菜單,全部查詢出來之后,再遍歷,歸類,將 C 作為某一個 M 的 children。在松哥的 vhr 里邊,我是直接用了一對多的思路去查詢的,查詢出來后不用再二次處理,這里則是查詢出來后遞歸處理的,這一塊的實現思路不同,做過 vhr 項目的小伙伴注意區分(小伙伴們也可以按照 vhr 的思路來改改這里的邏輯)。
  • 由于剛查詢出來的菜單并不滿足前端渲染的要求,所以在 menuService.buildMenus 方法中,再對剛剛查詢出來的 List 集合進行二次處理,這里主要是把 component、path 等屬性的值捋清楚。

大致就是這樣。

2. 自定義菜單數據

那我們自己這個健身會員的菜單會有所不同,我想要自己重新定義一下,根據前面第一小節的分析,這里我來創建八個和健身會員管理系統相關的菜單,如下:

系統原本的功能被我都收到系統管理這個菜單。

這個 SQL 腳本是比較簡單的,大家在文末可以下載。我簡單截個圖大家看下:

根據第一小節的分析直接修改表即可(也可以在菜單管理頁面手動進行添加)。

3. 自定義頁面

后端加了數據,前端當然也要加頁面。component 字段其實已經暗示了前端的頁面地址,所以,我們根據后端的 component 字段,來創建前端頁面即可:

每一個 .vue 文件都還沒寫內容,就一句話,類似下面這樣:

后期再補充。

好啦,這樣,前端 vue 登錄成功之后,就可以看到相應的頁面了,頁面也都可以點擊。

好啦,這樣,我們初步實現了根據自己的需求在這個項目上自定義自己的菜單。

4. 項目地址

最后,文末給出一個項目地址,大家可以去看看。每篇文章的代碼我都會提交上去,一步步完善,大家可以據此看到一個項目的成長過程,現在 star 就是老粉啦。

https://github.com/lenve/tienchin

責任編輯:武曉燕 來源: 江南一點雨
相關推薦

2024-06-21 08:15:25

2021-10-04 09:29:41

對象池線程池

2024-06-19 09:47:21

2023-03-26 22:02:53

APMPR監控

2023-09-19 08:03:50

rebase?merge

2023-04-27 08:42:50

效果

2022-02-08 09:09:45

智能指針C++

2024-04-01 08:13:59

排行榜MySQL持久化

2023-12-26 10:12:19

虛擬DOM數據

2023-01-13 11:55:05

TY子系統設備

2025-05-08 08:38:48

2024-01-19 08:25:38

死鎖Java通信

2023-01-10 08:43:15

定義DDD架構

2024-02-04 00:00:00

Effect數據組件

2023-07-26 13:11:21

ChatGPT平臺工具

2024-09-26 09:10:08

2023-08-01 12:51:18

WebGPT機器學習模型

2024-01-02 12:05:26

Java并發編程

2024-10-14 09:34:39

vue3通信emit

2023-11-27 07:33:55

點贊
收藏

51CTO技術棧公眾號

欧美在线不卡一区| 免费的国产精品| 日韩精品一区二区三区三区免费| 福利网在线观看| 国产哺乳奶水91在线播放| 自产国语精品视频| 亚洲第一视频网站| 成年人在线观看视频免费| 黄网站免费在线观看| 国产99久久久久久免费看农村| 91精品国产高清自在线看超| jizz中文字幕| 日韩一区网站| 在线视频国产一区| 免费看黄色a级片| 五月婷中文字幕| 日本特黄久久久高潮| 美女精品视频一区| 亚洲人成人无码网www国产| 在线日韩三级| 粉嫩av国产一区二区三区| 欧美视频网址| 欧美大片在线观看| 国产精品69页| 米奇777四色精品人人爽| av一区二区不卡| 成人网在线免费看| 成人在线免费看视频| 香蕉视频官网在线观看日本一区二区| 亚洲国产欧美一区| 香蕉视频xxxx| 韩日精品一区| 图片区小说区区亚洲影院| 国产精品夜夜夜爽张柏芝| 亚洲日本在线播放| 国产精品一二三| 国产精品视频自在线| 99热国产在线观看| 欧美日韩一区二区国产| 伊人久久大香线蕉av一区二区| av av在线| 国产精久久一区二区| 欧美亚洲一区三区| 国产成人黄色片| xxxx另类黑人| 一区二区三区四区在线| 国产高清精品软男同| jizz在线免费观看| 狠狠v欧美ⅴ日韩v亚洲v大胸| 久久中文字幕av一区二区不卡| 亚洲美女在线视频| 污污内射在线观看一区二区少妇| 久久中文字幕一区二区| 欧美精品 国产精品| 国产 porn| 免费高清视频在线一区| 91久久国产最好的精华液| 欧美 国产 日本| av免费不卡国产观看| 一区二区三区欧美久久| 一本—道久久a久久精品蜜桃| av一区在线观看| 久久久久国产成人精品亚洲午夜| 国产尤物91| 五月天婷婷在线播放| 99久久精品久久久久久清纯| 国产手机精品在线| 无码精品人妻一区二区| 99久久免费国产| 麻豆久久久9性大片| 精品视频二区| 国产欧美日韩精品a在线观看| 欧美成人精品h版在线观看| 亚洲精品日韩av| 国产亚洲欧美日韩高清| 日本一区中文字幕| 国产欧美一区二区三区久久| 一区二区不卡视频在线观看| 精品一二三四在线| 亚洲字幕在线观看| 亚洲精品综合久久| 99精品久久只有精品| 免费看成人av| av免费观看一区二区| 亚洲色图视频网站| 国产一区二区三区在线免费| 爱草tv视频在线观看992| 欧美日韩免费在线| 天天色综合天天色| 色噜噜成人av在线| 精品国产青草久久久久福利| 亚洲永久无码7777kkk| 成人一区二区| 欧美成人精品在线视频| 国产精品美女久久久久av爽| 在线一区电影| 天天色图综合网| 青青视频在线播放| 中文字幕日本人妻久久久免费| 免费一级毛片在线观看| 91麻豆国产香蕉久久精品| 日韩精品最新在线观看| 成人短视频在线观看| 午夜精品成人在线视频| 无需播放器的av| 日韩精品一区二区三区中文字幕 | 在线免费一区| 久久不射影院| 欧美在线视频不卡| aaa黄色大片| 日韩成人精品一区| 久久男人av资源网站| 中文字幕福利视频| gogo大胆日本视频一区| 在线一区高清| 美脚恋feet久草欧美| 欧美一卡在线观看| 黄色片在线观看免费| 亚洲国产网站| 亚洲japanese制服美女| 二区在线视频| 亚洲第一福利一区| 日韩成人av免费| 国产精品日韩精品中文字幕| 欧美激情中文网| 97成人在线观看| 久久久久久久网| 欧美日韩视频免费| 亚洲免费看片| 亚洲天堂影视av| 亚洲国产精品成人无久久精品| 老汉av免费一区二区三区| 蜜桃狠狠色伊人亚洲综合网站| 成a人片在线观看| 成人在线高清免费| 亚洲一区二区三区爽爽爽爽爽| jizz欧美激情18| 色婷婷久久久| 国内免费久久久久久久久久久| 国产精品高潮呻吟AV无码| 国产欧美日韩不卡| 热久久精品免费视频| 午夜先锋成人动漫在线| 97在线看福利| 好吊色在线观看| 一区二区三区不卡视频| 色婷婷激情视频| 成人激情电影在线| 国产精品久久电影观看| 黄色av免费在线观看| 色婷婷av一区| 久久久亚洲av波多野结衣| 中日韩视频在线观看| 国产精品免费一区二区三区四区| 黄色网页在线观看| 91精品国产福利| 美女三级黄色片| 国精品**一区二区三区在线蜜桃| 在线日韩av永久免费观看| 欧美成人免费全部网站| 久久精品视频99| 国产乱淫a∨片免费观看| 国产精品高清无码| 国产jizzjizz一区二区| 大胆欧美熟妇xx| 亚洲一区网址| 国产69精品久久久久99| 婷婷丁香花五月天| 欧美性猛xxx| 国产jjizz一区二区三区视频| 日韩国产精品久久| 一区二区三区四区在线视频| 成人在线日韩| 欧美极品xxxx| 中国男女全黄大片| 噜噜噜在线观看播放视频| 亚洲主播在线观看| 日韩成人av影院| 精品电影一区| 久久综合九色99| 国产 日韩 欧美一区| 中文字幕av一区二区三区谷原希美| 在线观看国产一区二区三区| 亚洲欧洲美洲综合色网| 中文字幕55页| 一本一本久久| 色哦色哦哦色天天综合| 国产日韩精品在线| www在线视频| 亚洲国产免费av| 波多野结衣不卡| 国产精品成人免费精品自在线观看| 57pao国产成永久免费视频| 黄色成人在线网站| 欧美人与物videos另类| 99tv成人影院| 97久久国产精品| 9色在线视频网站| 日韩精品一区二区三区在线播放 | 欧美激情小视频| 青青草av免费在线观看| 欧美日韩不卡在线| 不卡的免费av| 欧美国产一区二区在线观看| 日批视频在线看| 久久一二三四| 亚洲电影网站| 精品淫伦v久久水蜜桃| 国产乱人伦真实精品视频| h片精品在线观看| 神马久久桃色视频| 神马午夜一区二区| 欧美人xxxx| 亚洲欧美综合另类| 亚洲色图在线视频| 国产伦理片在线观看| 粉嫩aⅴ一区二区三区四区五区| 黑人粗进入欧美aaaaa| 在线免费观看欧美| www国产精品av| 久久久精品麻豆| 99综合视频| 欧美一二三不卡| 99re6这里只有精品| 国内精品久久国产| 久久久久久久久久久久电影| 国产精品久久久久久中文字| 国产在线天堂www网在线观看| 伦理中文字幕亚洲| 1024视频在线| 一区二区三欧美| 欧美精品久久久久久久久久丰满| 日韩视频中午一区| 91丨porny丨在线中文| 在线中文字幕不卡| 综合网在线观看| 精品欧美国产一区二区三区| 久草视频免费在线播放| 亚洲欧美电影一区二区| 黄大色黄女片18免费| 久久久国产午夜精品| 成人免费无码大片a毛片| 成人综合婷婷国产精品久久免费| 免费成人黄色大片| 久久电影网电视剧免费观看| 国产91色在线观看| 日韩电影在线观看电影| 已婚少妇美妙人妻系列| 久久国产免费| 欧美日韩在线不卡视频| 亚洲免费综合| 欧美a在线视频| 性欧美videos另类喷潮| av网站在线观看不卡| 欧美亚洲自偷自偷| 成人羞羞国产免费网站| 天堂久久久久va久久久久| 欧美aⅴ在线观看| 久久中文精品| 久久人妻精品白浆国产| 日韩vs国产vs欧美| 中文字幕永久视频| 久久精品国产精品亚洲红杏| 一道本在线免费视频| 国产资源在线一区| 国产sm在线观看| 99天天综合性| 中文字幕免费高清| 中文字幕一区日韩精品欧美| 人人澡人人澡人人看| 一区二区三区在线视频观看| 国产一级在线观看视频| 天天影视网天天综合色在线播放| 精品国产一区二区三区四| 欧美性生活影院| 99热这里只有精品在线观看| 亚洲精品在线三区| 欧美午夜黄色| 综合136福利视频在线| 欧美性受xxxx黑人猛交88| 99久久人爽人人添人人澡| 国产久一道中文一区| 亚洲性视频大全| 色阁综合av| 欧美日韩精选| 黄色动漫网站入口| 免费精品99久久国产综合精品| 亚洲综合20p| thepron国产精品| 精品无码在线观看| 亚洲激情欧美激情| 青青青国产在线 | 欧美老女人性视频| 欧美13videosex性极品| 国产精品自产拍在线观看中文 | 日韩写真欧美这视频| 午夜性色福利影院| 日韩在线www| rebdb初裸写真在线观看| 国产精品色悠悠| 超碰地址久久| 亚洲激情一区二区| 亚洲精品女人| 羞羞的视频在线| 99久久精品免费| 成熟的女同志hd| 色综合天天在线| 北条麻妃一二三区| 在线播放国产一区二区三区| jizz一区二区三区| 亚洲aⅴ男人的天堂在线观看| 少妇久久久久| 欧美一级爱爱视频| 青青青爽久久午夜综合久久午夜| 国产吃瓜黑料一区二区| 国产精品国产三级国产aⅴ中文 | 在线观看www91| 后进极品白嫩翘臀在线视频| 中文字幕欧美专区| 性国裸体高清亚洲| 都市激情久久久久久久久久久| 欧美一区二区三| 亚洲自偷自拍熟女另类| 国产福利91精品一区| 能直接看的av| 欧美日韩中文字幕在线视频| www.精品视频| 久久人人爽人人爽人人片亚洲| 一呦二呦三呦精品国产| 国内外成人免费视频| 欧美影视一区| 一区二区三区四区毛片| 国产日韩影视精品| 午夜精品免费观看| 日韩精品丝袜在线| 毛片在线导航| 国产经典一区二区三区| 亚洲精品一区二区妖精| 成人日韩在线视频| 国产精品国产三级国产三级人妇| 最新黄色网址在线观看| 国产亚洲精品91在线| 少妇久久久久久被弄高潮| 激情久久五月| 国产三级三级看三级| 亚洲国产精华液网站w| 波多野结衣电车| 国产亚洲人成网站在线观看| 久久精品女人天堂av免费观看| 欧美精品国产精品久久久| 亚洲少妇一区| 性欧美丰满熟妇xxxx性仙踪林| 欧美日韩黄色大片| 日本成人一区| 国产精品国产三级国产aⅴ浪潮| 欧美男gay| 成人性生生活性生交12| 欧美高清在线精品一区| 中文字幕一区二区三区四区视频 | wwwww在线观看免费视频| 国产成人精品免高潮在线观看| 国产欧美日韩精品一区二区免费| 欧美日韩亚洲一二三| 国产免费久久精品| 一卡二卡三卡四卡五卡| 欧美高清一区| 台湾佬美性中文| 天天综合天天综合色| 精品欧美不卡一区二区在线观看| 国产精品女人久久久久久| 天天综合网网欲色| 亚洲熟女一区二区三区| 婷婷综合久久一区二区三区| 欧洲一级在线观看| 国产精品视频久久久| 综合一区在线| 日本一卡二卡在线| 91高清视频在线| 精品176二区| 精品国产一区二区三区麻豆免费观看完整版 | 精品久久久久av影院| 理论不卡电影大全神| 日韩精品极品视频在线观看免费| 久久99精品国产麻豆婷婷洗澡| 青草影院在线观看| 亚洲国产精品成人一区二区| 三上悠亚激情av一区二区三区 | xxxx黄色片| 欧美综合久久久| 最近中文字幕免费mv2018在线| 久久国产手机看片| 久久se精品一区精品二区| 加勒比av在线播放| 亚洲日韩中文字幕| 欧洲大片精品免费永久看nba| 日韩毛片在线免费看| 亚洲视频免费看| 深夜福利视频在线免费观看| 国产一区在线播放| 一区二区三区导航|