114 lines
2.4 KiB
JavaScript
114 lines
2.4 KiB
JavaScript
import * as UserApi from '@/api/member/user.js';
|
|
import {
|
|
LOGIN_STATUS,
|
|
UID,
|
|
OPENID,
|
|
PLATFORM
|
|
} from '../../config/cache';
|
|
import Cache from '../../utils/cache';
|
|
import {
|
|
USER_INFO
|
|
} from '../../config/cache';
|
|
|
|
const state = {
|
|
token: Cache.get(LOGIN_STATUS) || '',
|
|
backgroundColor: "#fff",
|
|
userInfo: Cache.get(USER_INFO)?JSON.parse(Cache.get(USER_INFO)):null,
|
|
uid: Cache.get(UID) || null,
|
|
openid: Cache.get(OPENID) || null,
|
|
homeActive: false,
|
|
chatUrl: Cache.get('chatUrl') || '',
|
|
systemPlatform: Cache.get(PLATFORM)?Cache.get(PLATFORM):'',
|
|
productType: Cache.get('productType') || ''
|
|
};
|
|
|
|
const mutations = {
|
|
LOGIN(state, opt) {
|
|
state.token = opt.token;
|
|
Cache.set(LOGIN_STATUS, opt.token);
|
|
},
|
|
SETUID(state,val){
|
|
state.uid = val;
|
|
Cache.set(UID, val);
|
|
},
|
|
OPENID(state, val) {
|
|
state.openid = val;
|
|
Cache.set(OPENID, val);
|
|
},
|
|
UPDATE_LOGIN(state, token) {
|
|
state.token = token;
|
|
},
|
|
LOGOUT(state) {
|
|
state.token = undefined;
|
|
state.uid = undefined
|
|
Cache.clear(LOGIN_STATUS);
|
|
Cache.clear(UID);
|
|
Cache.clear(USER_INFO);
|
|
},
|
|
BACKGROUND_COLOR(state, color) {
|
|
state.color = color;
|
|
document.body.style.backgroundColor = color;
|
|
},
|
|
UPDATE_USERINFO(state, userInfo) {
|
|
state.userInfo = userInfo;
|
|
Cache.set(USER_INFO, userInfo);
|
|
},
|
|
OPEN_HOME(state) {
|
|
state.homeActive = true;
|
|
},
|
|
CLOSE_HOME(state) {
|
|
state.homeActive = false;
|
|
},
|
|
SET_CHATURL(state, chatUrl){
|
|
state.chatUrl = chatUrl;
|
|
},
|
|
SYSTEM_PLATFORM(state, systemPlatform){
|
|
state.systemPlatform = systemPlatform;
|
|
Cache.set(PLATFORM, systemPlatform);
|
|
},
|
|
//更新useInfo数据
|
|
changInfo(state, payload) {
|
|
state.userInfo[payload.amount1] = payload.amount2;
|
|
Cache.set(USER_INFO, state.userInfo);
|
|
},
|
|
//商品类型,用于区分视频号商品与一般商品
|
|
PRODUCT_TYPE(state, productType) {
|
|
state.productType = productType;
|
|
Cache.set('productType', productType);
|
|
}
|
|
};
|
|
|
|
const actions = {
|
|
USERINFO({
|
|
state,
|
|
commit
|
|
}, force) {
|
|
return new Promise(reslove => {
|
|
UserApi.getUserInfo().then(res => {
|
|
commit("UPDATE_USERINFO", res.data);
|
|
reslove(res.data);
|
|
})
|
|
}).catch(() => {
|
|
|
|
});
|
|
// debugger
|
|
// if (state.userInfo !== null && !force)
|
|
// return Promise.resolve(state.userInfo);
|
|
// else
|
|
// return new Promise(reslove => {
|
|
// getUserInfo().then(res => {
|
|
// commit("UPDATE_USERINFO", res.data);
|
|
// reslove(res.data);
|
|
// });
|
|
// }).catch(() => {
|
|
|
|
// });
|
|
}
|
|
};
|
|
|
|
export default {
|
|
state,
|
|
mutations,
|
|
actions
|
|
};
|