// 自定义一个简单的状态管理工具,不允许直接调用storage // 后续可以换vuex import {reactive,readonly} from 'vue' let userInfoString = uni.getStorageSync('userInfo') || '{}' let userInfoStore = JSON.parse(userInfoString) const userInfo = reactive({ userId:userInfoStore.userId, name:userInfoStore.name, userType:userInfoStore.userType }) let globalInfoString = uni.getStorageSync('userInfo') || '{}' let globalInfoStore = JSON.parse(globalInfoString) const globalInfo = reactive({ token:globalInfoStore['Qn_token'], loginToken:globalInfoStore['loginToken'] }) export const userAction = { getUserInfo:() => { return readonly(userInfo) }, setUserInfo:(newValue) =>{ let keys = Object.keys(newValue) keys.forEach(key => { if(userInfo.hasOwnProperty(key)) { userInfo[key] = newValue[key] } }) uni.setStorageSync('userInfo',JSON.stringify(userInfo)) } } export const globalAction = { getGlobalInfo:() => { return readonly(globalInfo) }, setGlobalInfo:(newValue) =>{ let keys = Object.keys(newValue) keys.forEach(key => { if(globalInfo.hasOwnProperty(key)) { globalInfo[key] = newValue[key] } }) uni.setStorageSync('globalInfo',JSON.stringify(globalInfo)) } }