import Vue from 'vue' import Vuex from 'vuex' import api from "@/api/api" import MinCache from'@/common/util/MinCache.js' import { ACCESS_TOKEN,USER_NAME,USER_INFO } from "@/common/util/constants" Vue.use(Vuex) export default new Vuex.Store({ state: { token: sessionStorage.getItem('token')||'', sessionId:sessionStorage.getItem('sessionId')||'', indexId:sessionStorage.getItem('indexId')||'', userid:sessionStorage.getItem('userid')||'', username:sessionStorage.getItem('username')||'', realname: sessionStorage.getItem('realname')||'', welcome: sessionStorage.getItem('welcome')||'', avatar:sessionStorage.getItem('avatar')||'', orgCode:sessionStorage.getItem('orgCode')||'', rzdate:sessionStorage.getItem('rzdate')||'',//入职时间 birthdate:sessionStorage.getItem('birthdate')||'',//生日 id:sessionStorage.getItem('id')||'',//查看考勤人员id date:sessionStorage.getItem('date')||'',//查看考勤人员日期 departId:sessionStorage.getItem('departId')||'',//查询部门人员信息id teamUserId:sessionStorage.getItem('teamUserId')||'',//查看团队人员信息id tmsUserId:sessionStorage.getItem('tmsUserId')||'',//查看团队人员个人信息id wagesDate:sessionStorage.getItem('wagesDate')||'',//查看个人工资参数 wagesId:sessionStorage.getItem('wagesId')||'',//查看个人工资参数人事 emilCode:sessionStorage.getItem('emilCode')||'',//邮箱验证码 chatname:sessionStorage.getItem('chatname')||'',//邮箱验证码 chatid:sessionStorage.getItem('chatid')||'', user: { home: { id: sessionStorage.getItem('chatid'), name: sessionStorage.getItem('chatname'), img: sessionStorage.getItem('chatimg') }, customer: { id: sessionStorage.getItem('userid'), name: sessionStorage.getItem('username'), img: sessionStorage.getItem('avatar') } }, }, mutations: { SET_USERID: (state, userid) => { sessionStorage.setItem('userid',userid) state.userid = userid }, SET_CHAT: (state, {chatname,chatid,chatimg}) => { sessionStorage.setItem('chatname',chatname) sessionStorage.setItem('chatid',chatid) sessionStorage.setItem('chatimg',chatimg) state.chatname = chatname state.chatid=chatid }, SET_INDEXID: (state, indexId) => { sessionStorage.setItem('indexId',indexId) state.indexId = indexId }, SET_TOKEN: (state, token) => { sessionStorage.setItem('token',token) state.token = token }, SET_SESSIONID: (state, sessionId) => { sessionStorage.setItem('sessionId',sessionId) state.sessionId = sessionId }, SET_NAME: (state, { username, realname, welcome }) => { sessionStorage.setItem('sessionId',username) sessionStorage.setItem('sessionId',realname) sessionStorage.setItem('sessionId',welcome) state.username = username state.realname = realname state.welcome = welcome }, SET_RZDATE: (state,rzdate) => { sessionStorage.setItem('rzdate',rzdate) state.rzdate = rzdate }, SET_NPMUSER: (state, {id,date}) => { sessionStorage.setItem('id',id) sessionStorage.setItem('date',date) state.id = id state.date = date }, SET_AVATAR: (state, avatar) => { sessionStorage.setItem('avatar',avatar) state.avatar = avatar }, SET_DEPARTID: (state,departId) => { sessionStorage.setItem('departId',departId) state.departId = departId }, SET_TEAMUSERID: (state,teamUserId) => { sessionStorage.setItem('teamUserId',teamUserId) state.teamUserId = teamUserId }, SET_TEMUSERID: (state,tmsUserId) => { sessionStorage.setItem('tmsUserId',tmsUserId) state.tmsUserId = tmsUserId }, SET_WAGESDATE: (state,wagesDate) => { sessionStorage.setItem('wagesDate',wagesDate) state.wagesDate = wagesDate }, SET_WAGESID: (state,wagesId) => { sessionStorage.setItem('wagesId',wagesId) state.wagesId = wagesId }, SET_BIRTHDATE: (state,birthdate) => { sessionStorage.setItem('birthdate',birthdate) state.birthdate = birthdate }, SET_EMILCODE: (state,emilCode) => { sessionStorage.setItem('emilCode',emilCode) state.emilCode = emilCode } }, actions: { // 登录 mLogin({ commit }, userInfo) { console.log("mLogin",userInfo) return new Promise((resolve, reject) => { api.login(userInfo).then(response => { if(response.data.code ==200){ const result = response.data.result const userInfo = result.userInfo let avatar=(userInfo.avatar && userInfo.avatar.length > 0)? api.getFileAccessHttpUrl(userInfo.avatar):'/static/avatar_boy.png' uni.setStorageSync(ACCESS_TOKEN,result.token); uni.setStorageSync(USER_INFO,userInfo); commit('SET_TOKEN', result.token) commit('SET_SESSIONID', result.sessionId) commit('SET_AVATAR', avatar) commit('SET_USERID',userInfo.id) commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname}) commit('SET_RZDATE',userInfo.entryDate) commit('SET_BIRTHDATE',userInfo.birthday) resolve(response) }else{ resolve(response) } }).catch(error => { console.log("catch===>response",response) reject(error) }) }) }, //手机号登录 PhoneLogin({ commit }, userInfo) { return new Promise((resolve, reject) => { api.phoneNoLogin(userInfo).then(response => { if(response.code =='200'){ const result = response.result const userInfo = result.userInfo commit('SET_TOKEN', result.token) commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname}) commit('SET_AVATAR', userInfo.avatar) resolve(response) }else{ reject(response) } }).catch(error => { reject(error) }) }) }, // 登出 Logout({ commit, state }) { return new Promise((resolve) => { let logoutToken = state.token; /* commit('SET_TOKEN', '') commit('SET_SESSIONID', '') uni.removeStorageSync(ACCESS_TOKEN) */ api.logout(logoutToken).then(() => { commit('SET_TOKEN', ''); //uni.removeStorageSync(ACCESS_TOKEN); resolve() }).catch(() => { resolve() }) }) }, }, getters:{ token: state => state.token, sessionId: state => state.sessionId, username: state => {state.username=uni.getStorageSync(USER_INFO).username; return state.username}, realname: state => {state.realname=uni.getStorageSync(USER_INFO).realname; return state.realname}, nickname: state => {state.userid=uni.getStorageSync(USER_INFO).realname; return state.user.realname}, userid:state => state.userid, orgCode:state => {state.orgCode=uni.getStorageSync(USER_INFO).orgCode; return state.orgCode}, id:state =>state.id, date:state => state.date, departId:state => state.departId, teamUserId:state => state.teamUserId, tmsUserId:state => state.tmsUserId, wagesDate:state => state.wagesDate, wagesId:state =>state.wagesId, rzdate:state =>state.rzdate, birthdate:state =>state.birthdate, emilCode:state =>state.emilCode, avatar:state => state.avatar, indexId:state => state.indexId, user:state=>state.user, chatname:state=>state.chatname, chatid:state=>state.chatid }, })