| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)let lifeData = {};try{		lifeData = uni.getStorageSync('lifeData');}catch(e){	}let saveStateKeys = ['vuex_member_info', 'vuex_user_info','vuex_wechatOpenid'];const saveLifeData = function(key, value){		if(saveStateKeys.indexOf(key) != -1) {				let tmp = uni.getStorageSync('lifeData');				tmp = tmp ? tmp : {};		tmp[key] = value;				uni.setStorageSync('lifeData', tmp);	}}const store = new Vuex.Store({	state: {						vuex_member_info: lifeData.vuex_member_info ? lifeData.vuex_member_info : {mobile:''},		vuex_user_info: lifeData.vuex_user_info ? lifeData.vuex_user_info : {},		vuex_wechatOpenid:lifeData.vuex_wechatOpenid ? lifeData.vuex_wechatOpenid : '',		cartGoods:[],		creditGoods:[],		buyNowGoods:[],			},	mutations: {		$uStore(state, payload) {						let nameArr = payload.name.split('.');			let saveKey = '';			let len = nameArr.length;			if(len >= 2) {				let obj = state[nameArr[0]];				for(let i = 1; i < len - 1; i ++) {					obj = obj[nameArr[i]];				}				obj[nameArr[len - 1]] = payload.value;				saveKey = nameArr[0];			} else {								state[payload.name] = payload.value;				saveKey = payload.name;			}						saveLifeData(saveKey, state[saveKey])		}	},	actions: {				getUserInfo({ commit },backFu) {			if(this.state.user_info && this.state.user_info.userId) {				Vue.prototype.$u.api.checkToken().then((data) => {					if(data && data.code ===200) {						backFu(this.state.user_info)					}				})			} else {			    Vue.prototype.$u.api.userInfo().then((data) => {					console.log(data)			    	if(data && data.code ===200) {						Vue.prototype.$u.vuex('user_info', data.data)			    		backFu(data.data)			    	}			    })				}		},	}})export default store
 |