126 lines
2.4 KiB
JavaScript
126 lines
2.4 KiB
JavaScript
/**
|
||
*缓存在文件系统中
|
||
*/
|
||
(function(window) {
|
||
var u = {};
|
||
var cache_key = "APP_CACHAE";
|
||
|
||
/**
|
||
* 存入缓存
|
||
* true: 开启同步
|
||
* false: 异步
|
||
*/
|
||
u.put = function(key, value, sync) {
|
||
var caches = {};
|
||
if (sync == "undefined" ? false : sync) {
|
||
//同步返回结果:
|
||
var caches_str = api.getPrefs({
|
||
sync: true,
|
||
key: cache_key
|
||
});
|
||
if(caches_str){
|
||
caches = JSON.parse(caches_str);
|
||
}
|
||
caches[key] = value;
|
||
api.setPrefs({
|
||
key: cache_key,
|
||
value: caches
|
||
});
|
||
}else {
|
||
api.getPrefs({
|
||
key: cache_key
|
||
}, function(ret, err) {
|
||
if(ret) {
|
||
var caches_str = ret.value;
|
||
if(caches_str) {
|
||
caches = JSON.parse(caches_str);
|
||
}
|
||
caches[key] = value;
|
||
api.setPrefs({
|
||
key: cache_key,
|
||
value: caches
|
||
});
|
||
} else {
|
||
console.log("存入缓存失败: " + JSON.stringify(err));
|
||
}
|
||
});
|
||
}
|
||
};
|
||
|
||
/**
|
||
* 取出缓存
|
||
* 同步请求
|
||
*/
|
||
u.get = function(key) {
|
||
//同步返回结果:
|
||
var caches_str = api.getPrefs({
|
||
sync: true,
|
||
key: cache_key
|
||
});
|
||
// console.log("type:"+typeof caches_str);
|
||
if(""==caches_str){
|
||
console.log("没有缓存");
|
||
return caches_str;
|
||
}
|
||
var caches = JSON.parse(caches_str);
|
||
var _cache = caches[key];
|
||
if(!_cache) {
|
||
_cache = "";
|
||
console.log("不存在key为["+key+"]的缓存");
|
||
} else {
|
||
// console.log("key: ["+key+"], value: "+_cache);
|
||
}
|
||
|
||
return _cache;
|
||
}
|
||
|
||
/**
|
||
* 清除指定缓存
|
||
*/
|
||
u.clear = function(key) {
|
||
console.log("清除指定缓存:"+key);
|
||
//同步返回结果:
|
||
var caches_str = api.getPrefs({
|
||
sync: true,
|
||
key: cache_key
|
||
});
|
||
if(caches_str) {
|
||
var caches = JSON.parse(caches_str);
|
||
if (caches.hasOwnProperty(key)) {
|
||
delete caches[key];
|
||
api.setPrefs({
|
||
key: cache_key,
|
||
value: caches
|
||
});
|
||
console.log("已删除["+key+"]");
|
||
}else {
|
||
console.log("无法清除key为["+key+"]的缓存,因为不存在此key");
|
||
}
|
||
}
|
||
};
|
||
|
||
/**
|
||
* 清除所有缓存
|
||
*/
|
||
u.clearAll = function(){
|
||
api.setPrefs({
|
||
key: cache_key,
|
||
value: '{}'
|
||
});
|
||
console.log('清除缓存成功');
|
||
}
|
||
|
||
/**
|
||
* 打印所有缓存
|
||
*/
|
||
u.print = function(){
|
||
var caches_str = api.getPrefs({
|
||
sync: true,
|
||
key: cache_key
|
||
});
|
||
|
||
console.log(caches_str);
|
||
}
|
||
/* end */
|
||
window.$cache = u;
|
||
})(window);
|