vue vuex操作按鈕許可權控制

2021-10-23 20:40:15 字數 1873 閱讀 3620

好了,下面是具體實現步驟。

1.1 思路:

1.2 **:

在store/user.js

按鈕許可權

import vue from

'vue'

;const

haspermission

= userpermission =>

)// 是否在許可權陣列裡面

let status = eglishpermission.

includes

(userpermission)

return status

}//全域性方法掛載

vue.prototype.$_has = haspermission

1.3 main.js引入permission.js

import

'./directives/permission'

;

在裡面會獲取當前登入的賬號的按鈕許可權的資料

2.1 store/user.js

import iams from

"../../api/iams"

;const state =

;// 定義好請求的方法,這裡將把後台返回的按鈕許可權陣列儲存在state裡面,或者本地快取裡面

const mutations =,}

;// 觸發mutaitions裡面定義好的方法

const actions =

, payload));

if(result && result.ret ===

"200")}

,};const getters =

;export

default

;

2.2.iams.getmenurolelist 介面返回的資料(這裡是通過判斷menucode字段判斷)

在判斷完使用者許可權,以及是否為白名單以後的最後跳轉步驟觸發store裡面actions裡面的方法

import store from

'@/store'

router.

beforeeach

((to,

from

, next)

=>

)

每次路由切換時會去routerconfig.js裡面觸發store.js裡面定義好的方法,拿到按鈕許可權陣列,頁面載入時,會主動觸發頁面繫結了$_has的方法,把當前的按鈕英文名傳遞給方法,方法判斷以後返回乙個布林型別,供頁面渲染,從而實現許可權控制!

>

>

v-if

="$_has('user_add')"

>

增加button

>

v-if

="$_has('user_edit')"

>

編輯button

>

v-if

="$_has('user_delet')"

>

刪除button

>

div>

template

>

按鈕許可權控制

通過 獲取前台傳入請求引數 類 方法 handlermethod methodobj handlermethod handler string function methodobj.getbean getclass getname methodobj.getmethod getname 編寫許可權檢...

directive使用者登入許可權控制按鈕顯示與隱藏

後台管理專案中有系統許可權控制,根據你登入的角色賬號,後台給你返回不一樣的許可權控制,用按鈕顯示,然後再做操作。我們登入成功之後把許可權儲存在session storage裡面,用ktbtn命名來儲存。然後在main.js裡面寫全域性指令。vue.directive has 現在就好了,然後在有許可...

Vue後台管理系統的按鈕許可權控制

摘要 最近需要在原有的後台管理系統中,需要給頁面中的所有按鈕進行許可權控制 實現的思路如下 方法一 1 獲取後台傳過來的按鈕許可權陣列,並將其儲存下來 2 寫乙個全域性的方法。判斷某個按鈕的許可權是否含在後台傳的按鈕許可權陣列中 3 頁面中在按鈕上寫v if進行控制 如下 後台的按鈕許可權資料模擬 ...