edu/admin/src/store/modules/permission.ts

47 lines
1.1 KiB
TypeScript
Raw Normal View History

2022-04-08 02:42:44 +00:00
import { Module } from 'vuex'
import { RouteRecordRaw } from 'vue-router'
import { apiConfigGetAuth } from '@/api/auth'
export interface PermissionModule {
sidebar: Array<RouteRecordRaw>
permission: any[] | null
isAdmin: number
}
const permission: Module<PermissionModule, any> = {
namespaced: true,
state: {
// 左侧菜单
sidebar: [],
// 权限列表
permission: null,
// 是否是管理员
isAdmin: 0
},
getters: {},
mutations: {
setSidebar(state, data) {
state.sidebar = data
},
setPermission(state, data) {
state.permission = data.auth
state.isAdmin = data.root
}
},
actions: {
getPermission({ commit }) {
return new Promise((resolve, reject) => {
2022-04-12 02:33:06 +00:00
apiConfigGetAuth()
.then(data => {
commit('setPermission', data)
resolve(data)
})
.catch(err => {
reject(err)
})
2022-04-08 02:42:44 +00:00
})
}
}
}
export default permission