You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

233 lines
7.6 KiB

import { login, logout, getInfo } from '@/api/login'
import { Message } from 'element-ui'
const user = {
state: {
enable: sessionStorage.getItem('login') || 0,
name: sessionStorage.oaxLoginName || '',
showName: sessionStorage.oaxShowName || '',
email: sessionStorage.oaxLoginEmail || '',
phone: sessionStorage.oaxLoginPhone || '',
memberId: sessionStorage.oaxLoginMemberId || '',
accessToken: sessionStorage.oaxLoginAccessToken || '',
checkStatus: sessionStorage.oaxLoginCheckStatus || '',
level: sessionStorage.oaxLoginLevel || '',
registerType: sessionStorage.oaxLoginRegisterTypee || '',
source: sessionStorage.oaxLoginSource || '',
menus: [],
permissions: [],
linkPageName: '',
linkTime: sessionStorage.linkTime
},
mutations: {
SET_ENABLE: (state, enable) => {
state.enable = enable
},
SET_NAME: (state, name) => {
state.name = name
},
SET_SHOWNAME: (state, showName) => {
state.showName = showName
},
SET_EMAIL: (state, email) => {
state.email = email
},
SET_PHONE: (state, phone) => {
state.phone = phone
},
SET_MEMBERID: (state, memberId) => {
state.memberId = memberId
},
SET_ACCESSTOKEN: (state, accessToken) => {
state.accessToken = accessToken
},
SET_MENUS: (state, menus) => {
state.menus = menus
},
SET_PERMISSIONS: (state, permissions) => {
state.permissions = permissions
},
SET_LINKTIME: (state, linkTime) => {
state.linkTime = linkTime
},
SET_CHECKSTATUS: (state, checkStatus) => {
state.checkStatus = checkStatus
},
SET_LEVEL: (state, level) => {
state.level = level
},
SET_REGISTERTYPE: (state, registerType) => {
state.registerType = registerType
},
SET_SOURCE: (state, source) => {
state.source = source
}
},
actions: {
// 登录
Login({ commit }, userInfo) {
var _this = this
// const username = userInfo.username.trim()
return new Promise((resolve, reject) => {
login(userInfo)
.then(response => {
if (response.code === '10020') {
Message({
message: response.msg,
type: 'error',
duration: 5 * 1000
})
// _this.$message.error(response.msg)
sessionStorage.oaxRegisterMail = userInfo.username
_this.$router.push({ path: '/account_activation' })
return false
}
_this.loginLoad = false
if (response.success === true) {
sessionStorage.oaxLoginMemberId = response.data.memberId
sessionStorage.oaxLoginAccessToken = response.data.accessToken
sessionStorage.oaxLoginName = response.data.name
sessionStorage.oaxShowName = response.data.showName
sessionStorage.oaxLoginEmail = response.data.email
sessionStorage.oaxLoginPhone = response.data.phone
sessionStorage.oaxLoginCheckStatus = response.data.checkStatus
sessionStorage.oaxLoginLevel = response.data.level
sessionStorage.oaxLoginRegisterTypee = response.data.registerType
sessionStorage.oaxLoginSource = response.data.source
const data = response.data
// commit('SET_ENABLE', data.enable)
// sessionStorage.setItem('login', data.enable)
commit('SET_NAME', data.name)
commit('SET_SHOWNAME', data.showName)
commit('SET_EMAIL', data.email)
commit('SET_PHONE', data.phone)
commit('SET_MEMBERID', data.memberId)
commit('SET_ACCESSTOKEN', data.accessToken)
commit('SET_CHECKSTATUS', data.checkStatus)
commit('SET_LEVEL', data.level)
commit('SET_REGISTERTYPE', data.registerType)
commit('SET_SOURCE', data.source)
newFunction(data)
resolve()
} else {
Message({
message: response.msg,
type: 'error',
duration: 5 * 1000
})
// _this.$message.error(response.msg)
}
})
.catch(error => {
_this.loginLoad = false
Message({
message: '登录失败',
type: 'error',
duration: 5 * 1000
})
// _this.$message.error('登录失败')
console.log(error)
reject(error)
})
})
},
// 获取用户信息
GetInfo({ commit }) {
return new Promise((resolve, reject) => {
getInfo()
.then(response => {
const data = response.data
commit('SET_PERMISSIONS', data)
commit('SET_MENUS', data)
resolve(response)
})
.catch(error => {
reject(error)
})
})
},
// 获取用户信息
SetTime({ commit }, time) {
return new Promise((resolve, reject) => {
commit('SET_LINKTIME', time)
})
},
// 登出
LogOut({ commit, state }) {
// var _this = this
return new Promise((resolve, reject) => {
logout(state.enable)
.then(() => {
sessionStorage.removeItem('oaxLoginMemberId')
sessionStorage.removeItem('oaxLoginAccessToken')
sessionStorage.removeItem('oaxLoginName')
sessionStorage.removeItem('oaxShowName')
sessionStorage.removeItem('oaxLoginEmail')
sessionStorage.removeItem('oaxLoginPhone')
sessionStorage.removeItem('oaxLoginCheckStatus')
sessionStorage.removeItem('oaxLoginLevel')
sessionStorage.removeItem('oaxLoginRegisterTypee')
sessionStorage.removeItem('oaxLoginSource')
// commit('SET_ENABLE', 0)
commit('SET_MEMBERID', '')
commit('SET_SHOWNAME', '')
commit('SET_EMAIL', '')
commit('SET_PHONE', '')
commit('SET_CHECKSTATUS', '')
commit('SET_LEVEL', '')
commit('SET_REGISTERTYPE', '')
commit('SET_SOURCE', '')
commit('SET_ACCESSTOKEN', '')
commit('SET_PERMISSIONS', [])
sessionStorage.removeItem('login')
commit('SET_MENUS', [])
resolve()
})
.catch(error => {
reject(error)
})
})
},
// 前端 登出
FedLogOut({ commit }) {
// var _this = this
return new Promise(resolve => {
sessionStorage.removeItem('oaxLoginMemberId')
sessionStorage.removeItem('oaxLoginAccessToken')
sessionStorage.removeItem('oaxLoginName')
sessionStorage.removeItem('oaxShowName')
sessionStorage.removeItem('oaxLoginEmail')
sessionStorage.removeItem('oaxLoginPhone')
sessionStorage.removeItem('oaxLoginCheckStatus')
sessionStorage.removeItem('oaxLoginLevel')
sessionStorage.removeItem('oaxLoginRegisterTypee')
sessionStorage.removeItem('oaxLoginSource')
// commit('SET_ENABLE', 0)
commit('SET_MEMBERID', '')
commit('SET_SHOWNAME', '')
commit('SET_EMAIL', '')
commit('SET_PHONE', '')
commit('SET_CHECKSTATUS', '')
commit('SET_LEVEL', '')
commit('SET_REGISTERTYPE', '')
commit('SET_SOURCE', '')
commit('SET_ACCESSTOKEN', '')
commit('SET_PERMISSIONS', [])
sessionStorage.removeItem('login')
commit('SET_MENUS', [])
resolve()
})
}
}
}
export default user
function newFunction(data) {
//console.log(data.name)
}