Update localforage to use jsinterface
This commit is contained in:
parent
6065676007
commit
5c2caf7556
@ -2804,7 +2804,8 @@ actions.prototype._clickStorageRemove = function (x, y) {
|
||||
|
||||
actions.prototype._clickStorageRemove_all = function () {
|
||||
core.myconfirm("你确定要清除【全部游戏】的所有本地存档?\n此行为不可逆!!!", function () {
|
||||
var done = function () {
|
||||
core.ui.drawWaiting("正在清空,请稍候...");
|
||||
core.clearLocalForage(function () {
|
||||
core.saves.ids = {};
|
||||
core.saves.autosave.data = null;
|
||||
core.saves.autosave.updated = false;
|
||||
@ -2816,9 +2817,7 @@ actions.prototype._clickStorageRemove_all = function () {
|
||||
core.control._updateFavoriteSaves();
|
||||
core.removeLocalStorage('saveIndex');
|
||||
core.drawText("\t[操作成功]你的所有存档已被清空。");
|
||||
};
|
||||
core.ui.drawWaiting("正在清空,请稍候...");
|
||||
localforage.clear(done);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -2285,7 +2285,7 @@ control.prototype.getAllSaves = function (callback) {
|
||||
////// 获得所有存在存档的存档位 //////
|
||||
control.prototype.getSaveIndexes = function (callback) {
|
||||
var indexes = {};
|
||||
localforage.keys(function (err, keys) {
|
||||
core.keysLocalForage(function (err, keys) {
|
||||
if (err) {
|
||||
main.log(err);
|
||||
return callback(indexes);
|
||||
|
||||
@ -257,12 +257,11 @@ utils.prototype.setLocalForage = function (key, value, successCallback, errorCal
|
||||
return;
|
||||
}
|
||||
|
||||
// Save to localforage
|
||||
var name = core.firstData.name + "_" + key;
|
||||
var str = JSON.stringify(value).replace(/[\u007F-\uFFFF]/g, function (chr) {
|
||||
return "\\u" + ("0000" + chr.charCodeAt(0).toString(16)).substr(-4)
|
||||
});
|
||||
var compressed = str.length > 100000 ? LZString.compress(str) : lzw_encode(str);
|
||||
localforage.setItem(core.firstData.name + "_" + key, compressed, function (err) {
|
||||
var callback = function (err) {
|
||||
if (err) {
|
||||
if (errorCallback) errorCallback(err);
|
||||
}
|
||||
@ -271,11 +270,21 @@ utils.prototype.setLocalForage = function (key, value, successCallback, errorCal
|
||||
else if (/^save\d+$/.test(key)) core.saves.ids[parseInt(key.substring(4))] = true;
|
||||
if (successCallback) successCallback();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (window.jsinterface && window.jsinterface.setLocalForage) {
|
||||
var id = setTimeout(null);
|
||||
core['__callback' + id] = callback;
|
||||
window.jsinterface.setLocalForage(id, name, str);
|
||||
} else {
|
||||
var compressed = str.length > 100000 ? LZString.compress(str) : lzw_encode(str);
|
||||
localforage.setItem(name, compressed, callback);
|
||||
}
|
||||
}
|
||||
|
||||
utils.prototype.getLocalForage = function (key, defaultValue, successCallback, errorCallback) {
|
||||
localforage.getItem(core.firstData.name + "_" + key, function (err, value) {
|
||||
var name = core.firstData.name + "_" + key;
|
||||
var callback = function (err, value) {
|
||||
if (err) {
|
||||
if (errorCallback) errorCallback(err);
|
||||
}
|
||||
@ -288,11 +297,20 @@ utils.prototype.getLocalForage = function (key, defaultValue, successCallback, e
|
||||
}
|
||||
successCallback(defaultValue);
|
||||
}
|
||||
})
|
||||
};
|
||||
|
||||
if (window.jsinterface && window.jsinterface.getLocalForage) {
|
||||
var id = setTimeout(null);
|
||||
core['__callback' + id] = callback;
|
||||
window.jsinterface.getLocalForage(id, name);
|
||||
} else {
|
||||
localforage.getItem(name, callback);
|
||||
}
|
||||
}
|
||||
|
||||
utils.prototype.removeLocalForage = function (key, successCallback, errorCallback) {
|
||||
localforage.removeItem(core.firstData.name + "_" + key, function (err) {
|
||||
var name = core.firstData.name + "_" + key;
|
||||
var callback = function (err) {
|
||||
if (err) {
|
||||
if (errorCallback) errorCallback(err);
|
||||
}
|
||||
@ -301,7 +319,56 @@ utils.prototype.removeLocalForage = function (key, successCallback, errorCallbac
|
||||
else if (/^save\d+$/.test(key)) delete core.saves.ids[parseInt(key.substring(4))];
|
||||
if (successCallback) successCallback();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
if (window.jsinterface && window.jsinterface.removeLocalForage) {
|
||||
var id = setTimeout(null);
|
||||
core['__callback' + id] = callback;
|
||||
window.jsinterface.removeLocalForage(id, name);
|
||||
} else {
|
||||
localforage.removeItem(name, callback);
|
||||
}
|
||||
}
|
||||
|
||||
utils.prototype.clearLocalForage = function (callback) {
|
||||
if (window.jsinterface && window.jsinterface.clearLocalForage) {
|
||||
var id = setTimeout(null);
|
||||
core['__callback' + id] = callback;
|
||||
window.jsinterface.clearLocalForage(id);
|
||||
} else {
|
||||
localforage.clear(callback);
|
||||
}
|
||||
}
|
||||
|
||||
utils.prototype.iterateLocalForage = function (iter, callback) {
|
||||
if (window.jsinterface && window.jsinterface.iterateLocalForage) {
|
||||
var id = setTimeout(null);
|
||||
core['__iter' + id] = iter;
|
||||
core['__callback' + id] = callback;
|
||||
window.jsinterface.iterateLocalForage(id);
|
||||
} else {
|
||||
localforage.iterate(iter, callback);
|
||||
}
|
||||
}
|
||||
|
||||
utils.prototype.keysLocalForage = function (callback) {
|
||||
if (window.jsinterface && window.jsinterface.keysLocalForage) {
|
||||
var id = setTimeout(null);
|
||||
core['__callback' + id] = callback;
|
||||
window.jsinterface.keysLocalForage(id);
|
||||
} else {
|
||||
localforage.keys(callback);
|
||||
}
|
||||
}
|
||||
|
||||
utils.prototype.lengthLocalForage = function (callback) {
|
||||
if (window.jsinterface && window.jsinterface.lengthLocalForage) {
|
||||
var id = setTimeout(null);
|
||||
core['__callback' + id] = callback;
|
||||
window.jsinterface.lengthLocalForage(id);
|
||||
} else {
|
||||
localforage.length(callback);
|
||||
}
|
||||
}
|
||||
|
||||
utils.prototype.setGlobal = function (key, value) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user