/**
 * @desc 本地缓存 storage 操作类
 * @author zhangshuwei
 * @time 2022年12月20日
 * @Email 2966211270@qq.com
 */


/**
 * @desc  读取本地缓存
 * @param key 本地缓存key
 */
export const getStorage = (key: string): string => {
    return uni.getStorageSync(key)
}


/**
 * @desc 保存数据至本地缓存
 * @param key 本地缓存key
 * @param value 本地缓存value
 */
export const setStorage = (key: string, value: any) => {
    uni.setStorageSync(key, value)
}


/**
 * 清除指定缓存
 * @param {key} 清除指定缓存
 */
export const cleatStorage = (key?: string) => {
    if (key) {
        uni.removeStorageSync(key)
    } else {
        uni.clearStorageSync()
    }
}


/**
 * @desc 登录判断默认参数是否存在，不存在给默认值
 * @param {whiteArr} 需要给默认值的缓存
 */
export const jx_default_storage_plugin = () => {
    interface NewStorageType {
        key: string,
        value: any
    }
    let whiteArr: Array<NewStorageType> = [
        {
            key: 'isPlayShound',
            value: true
        },
        {
            key: 'isPrinterUpc',
            value: false
        },
        {
            key: 'printerRetrySize',
            value: '0'
        },
        {
            key: 'defaultPrinter',
            value: '2'
        },
        {
            key: 'printerCompatible',
            value: false
        },
        {
            key: 'printerGoodsMoney',
            value: false
        }
    ]

    for (let i = 0; i < whiteArr.length; i++) {
        if (!getStorage(whiteArr[i].key).toString()) {
            setStorage(whiteArr[i].key, whiteArr[i].value)
        }
    }
}