mirror of
http://112.124.100.131/ebiz-ai/ebiz-ai-knowledge-manage.git
synced 2025-12-10 11:26:50 +08:00
153 lines
3.6 KiB
JavaScript
153 lines
3.6 KiB
JavaScript
import { login, logout, getInfo } from '@/api/app/user'
|
|
import { getToken, setToken, removeToken } from '@/assets/js/utils/auth'
|
|
|
|
const state = {
|
|
token: getToken(),
|
|
name: '',
|
|
avatar: '',
|
|
roles: []
|
|
}
|
|
|
|
const mutations = {
|
|
SET_TOKEN: (state, token) => {
|
|
state.token = token
|
|
},
|
|
SET_NAME: (state, name) => {
|
|
state.name = name
|
|
},
|
|
SET_AVATAR: (state, avatar) => {
|
|
state.avatar = avatar
|
|
},
|
|
SET_ROLES: (state, roles) => {
|
|
state.roles = roles
|
|
}
|
|
}
|
|
|
|
const actions = {
|
|
getSid({ commit }, data) {
|
|
commit('SET_SID', data)
|
|
},
|
|
setGroupList({ commit }, data) {
|
|
commit('SET_GROUPLIST', data)
|
|
},
|
|
setToken({ commit }, data) {
|
|
commit('SET_TOKEN', data)
|
|
},
|
|
removeRoles({ commit }) {
|
|
commit('SET_ROLES', [])
|
|
},
|
|
// user login
|
|
login({ commit }, userInfo) {
|
|
const { userName, password, captcha, captchaKey } = userInfo
|
|
return new Promise((resolve, reject) => {
|
|
login({
|
|
userName: userName.trim(),
|
|
password: password,
|
|
captcha: captcha ? captcha : undefined,
|
|
captchaKey: captchaKey ? captchaKey : undefined
|
|
})
|
|
.then(res => {
|
|
let numberResult = Number(res.content.result)
|
|
if (numberResult !== 0) {
|
|
switch (numberResult) {
|
|
case 51001:
|
|
// 需要发送 短信验证码
|
|
resolve({
|
|
code: numberResult
|
|
})
|
|
break
|
|
case 50024:
|
|
// 需要验证码
|
|
resolve({
|
|
code: numberResult,
|
|
message: res.content.resultMessage
|
|
})
|
|
break
|
|
case 51003:
|
|
// 需要验证码
|
|
resolve({
|
|
code: numberResult,
|
|
message: res.content.resultMessage
|
|
})
|
|
break
|
|
case 51004:
|
|
// 临期提示
|
|
resolve({
|
|
...res.content,
|
|
code: numberResult
|
|
})
|
|
break
|
|
default:
|
|
reject(res.content)
|
|
break
|
|
}
|
|
} else {
|
|
setToken(res.content.content)
|
|
commit('SET_TOKEN', res.content.content)
|
|
resolve({
|
|
...res.content,
|
|
code: 0
|
|
})
|
|
}
|
|
})
|
|
.catch(error => {
|
|
reject(error)
|
|
})
|
|
})
|
|
},
|
|
|
|
// get user info
|
|
getInfo({ commit, state }) {
|
|
return new Promise((resolve, reject) => {
|
|
getInfo(state.token)
|
|
.then(res => {
|
|
let roles = res.content.content.roleCodes || []
|
|
if (roles && roles.length > 0) {
|
|
// 验证返回的roles是否是一个非空数组
|
|
commit('SET_ROLES', roles)
|
|
}
|
|
sessionStorage.setItem(
|
|
'userInfo',
|
|
JSON.stringify(res.content.content)
|
|
)
|
|
commit('SET_NAME', res.content.content.userName)
|
|
resolve(res)
|
|
})
|
|
.catch(error => {
|
|
reject(error)
|
|
})
|
|
})
|
|
},
|
|
|
|
// user logout
|
|
logout({ commit, state }) {
|
|
return new Promise((resolve, reject) => {
|
|
logout(state.token)
|
|
.then(() => {
|
|
commit('SET_TOKEN', '')
|
|
removeToken()
|
|
resolve()
|
|
})
|
|
.catch(error => {
|
|
reject(error)
|
|
})
|
|
})
|
|
},
|
|
|
|
// remove token
|
|
resetToken({ commit }) {
|
|
return new Promise(resolve => {
|
|
commit('SET_TOKEN', '')
|
|
removeToken()
|
|
resolve()
|
|
})
|
|
}
|
|
}
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state,
|
|
mutations,
|
|
actions
|
|
}
|