- 后臺管理系統(tǒng)——前端技術(shù)棧
vue.js2.0中文:優(yōu)秀的JS框架
vue-router: vue.js 配套路由
axios:基于Promise的HTTP客戶端,用于瀏覽器和node.js
Mock.js:生成隨機數(shù)據(jù)
ECharts:百度的圖表生成庫
- 后臺管理系統(tǒng)——后端技術(shù)棧
MyBatisPlus:簡化Mybatis開發(fā)
redis:緩存的key-value數(shù)據(jù)庫
shiro:權(quán)限管理框架
定時任務(wù):SpringBoot自帶早直、Quartz框架
POI:操作excel表格等
WebSocket
代碼生成器
- 權(quán)限控制方案
后臺管理系統(tǒng)當(dāng)然少不了權(quán)限控制决左,至于權(quán)限控制玄括,前端方面當(dāng)然就是對頁面資源的訪問和操作控制壳快。
前端資源權(quán)限主要又分為兩個部分仑性,即導(dǎo)航菜單的查看權(quán)限和頁面增刪改操作按鈕的操作權(quán)限溅蛉。
我們的設(shè)計把頁面導(dǎo)航菜單和頁面操作按鈕統(tǒng)一存儲在菜單數(shù)據(jù)庫表中
菜單表中包含以下權(quán)限關(guān)注點:
菜單類型
菜單類型代碼頁面資源的類型嫡意。類型包括馏艾,0:目錄 1:菜單 2:按鈕劳曹。
權(quán)限標(biāo)識
權(quán)限標(biāo)識即是代表此頁面資源,用來進行權(quán)限控制的唯一標(biāo)識琅摩,主要是進行增刪改查的權(quán)限控制厚者。
權(quán)限標(biāo)識包括,sys:user:add:新增 sys:user:edit:編輯 sys:user:delete:刪除 sys:user:view:查看
- 菜單實現(xiàn)思路
- 用戶登錄系統(tǒng)
用戶登錄系統(tǒng)之后迫吐,跳轉(zhuǎn)到首頁库菲。
- 根據(jù)用戶加載導(dǎo)航菜單
在路由導(dǎo)航守衛(wèi)路由時加載用戶導(dǎo)航菜單并存儲到store。
加載過程如下志膀,返回結(jié)果排除按鈕類型熙宇。
user -> user_role -> role -> role_menu -> menu。
- 導(dǎo)航欄讀取菜單樹
導(dǎo)航欄到store讀取導(dǎo)航樹并進行展示溉浙。
- 頁面按鈕實現(xiàn)思路
- 用戶登錄系統(tǒng)
用戶登錄系統(tǒng)之后烫止,跳轉(zhuǎn)到首頁。
- 根據(jù)用戶加載權(quán)限標(biāo)識集合
在路由導(dǎo)航守衛(wèi)路由時加載用戶權(quán)限標(biāo)識集合戳稽。
加載過程如下馆蠕,返回結(jié)果是用戶權(quán)限標(biāo)識的集合期升。
user -> user_role -> role -> role_menu -> menu。
5互躬、 頁面按鈕控制
頁面操作按鈕提供權(quán)限標(biāo)識播赁,查詢是否在用戶權(quán)限標(biāo)識集合中。
在:有權(quán)限吼渡,可見或可用容为,不在:無權(quán)限,不可見或禁用寺酪。