/**
 * 本地存储工具类 
 * @author 冯聪
 */
export default class StorageUtil {

    /**
     * 获取存储
     * @param   key         key值
     * @param   decrypt     是否需要解密
     */
    public getStorage(key: string, decrypt = true): any {
        let value = cc.sys.localStorage.getItem(key);
        if (value) {
            if (decrypt) {

            }
            try {
                let new_value = JSON.parse(value)
                return new_value;
            }
            catch (err) {
                return value;
            }
        }
        else {
            return null;
        }
    }

    /**
     * 存储
     * @param   key     key值
     * @param   value   要存储的value值
     * @param   encrypt 是否需要加密
     */
    public setStorage(key: string, value: any, encrypt: boolean = true) {
        if (encrypt) {
            value = mk.encrypt.encrypt(value, gData.storageData.storageKey, gData.appData.appId);
        }
        cc.sys.localStorage.setItem(key, JSON.stringify(value));
    }

    /**
     * 清除所有缓存
     */
    public clear(){
        cc.sys.localStorage.clear();
    }
}
