vue3實(shí)現(xiàn)按鈕權(quán)限管理的項(xiàng)目實(shí)踐
在做后臺管理系統(tǒng)時,經(jīng)常會有權(quán)限管理的功能,這里來記錄一下關(guān)于按鈕權(quán)限管理的實(shí)現(xiàn)方法
1、自定義指令 v-permission。新建js文件用來寫指令代碼。
export default function btnPerms(app) { app.directive('permission', { mounted(el, binding) { if (!permsJudge(binding.value)) { el.parentNode.removeChild(el); } function permsJudge(value){ let perms = JSON.parse(localStorage.getItem('perms')) || []; for (let item of perms) { if (item === value) { return true; } } return false; } } }); }
2、在main.js里注入;
3、在登錄后臺時獲取后端返回的用戶權(quán)限數(shù)據(jù),并且存入到本地;我這邊是把獲取數(shù)據(jù)的接口放在vuex中的
async _getUserPermission(contxt,payload){ let res = await getUserPermission(); if(res && res.data){ let {code,data,message} = res.data; if(code == 200){ localStorage.setItem('perms',JSON.stringify(data.resourceList)); contxt.commit('getPerObj',data.resourceList); }else { reject(message) } } }
然后在登錄頁面調(diào)用這個方法;也可以直接在登錄頁面獲取數(shù)據(jù),這里就不贅述了。
獲取的數(shù)據(jù)大概是這個格式
4、在需要判斷權(quán)限的按鈕調(diào)用指令;
這樣就可以實(shí)現(xiàn)按鈕權(quán)限了
到此這篇關(guān)于vue3實(shí)現(xiàn)按鈕權(quán)限管理的項(xiàng)目實(shí)踐的文章就介紹到這了,更多相關(guān)vue3按鈕權(quán)限管理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
第一次使用webstrom簡單創(chuàng)建vue項(xiàng)目的一些報錯實(shí)戰(zhàn)記錄
在使用webstorm新建vue項(xiàng)目時常會遇到一些報錯,特別是新手第一次運(yùn)行項(xiàng)目,這篇文章主要給大家介紹了關(guān)于第一次使用webstrom簡單創(chuàng)建vue項(xiàng)目的一些報錯實(shí)戰(zhàn)記錄,需要的朋友可以參考下2023-02-02vueJs函數(shù)readonly與shallowReadonly使用對比詳解
這篇文章主要為大家介紹了vueJs函數(shù)readonly與shallowReadonly使用對比詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03