45 lines
821 B
JavaScript
45 lines
821 B
JavaScript
import Vue from 'vue'
|
|
import Vuex from 'vuex'
|
|
import {
|
|
loginByOpenid
|
|
} from '@/api/index'
|
|
|
|
Vue.use(Vuex)
|
|
|
|
const store = new Vuex.Store({
|
|
state: {
|
|
token: uni.getStorageSync("token") || '',
|
|
userInfo: {},
|
|
},
|
|
mutations: {
|
|
setToken(state, token) {
|
|
state.token = token;
|
|
uni.setStorageSync("token", token)
|
|
},
|
|
setUserInfo(state, userInfo) {
|
|
console.log(userInfo);
|
|
state.token = userInfo.openId;
|
|
uni.setStorageSync("token", userInfo.openId);
|
|
state.userInfo = userInfo;
|
|
},
|
|
},
|
|
actions: {
|
|
async getUserInfo({
|
|
commit,
|
|
state
|
|
}) {
|
|
if(!state.token) {
|
|
return
|
|
}
|
|
const res = await loginByOpenid({openid: state.token})
|
|
if(res.success) {
|
|
commit('setUserInfo', res.data);
|
|
} else {
|
|
commit('setToken', '')
|
|
}
|
|
}
|
|
}
|
|
})
|
|
|
|
export default store
|