// utils/storage.js
export const storage = {
    // 设置存储
    setItem(key, value) {
        // #ifdef H5
        localStorage.setItem(key, JSON.stringify(value));
        // #endif
        
        // #ifdef APP || APP-PLUS || MP-WEIXIN
        try {
            uni.setStorageSync(key, JSON.stringify(value));
        } catch (e) {
            console.error('存储失败:', e);
        }
        // #endif
    },
    
    // 获取存储
    getItem(key) {
        let data = null;
        
        // #ifdef H5
        const rawData = localStorage.getItem(key);
        if (rawData) {
            try {
                data = JSON.parse(rawData);
            } catch (e) {
                console.error('H5数据解析失败:', e);
            }
        }
        // #endif
        
        // #ifdef APP || APP-PLUS || MP-WEIXIN
        const rawData = uni.getStorageSync(key);
        if (rawData) {
            try {
                // 统一处理：可能是字符串或对象
                data = typeof rawData === 'string' ? JSON.parse(rawData) : rawData;
            } catch (e) {
                console.error('小程序数据解析失败:', e);
                // 如果解析失败，尝试直接使用
                data = rawData;
            }
        }
        // #endif
        
        return data;
    }
};