WebApp【公共组件库】@前端(For Git Submodule)
chensiAb
2024-04-17 b26c02f9f1be4bf7e5c6fbb64ba3a2a13428c78f
common/LocalStorage.js
@@ -9,7 +9,7 @@
export class LocalStorage {
    constructor() {
        this._data = {
            prefixType: '',
            prefixType: process.env.TARO_ENV === 'h5' ? 'h5' : 'wx',
        };
    }
@@ -18,9 +18,22 @@
        this._data.prefixType = prefixType;
    }
    load(key) {
    load(key, defaultType = 'obj') {
        const name = 'AiSim.' + this._data.prefixType + '@' + key;
        return JSON.parse(Taro.getStorageSync(name) || '{}');
        const data = Taro.getStorageSync(name);
        if (data) {
            return JSON.parse(data);
        } else {
            if (defaultType === 'obj') {
                return {};
            } else if (defaultType === 'arr') {
                return [];
            }
        }
    }
    loadArr(key) {
        return this.load(key, 'arr');
    }
    save(key, value) {
@@ -59,6 +72,17 @@
        return matches;
    }
    // 清除本地存储工具保存的所有数据
    cleanAll() {
        const info = Taro.getStorageInfoSync();
        const prefixReg = /^AiSim\.[a-zA-Z]+@/;
        info.keys.forEach(storageKey => {
            if (prefixReg.test(storageKey)) {
                Taro.removeStorageSync(storageKey);
            }
        });
    }
}
export const $localStorage = new LocalStorage();