import {setStorageSync, removeStorageSync, getStorageSync} from '@tarojs/taro'; import {USER_TOKEN_STORAGE} from '@utils'; import {createStore} from 'zustand'; export const userStore = createStore(function (set) { const storage = getStorageSync(USER_TOKEN_STORAGE); let userName = '', power = '0x000000'; if (storage) { ({userName, power} = storage); } return { userName, power, init(data) { set(data); setStorageSync(USER_TOKEN_STORAGE, data); }, setPower(power) { set(function (prev) { setStorageSync(USER_TOKEN_STORAGE, {userName: prev.userName, power}); return {power}; }); }, logout() { set({token: '', userName: '', power: '0x000000'}); removeStorageSync(USER_TOKEN_STORAGE); }, }; });