- 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
|