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() || 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
 | |
| };
 |