| 123456789101112131415161718192021222324252627282930313233 |
- 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);
- },
- };
- });
|