| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- // 权限信息仓库
- export default {
- state: {
- authList:[],
- menuArr:[] //菜单
- },
- getters: {
- // 检查菜单是否存在
- getAuth:(state) => {
- return function (key) {
- let arr = state.authList.filter(item => item.name == key)
- return arr.length == 0 ? false : true
- }
- },
- // 返回菜单名
- getAuthName:(state) => {
- return function (key) {
- let arr = state.authList.filter(item => item.name == key)
- return arr.length == 0 ? '' : arr[0].label
- }
- },
- // 返回用户是否拥有该按钮权限
- getOperation(state){
- return function(key){
- let curRoute = '/' + this.$mp.page.route;
- let arr = state.authList.filter(item => (curRoute.indexOf(item.name) != -1 || item.name.indexOf(curRoute) != -1))
- let operation = arr[0] ? arr[0].operation : []
- return operation.indexOf(key) > -1 ? true : false
- }
- },
- // 获取菜单
- getMenu(state){
- return function(key){
- let arr = state.menuArr.filter(item => item.url == key)
- return arr.length ? arr[0].children : []
- }
- }
- },
- mutations: {
- // 设置权限信息
- 'SETAUTH':function(state, payload){
- state.authList = payload
- },
- // 清除权限信息
- 'CLEARAUTH':function(state){
- state.authList = []
- },
- // 设置菜单信息
- 'SETMENU':function(state, payload){
- state.menuArr = payload
- },
- // 清除菜单信息
- 'CLEARMENU':function(state){
- state.menuArr = []
- },
- },
- actions: {
- setAuth({ commit },payload){
- commit('SETAUTH',payload)
- },
- clearAuth({ commit }){
- commit('CLEARAUTH')
- },
- setMenu({ commit },payload){
- commit('SETMENU',payload)
- },
- clearMenu({ commit }){
- commit('CLEARMENU')
- }
- }
- }
|