import Taro from '../../index' declare module '../../index' { /** @ignore */ type TypedArray = | Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array namespace setStorage { interface Option { /** 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */ data: any /** 本地缓存中指定的 key */ key: string /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: (res: TaroGeneral.CallbackResult) => void /** 接口调用失败的回调函数 */ fail?: (res: TaroGeneral.CallbackResult) => void /** 接口调用成功的回调函数 */ success?: (res: TaroGeneral.CallbackResult) => void } } namespace removeStorage { interface Option { /** 本地缓存中指定的 key */ key: string /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: (res: TaroGeneral.CallbackResult) => void /** 接口调用失败的回调函数 */ fail?: (res: TaroGeneral.CallbackResult) => void /** 接口调用成功的回调函数 */ success?: (res: TaroGeneral.CallbackResult) => void } } namespace getStorageInfoSync { interface Option { /** 当前占用的空间大小, 单位 KB */ currentSize: number /** 当前 storage 中所有的 key */ keys: string[] /** 限制的空间大小,单位 KB */ limitSize: number /** 是否执行成功 * @supported alipay */ success?: boolean } } namespace getStorageInfo { interface Option { /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: (res: TaroGeneral.CallbackResult) => void /** 接口调用失败的回调函数 */ fail?: (res: TaroGeneral.CallbackResult) => void /** 接口调用成功的回调函数 */ success?: (option: SuccessCallbackOption) => void } interface SuccessCallbackOption { /** 当前占用的空间大小, 单位 KB */ currentSize: number /** 当前 storage 中所有的 key */ keys: string[] /** 限制的空间大小,单位 KB */ limitSize: number } } namespace getStorage { interface Option { /** 本地缓存中指定的 key */ key: string /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: (res: TaroGeneral.CallbackResult) => void /** 接口调用失败的回调函数 */ fail?: (res: TaroGeneral.CallbackResult) => void /** 接口调用成功的回调函数 */ success?: (result: SuccessCallbackResult) => void } interface SuccessCallbackResult extends TaroGeneral.CallbackResult { /** key对应的内容 */ data: T /** 调用结果 */ errMsg: string } } namespace clearStorage { interface Option { /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: (res: TaroGeneral.CallbackResult) => void /** 接口调用失败的回调函数 */ fail?: (res: TaroGeneral.CallbackResult) => void /** 接口调用成功的回调函数 */ success?: (res: TaroGeneral.CallbackResult) => void } } namespace batchSetStorageSync { interface Option { /** [{ key, value }] */ kvList: kv[] } interface kv { /** key 本地缓存中指定的 key */ key: string /** data 需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify序列化的对象。*/ value: any } } namespace batchSetStorage { interface Option { /** [{ key, value }] */ kvList: kv[] /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: (res: TaroGeneral.CallbackResult) => void /** 接口调用失败的回调函数 */ fail?: (res: TaroGeneral.CallbackResult) => void /** 接口调用成功的回调函数 */ success?: (res: TaroGeneral.CallbackResult) => void } interface kv { /** key 本地缓存中指定的 key */ key: string /** data 需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify序列化的对象。*/ value: any } } namespace batchGetStorage { interface Option { /** 本地缓存中指定的 keyList */ keyList: string[] /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: (res: TaroGeneral.CallbackResult) => void /** 接口调用失败的回调函数 */ fail?: (res: TaroGeneral.CallbackResult) => void /** 接口调用成功的回调函数 */ success?: (res: TaroGeneral.CallbackResult) => void } } interface TaroStatic { /** Taro.setStorage 的同步版本 * @supported weapp, alipay, swan, jd, qq, tt, h5, harmony_hybrid * @example * ```tsx * Taro.setStorage({ * key:"key", * data:"value" * }) * ``` * @example * ```tsx * try { * Taro.setStorageSync('key', 'value') * } catch (e) { } * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorageSync.html */ setStorageSync( /** 本地缓存中指定的 key */ key: string, /** 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */ data: any, ): void /** 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 * @supported weapp, alipay, swan, jd, qq, tt, h5, rn, harmony, harmony_hybrid * @example * ```tsx * Taro.setStorage({ * key:"key", * data:"value" * }) * ``` * ```tsx * try { * Taro.setStorageSync('key', 'value') * } catch (e) { } * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorage.html */ setStorage(option: setStorage.Option): Promise /** 根据 URL 销毁存在内存中的数据 * @supported weapp * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.revokeBufferURL.html */ revokeBufferURL( /** 需要销毁的二进制数据 URL */ url: string ): void /** Taro.removeStorage 的同步版本 * @supported weapp, alipay, swan, jd, qq, tt, h5, harmony_hybrid * @example * ```tsx * try { * Taro.removeStorageSync('key') * } catch (e) { * // Do something when catch error * } * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorageSync.html */ removeStorageSync( /** 本地缓存中指定的 key */ key: string, ): void /** 从本地缓存中移除指定 key * @supported weapp, alipay, swan, jd, qq, tt, h5, rn, harmony, harmony_hybrid * @example * ```tsx * Taro.removeStorage({ * key: 'key', * success: function (res) { * console.log(res) * } * }) * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorage.html */ removeStorage(option: removeStorage.Option): Promise /** Taro.getStorage 的同步版本 * @supported weapp, alipay, swan, jd, qq, tt, h5, harmony_hybrid * @example * ```tsx * try { * var value = Taro.getStorageSync('key') * if (value) { * // Do something with return value * } * } catch (e) { * // Do something when catch error * } * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageSync.html */ getStorageSync( /** 本地缓存中指定的 key */ key: string, ): T /** Taro.getStorageInfo 的同步版本 * @supported weapp, alipay, swan, jd, qq, tt, h5, harmony_hybrid * @example * ```tsx * try { * const res = Taro.getStorageInfoSync() * console.log(res.keys) * console.log(res.currentSize) * console.log(res.limitSize) * } catch (e) { * // Do something when catch error * } * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfoSync.html */ getStorageInfoSync(): getStorageInfoSync.Option /** 异步获取当前storage的相关信息 * @supported weapp, alipay, swan, jd, qq, tt, h5, rn, harmony_hybrid * @example * ```tsx * Taro.getStorageInfo({ * success: function (res) { * console.log(res.keys) * console.log(res.currentSize) * console.log(res.limitSize) * } * }) * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfo.html */ getStorageInfo(option?: getStorageInfo.Option): Promise /** 从本地缓存中异步获取指定 key 的内容 * @supported weapp, alipay, swan, jd, qq, tt, h5, rn, harmony, harmony_hybrid * @example * ```tsx * Taro.getStorage({ * key: 'key', * success: function (res) { * console.log(res.data) * } * }) * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorage.html */ getStorage(option: getStorage.Option): Promise> /** 根据传入的 buffer 创建一个唯一的 URL 存在内存中 * @supported weapp * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.createBufferURL.html */ createBufferURL( /** 需要存入内存的二进制数据 */ buffer: ArrayBuffer | TypedArray ): string /** Taro.clearStorage 的同步版本 * @supported weapp, alipay, swan, jd, qq, tt, h5, harmony_hybrid * @example * ```tsx * try { * Taro.clearStorageSync() * } catch(e) { * // Do something when catch error * } * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorageSync.html */ clearStorageSync(): void /** 清理本地数据缓存 * @supported weapp, alipay, swan, jd, qq, tt, h5, rn, harmony_hybrid * @example * ```tsx * Taro.clearStorage() * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorage.html */ clearStorage(option?: clearStorage.Option): Promise /** 将数据批量存储在本地缓存中指定的 key 中。 * 会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。 * 单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 * @supported weapp * @example * ```tsx * try { * Taro.batchSetStorageSync([{key: 'key', value: 'value'}]) * } catch (e) { } * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchGetStorageSync.html */ batchSetStorageSync(option: batchSetStorageSync.Option): void /** 将数据批量存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。 * 除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。 * 单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 * @supported weapp * @example * ```tsx * Taro.batchGetStorage({ * keyList: ['key'] * success(res) { * console.log(res) * } * }) * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchGetStorage.html */ batchSetStorage(option: batchSetStorage.Option): Promise /** 从本地缓存中同步批量获取指定 key 的内容。 * @supported weapp * @example * ```tsx * try { * var valueList = Taro.batchGetStorageSync(['key']) * if (valueList) { * // Do something with return value * } * } catch (e) { * // Do something when catch error * } * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchGetStorageSync.html */ batchGetStorageSync( /** 本地缓存中指定的 key 数组 */ keyList: string[] ): T[] /** 从本地缓存中异步批量获取指定 key 的内容。 * @supported weapp * @example * ```tsx * Taro.batchGetStorage({ * keyList: ['key'], * success(res) { * console.log(res) * } * }) * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchGetStorage.html */ batchGetStorage(option: batchGetStorage.Option): Promise } }