// +---------------------------------------------------------------------- // | CRMEB [ CRMEB赋能开发者,助力企业发展 ] // +---------------------------------------------------------------------- // | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved. // +---------------------------------------------------------------------- // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权 // +---------------------------------------------------------------------- // | Author: CRMEB Team // +---------------------------------------------------------------------- import { getUserInfo } from "../../api/user.js"; import { LOGIN_STATUS, NON_WIFI_AUTOPLAY, UID } from '../../config/cache'; import Cache from '../../utils/cache'; import { USER_INFO } from '../../config/cache'; const state = { token: Cache.get(LOGIN_STATUS) || false, backgroundColor: "#fff", userInfo: Cache.get(USER_INFO) || {}, uid: Cache.get(UID) || 0, homeActive: false, phoneStatus:true, pageFooter:uni.getStorageSync('pageFoot') || {}, autoplay: Cache.get(NON_WIFI_AUTOPLAY) || false, nearbyStore: 0 }; const mutations = { SETPHONESTATUS(state,val){ state.phoneStatus = val; }, LOGIN(state, opt) { state.token = opt.token; Cache.set(LOGIN_STATUS, opt.token, opt.time); }, SETUID(state,val){ state.uid = val; Cache.set(UID, val); }, UPDATE_LOGIN(state, token) { state.token = token; }, LOGOUT(state) { state.token = undefined; state.uid = undefined state.userInfo = {} Cache.clear(LOGIN_STATUS); Cache.clear(UID); Cache.clear(USER_INFO); Cache.clear('newcomerGift'); }, 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; }, FOOT_UPLOAD(state,data){ state.pageFooter = data }, SET_AUTOPLAY(state,data){ state.autoplay = data Cache.set(NON_WIFI_AUTOPLAY, data) }, SET_NEARBY(state,data){ state.nearbyStore = data } }; const actions = { USERINFO({ state, commit }, force) { if (state.userInfo !== null && !force) return Promise.resolve(state.userInfo); else return new Promise(reslove => { getUserInfo().then(res => { commit("UPDATE_USERINFO", res.data); Cache.set(USER_INFO, res.data); reslove(res.data); }); }).catch(() => { }); } }; export default { state, mutations, actions };