
23 changed files with 244 additions and 229 deletions
@ -1,17 +1,4 @@ |
|||||
const getters = { |
const getters = { |
||||
sidebar: state => state.app.sidebar, |
orgSid: state => state.user.orgSid |
||||
size: state => state.app.size, |
|
||||
device: state => state.app.device, |
|
||||
visitedViews: state => state.tagsView.visitedViews, |
|
||||
cachedViews: state => state.tagsView.cachedViews, |
|
||||
token: state => state.user.token, |
|
||||
avatar: state => state.user.avatar, |
|
||||
name: state => state.user.name, |
|
||||
userInfo: state => state.user.userInfo, |
|
||||
menus: state => state.user.menus, |
|
||||
introduction: state => state.user.introduction, |
|
||||
roles: state => state.user.roles, |
|
||||
permission_routes: state => state.permission.routes, |
|
||||
errorLogs: state => state.errorLog.logs |
|
||||
} |
} |
||||
export default getters |
export default getters |
||||
|
@ -1,150 +1,17 @@ |
|||||
import { login, logout, getInfo } from '@/api/user' |
const user = { |
||||
import { getStorage, setStorage, removeStorage } from '@/utils/auth' |
state:{ |
||||
|
orgSid: '' |
||||
import router, { resetRouter } from '@/router' |
|
||||
|
|
||||
const state = { |
|
||||
token: getStorage(), |
|
||||
userInfo: '', |
|
||||
menus: '', |
|
||||
} |
|
||||
|
|
||||
const mutations = { |
|
||||
SET_TOKEN: (state, token) => { |
|
||||
state.token = token |
|
||||
}, |
}, |
||||
SET_UESRINFO: (state, userInfo) => { |
mutations: { |
||||
state.userInfo = userInfo |
setOrgSid: (state, orgSid) => { |
||||
|
state.orgSid = orgSid |
||||
|
} |
||||
}, |
}, |
||||
SET_MENUS: (state, menus) => { |
actions: { |
||||
state.menus = menus |
commitOrgSid({commit}, orgSid) { |
||||
|
commit('setOrgSid', orgSid) |
||||
|
} |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
const actions = { |
export default user |
||||
// user login
|
|
||||
login({ commit }, userInfo) { |
|
||||
return new Promise((resolve, reject) => { |
|
||||
login(userInfo).then(response => { |
|
||||
const { data } = response |
|
||||
commit('SET_TOKEN', data.token) |
|
||||
setStorage(data.token) |
|
||||
let user = { |
|
||||
roleSid: data.roleSid, |
|
||||
name: data.name, |
|
||||
userName: data.userName, |
|
||||
departmentName: data.departmentName, |
|
||||
isAdmin: data.isAdmin, |
|
||||
staffSid: data.staffSid, |
|
||||
userSid: data.sid, |
|
||||
orgSid: data.organizationSid, |
|
||||
Orgname: data.organizationName, |
|
||||
dwjb: data.dwjb |
|
||||
} |
|
||||
commit('SET_UESRINFO', user) |
|
||||
window.sessionStorage.setItem('userSid', user.userSid); |
|
||||
window.sessionStorage.setItem('Orgname', user.Orgname); |
|
||||
window.sessionStorage.setItem('departmentName', user.departmentName); |
|
||||
window.sessionStorage.setItem('name', user.name); |
|
||||
resolve(data) |
|
||||
}).catch(error => { |
|
||||
reject(error) |
|
||||
}) |
|
||||
}) |
|
||||
}, |
|
||||
|
|
||||
// get user info
|
|
||||
getInfo({ commit, state }) { |
|
||||
return new Promise((resolve, reject) => { |
|
||||
getInfo().then(response => { |
|
||||
const { data } = response |
|
||||
if (!data) { |
|
||||
removeStorage() |
|
||||
reject('Verification failed, please Login again.') |
|
||||
} |
|
||||
let user = { |
|
||||
roleSid: data.roleSid, |
|
||||
name: data.name, |
|
||||
userName: data.userName, |
|
||||
orgRoleName: data.orgRoleName, |
|
||||
isAdmin: data.isAdmin, |
|
||||
staffSid: data.staffSid, |
|
||||
userSid: data.sid, |
|
||||
orgSid: data.organizationSid, |
|
||||
Orgname: data.organizationName, |
|
||||
dwjb: data.dwjb |
|
||||
} |
|
||||
commit('SET_UESRINFO', user) |
|
||||
resolve(data) |
|
||||
}).catch(error => { |
|
||||
removeStorage() |
|
||||
router.push({path: '/'}) |
|
||||
// reject(error)
|
|
||||
}) |
|
||||
}) |
|
||||
}, |
|
||||
|
|
||||
getMenus({ commit, state }) { |
|
||||
return new Promise((resolve, reject) => { |
|
||||
getInfo().then(response => { |
|
||||
const { data } = response |
|
||||
commit('SET_UESRINFO', user) |
|
||||
resolve(data) |
|
||||
}).catch(error => { |
|
||||
reject(error) |
|
||||
}) |
|
||||
}) |
|
||||
}, |
|
||||
|
|
||||
// user logout
|
|
||||
logout({ commit, state, dispatch }) { |
|
||||
return new Promise((resolve, reject) => { |
|
||||
logout(state.token).then(() => { |
|
||||
commit('SET_TOKEN', '') |
|
||||
commit('SET_UESRINFO', '') |
|
||||
removeStorage() |
|
||||
resetRouter() |
|
||||
resolve() |
|
||||
}).catch(error => { |
|
||||
reject(error) |
|
||||
}) |
|
||||
}) |
|
||||
}, |
|
||||
|
|
||||
// remove token
|
|
||||
// resetToken({ commit }) {
|
|
||||
// return new Promise(resolve => {
|
|
||||
// commit('SET_TOKEN', '')
|
|
||||
// commit('SET_ROLES', [])
|
|
||||
// removeToken()
|
|
||||
// resolve()
|
|
||||
// })
|
|
||||
// },
|
|
||||
|
|
||||
// dynamically modify permissions
|
|
||||
// async changeRoles({ commit, dispatch }, role) {
|
|
||||
// const token = role + '-token'
|
|
||||
|
|
||||
// commit('SET_TOKEN', token)
|
|
||||
// setToken(token)
|
|
||||
|
|
||||
// const { roles } = await dispatch('getInfo')
|
|
||||
|
|
||||
// resetRouter()
|
|
||||
|
|
||||
// // generate accessible routes map based on roles
|
|
||||
// const accessRoutes = await dispatch('permission/generateRoutes', roles, { root: true })
|
|
||||
// // dynamically add accessible routes
|
|
||||
// router.addRoutes(accessRoutes)
|
|
||||
|
|
||||
// // reset visited views and cached views
|
|
||||
// dispatch('tagsView/delAllViews', null, { root: true })
|
|
||||
// }
|
|
||||
} |
|
||||
|
|
||||
export default { |
|
||||
namespaced: true, |
|
||||
state, |
|
||||
mutations, |
|
||||
actions |
|
||||
} |
|
||||
|
@ -0,0 +1,150 @@ |
|||||
|
import { login, logout, getInfo } from '@/api/user' |
||||
|
import { getStorage, setStorage, removeStorage } from '@/utils/auth' |
||||
|
|
||||
|
import router, { resetRouter } from '@/router' |
||||
|
|
||||
|
const state = { |
||||
|
token: getStorage(), |
||||
|
userInfo: '', |
||||
|
menus: '', |
||||
|
} |
||||
|
|
||||
|
const mutations = { |
||||
|
SET_TOKEN: (state, token) => { |
||||
|
state.token = token |
||||
|
}, |
||||
|
SET_UESRINFO: (state, userInfo) => { |
||||
|
state.userInfo = userInfo |
||||
|
}, |
||||
|
SET_MENUS: (state, menus) => { |
||||
|
state.menus = menus |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
const actions = { |
||||
|
// user login
|
||||
|
login({ commit }, userInfo) { |
||||
|
return new Promise((resolve, reject) => { |
||||
|
login(userInfo).then(response => { |
||||
|
const { data } = response |
||||
|
commit('SET_TOKEN', data.token) |
||||
|
setStorage(data.token) |
||||
|
let user = { |
||||
|
roleSid: data.roleSid, |
||||
|
name: data.name, |
||||
|
userName: data.userName, |
||||
|
departmentName: data.departmentName, |
||||
|
isAdmin: data.isAdmin, |
||||
|
staffSid: data.staffSid, |
||||
|
userSid: data.sid, |
||||
|
orgSid: data.organizationSid, |
||||
|
Orgname: data.organizationName, |
||||
|
dwjb: data.dwjb |
||||
|
} |
||||
|
commit('SET_UESRINFO', user) |
||||
|
window.sessionStorage.setItem('userSid', user.userSid); |
||||
|
window.sessionStorage.setItem('Orgname', user.Orgname); |
||||
|
window.sessionStorage.setItem('departmentName', user.departmentName); |
||||
|
window.sessionStorage.setItem('name', user.name); |
||||
|
resolve(data) |
||||
|
}).catch(error => { |
||||
|
reject(error) |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// get user info
|
||||
|
getInfo({ commit, state }) { |
||||
|
return new Promise((resolve, reject) => { |
||||
|
getInfo().then(response => { |
||||
|
const { data } = response |
||||
|
if (!data) { |
||||
|
removeStorage() |
||||
|
reject('Verification failed, please Login again.') |
||||
|
} |
||||
|
let user = { |
||||
|
roleSid: data.roleSid, |
||||
|
name: data.name, |
||||
|
userName: data.userName, |
||||
|
orgRoleName: data.orgRoleName, |
||||
|
isAdmin: data.isAdmin, |
||||
|
staffSid: data.staffSid, |
||||
|
userSid: data.sid, |
||||
|
orgSid: data.organizationSid, |
||||
|
Orgname: data.organizationName, |
||||
|
dwjb: data.dwjb |
||||
|
} |
||||
|
commit('SET_UESRINFO', user) |
||||
|
resolve(data) |
||||
|
}).catch(error => { |
||||
|
removeStorage() |
||||
|
router.push({path: '/'}) |
||||
|
// reject(error)
|
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
getMenus({ commit, state }) { |
||||
|
return new Promise((resolve, reject) => { |
||||
|
getInfo().then(response => { |
||||
|
const { data } = response |
||||
|
commit('SET_UESRINFO', user) |
||||
|
resolve(data) |
||||
|
}).catch(error => { |
||||
|
reject(error) |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// user logout
|
||||
|
logout({ commit, state, dispatch }) { |
||||
|
return new Promise((resolve, reject) => { |
||||
|
logout(state.token).then(() => { |
||||
|
commit('SET_TOKEN', '') |
||||
|
commit('SET_UESRINFO', '') |
||||
|
removeStorage() |
||||
|
resetRouter() |
||||
|
resolve() |
||||
|
}).catch(error => { |
||||
|
reject(error) |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// remove token
|
||||
|
// resetToken({ commit }) {
|
||||
|
// return new Promise(resolve => {
|
||||
|
// commit('SET_TOKEN', '')
|
||||
|
// commit('SET_ROLES', [])
|
||||
|
// removeToken()
|
||||
|
// resolve()
|
||||
|
// })
|
||||
|
// },
|
||||
|
|
||||
|
// dynamically modify permissions
|
||||
|
// async changeRoles({ commit, dispatch }, role) {
|
||||
|
// const token = role + '-token'
|
||||
|
|
||||
|
// commit('SET_TOKEN', token)
|
||||
|
// setToken(token)
|
||||
|
|
||||
|
// const { roles } = await dispatch('getInfo')
|
||||
|
|
||||
|
// resetRouter()
|
||||
|
|
||||
|
// // generate accessible routes map based on roles
|
||||
|
// const accessRoutes = await dispatch('permission/generateRoutes', roles, { root: true })
|
||||
|
// // dynamically add accessible routes
|
||||
|
// router.addRoutes(accessRoutes)
|
||||
|
|
||||
|
// // reset visited views and cached views
|
||||
|
// dispatch('tagsView/delAllViews', null, { root: true })
|
||||
|
// }
|
||||
|
} |
||||
|
|
||||
|
export default { |
||||
|
namespaced: true, |
||||
|
state, |
||||
|
mutations, |
||||
|
actions |
||||
|
} |
Loading…
Reference in new issue