- import Vue from 'vue'
 - import Vuex from 'vuex'
 - 
 - import { getConfig, getInfo } from "@/common/api.js"
 - 
 - Vue.use(Vuex)
 - 
 - const store = new Vuex.Store({
 - 	state: {
 - 		token:"",
 - 		userInfo : {}, //用户信息
 - 		vipInfo : {},
 - 		configList : {},
 - 	},
 - 	mutations: {
 - 		// 初始化配置
 - 		initConfig(state){
 - 			console.log('initConfig 开始执行')
 - 			
 - 			if (!uni.$uv || !uni.$uv.http) {
 - 				console.error('uni.$uv.http 未初始化,请检查 uvUI 配置')
 - 				return
 - 			}
 - 			
 - 			getConfig({}).then(res=>{
 - 				console.log('getConfig 请求成功:', res)
 - 				uni.setStorageSync('configList', res.result)
 - 				
 - 					const configList = {
 - 						...state.configList,
 - 					}
 - 					if (res.code == 200) {
 - 						res.result.forEach(n => {
 - 							configList[n.keyName] = n.keyContent;
 - 							configList[n.keyName + '_keyValue'] = n.keyValue;
 - 						});
 - 					}
 - 					state.configList = configList
 - 					uni.$emit('initConfig', state.configList)
 - 					console.log('配置初始化完成:', state.configList)
 - 				
 - 			}).catch(error=>{
 - 				console.error('getConfig 请求失败:', error)
 - 			})
 - 		},
 - 		setUserInfo(state,obj){
 - 			state.userInfo = obj.userInfo
 - 			state.token = obj.token
 - 		},
 - 		getUserInfo(state, fn){
 - 			
 - 			if(!uni.getStorageSync('token')){
 - 				return
 - 			}
 - 			
 - 			getInfo({}).then(result=>{
 - 
 -                 state.userInfo = result.result.member || {}
 -                 state.vipInfo = result.result.vipInfo || {}
 - 
 - 				if(!result.result.member.nickName){
 - 					uni.navigateTo({
 - 						url:"/pages/login/index"
 - 					})
 - 				}
 - 			})
 - 		},
 - 		logout(state){
 - 			uni.showModal({
 - 				title: '确认退出登录吗',
 - 				success(r) {
 - 					if(r.confirm){
 - 						state.userInfo = {}
 - 						state.token = ""
 - 						uni.removeStorageSync('token')
 - 						uni.redirectTo({
 - 							url: '/pages/index/index'
 - 						})
 - 					}
 - 				}
 - 			})
 - 		},
 - 	},
 - })
 - 
 - export default store
 
 
  |