十一 store/index.js

86 阅读1分钟
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex);


import { accountInfo } from '@/utils/api/login.js'
import createPersistedState from 'vuex-persistedstate' // 引入数据持久化插件

const store = new Vuex.Store({
	state:{
		userInfo:{
			status:false
		}
	},
	mutations:{
		setUserInfo( state , info ){
			state.userInfo = info;
			state.userInfo.status = true;
		}
	},
	actions:{
		async getUserInfo({commit}){
			//获取用户信息
			let res = await accountInfo();
			if( res.code =='200' ){
				commit('setUserInfo',res.data);
			}
		}
	},
	plugins: [
		createPersistedState({
			storage: { // 存储方式定义  
				getItem: (key) => uni.getStorageSync(key), // 获取  
				setItem: (key, value) => uni.setStorageSync(key, value), // 存储  
				removeItem: (key) => uni.removeStorageSync(key) // 删除  
			}
		})
	]
})
export default store