This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
nezha-nezha-fronted/nezha-fronted/src/store/user.js
2021-04-21 13:05:27 +08:00

74 lines
2.1 KiB
JavaScript

import { post } from '../http'
import router from '../router'
import bus from '../libs/bus'
import { sortByOrderNum } from '../permission'
const user = {
state: {
menuList: [],
buttonList: [],
roleList: []
},
mutations: {
setMenuList (state, menuList) {
state.menuList = [...menuList]
},
setButtonList (state, buttonList) {
state.buttonList = [...buttonList]
},
setRoleList (state, roleList) {
state.roleList = [...roleList]
},
clean (state) {
state.menuList = []
state.buttonList = []
state.roleList = []
}
},
getters: {
menuList (state) {
return state.menuList
},
buttonList (state) {
return state.buttonList
},
roleList (state) {
return state.roleList
}
},
actions: {
loginSuccess (store, res) {
sessionStorage.setItem('nz-token', res.data.token)
localStorage.setItem('nz-sys-name', res.data.systemName)
if(res.systemLogo){
localStorage.setItem('nz-sys-logo', res.data.systemLogo)
}
localStorage.setItem('nz-sys-timezone', res.data.timezone)
localStorage.setItem('nz-sys-default-cabinet-usize', res.data.defaultCabinetUsize)
localStorage.setItem('nz-sys-max-terminal-num', res.data.maxTerminalNum)
localStorage.setItem('nz-sys-asset-ping-switch', res.data.assetPingSwitch)
localStorage.setItem('nz-unnsaved-change', res.data.unsavedChange)
post('/sys/user/permissions', { token: res.data.token }).then(res => {
const menuList = sortByOrderNum(res.data.menus)
store.commit('setMenuList', menuList)
store.commit('setButtonList', res.data.buttons)
store.commit('setRoleList', res.data.roles)
bus.$emit('login')
router.push({
path: menuList.find(menu => { return menu.route && menu.route != '/header' }).route,
query: {
t: +new Date()
}
})
})
},
logoutSuccess (store, res) {
sessionStorage.removeItem('nz-username')
localStorage.removeItem('nz-username')
sessionStorage.removeItem('nz-token')
}
}
}
export default user