该插件封装了一套缓存(接口返回的JSON、图片、文件) YXCache.js。
注: 所有缓存都储存在缓存文件夹中,所以直接使用api.clearCache即可清除所有缓存
依赖Apicloud的以下api对象:
api.connectionType api.addEventListener api.systemType api.hasPermission api.readFile api.writeFile api.download api.cacheDir api.require
依赖Apicloud的以下插件包:
fs
主要Api:
1、 addNetStatusListener 实时获取网络状态
YXNet.addNetStatusListener(function(ret){
});
ret的值:
unknown //未知
ethernet //以太网
wifi //wifi
2g //2G网络
3g //3G网络
4g //4G网络
none //无网络
//根据fileName读取文件
2、 readFile(fileName, callBack)
fileName: 文件名称(根据写入的文件名得来)
callBack: 读取文件回调
读取写入的缓存文件
//写入文件到缓存
3、 writeFile(json, fileName, callBack)
json: 需要缓存的json, eg:json可以是接口返回的json数据(即保存了接口数据)
fileName 设置缓存文件的名称,建议根据接口地址来,必须保持fileName的唯一性
callBack 写入文件的回调
-- 核心方法 -- //获取图片
4、 getCachePic(url)
获取图片地址(注:此处url必须是网络图片地址,后缀名为jpg,png,gif等等图片文件) 当前本地有缓存时,优先获取存储的本地路径, 没有缓存时,直接返回url,并且缓存图片到本地
YXCache.getCachePic('xxx')
//下载图片
5、 downPic(url, currentCallBack, successCallBack, errorCallBack)
url 为网络图片路径
currentCallBack 当前下载进度回调
successCallBack 当前下载成功回调
errorCallBack 当前下载失败回调
//缓存json
6、 parseJsonDwonPic(json,host)
此用法主要用于接口返回的json,会自动遍历json,去缓存图片
(注:json里的图片可为全路径,非全路径时,需要传入host去拼接)
YXCache.parseJsonDwonPic('{img:'img/eg.jpg'}','www.baidu.com/image')
YXCache.parseJsonDwonPic('{img:'www.baidu.com/image/img/eg.jpg'}')
以下为缓存文件方法、当有除图片以外的文件需要缓存时,可以使用以下方法去缓存文件和图片,使用方法同上三个方法
7、 getCacheFile
8、 downFile
9、 parseJsonDwonFile(json,host)