/** * Created by y.x on 18/09/06. */ var dateutils = require('../utils/dateutils'); module.exports = { set: function (key, value) { try { jc.plat.setLocalStorage(key, value); return true; } catch (err) { console.log(err); } return false; }, get: function (key) { return jc.plat.getLocalStorage(key); }, setjson: function (key, value) { this.set(key, JSON.stringify(value)); }, getjson: function (key) { let str = this.get(key); if (str) { try { return JSON.parse(str); } catch (err) { } } return null; }, remove: function (key) { jc.plat.removeStorage(key); }, hasItem: function (key) { var result = jc.plat.getItem(key); if (jc.channelID == jc.channel.WECHAT) { if (result == '' && typeof (result) != 'number') { return false; } return true; } else { if (result == null || result == undefined) { return false; } return true; } // if(result){ // return true; // } // else{ // return false; // } }, setData: function (key, value) { var data = {}; data[key] = value; console.log('storage====set== ' + JSON.stringify(data)); return this.set(key, JSON.stringify(data)); }, getStringData: function (key) { console.log('storage====get== start' + key); var result = jc.plat.getItem(key); if (!result) { return '0'; } var data = null; try { data = JSON.parse(result); } catch (err) { console.log(err); } console.log('storage====get== ' + data); if (!data) { return '0'; } console.log('storage====get== ' + data[key]); return data[key]; }, setStorage: function (skey, svalue, successcb, failcb, timeorign_type, time_value) { var bok = this.set(skey, svalue); if (timeorign_type && time_value) { let sk = skey + '_expired'; let sv = { tm_tp: timeorign_type, tm_val: time_value, tm_now: dateutils.getCurrSeconds() }; this.setjson(sk, sv); } if (bok) { successcb && successcb(); } else { failcb && failcb(-1, 0, 'storage kev/value failed!k/v:' + skey + '/' + svalue); } }, setStorages: function (kvlist, successcb, failcb) { let bok = true; kvlist.forEach(element => { if (!this.set(element.key, element.value)) { bok = false; } }); if (bok) { successcb && successcb(); } else { failcb && failcb(-1, 0, 'storage kvlist failed!' + JSON.stringify(kvlist)); } }, getStorage: function (key, successcb, failcb) { let value = this.get(key); let sk = key + '_expired'; let tv = this.getjson(sk); if (!tv) { successcb && successcb(value); } else { let sec = dateutils.expiredSeconds(tv.tm_tp, tv.tm_val, tv.tm_now); if (sec <= 0) { successcb && successcb(null, sec, key); } else { successcb && successcb(value, sec, key); } } }, getStorages: function (keylist, successcb, failcb) { let lst = []; keylist.forEach(element => { let v = this.get(element); lst.push({ key: element, value: v }); }); successcb && successcb(lst); } };