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