//子页面读接口临时缓存 function readData(fileid,datatype){ let cachefile = `hiker://files/_cache/${fileid}.json`; let jkdata = {}; try{ let cachefiledata = fetch(cachefile); if(cachefiledata){ eval("jkdata=" + cachefiledata); }else{ let sourcefile = "hiker://files/rules/Src/Ju/jiekou.json"; let sourcedata = fetch(sourcefile); if(sourcedata != ""){ try{ eval("var datalist=" + sourcedata+ ";"); }catch(e){ var datalist = []; } }else{ var datalist = []; } let jklist = datalist.filter(it=>{ return (it.type+'_'+it.name) == fileid; }); if(jklist.length==1){ jkdata = jklist[0]; writeFile(cachefile,JSON.stringify(jkdata)); } } }catch(e){ xlog("接口数据加载失败>"+fileid+">"+e.message); } try{ let parse; let source; if(datatype==1){ eval("source = " + jkdata.parse); if (source && source.ext && /^http/.test(source.ext)) { requireCache(source.ext, 48); parse = yidata; } else { parse = source; } }else if(datatype==2){ eval("source = " + jkdata.erparse); if (source && source.ext && /^http/.test(source.ext)) { requireCache(source.ext, 48); parse = erdata; } else { parse = source; } }else if(datatype==3){ eval("source = " + jkdata.public); if (source && source.ext && /^http/.test(source.ext)) { requireCache(source.ext, 48); parse = ggdata; } else { parse = source; } } return parse; }catch(e){ xlog("读取接口本地缓存文件失败>"+e.message); return ""; } } let 一级 = function(fileid) { let info = storage0.getMyVar('一级源接口信息') || {}; let 标识 = info.type + "_" + info.name; fileid = fileid || 标识; return readData(fileid, 1) } let 二级 = function(fileid) { let info = storage0.getMyVar('二级源接口信息') || {}; let 标识 = info.type + "_" + info.name; fileid = fileid || 标识; return readData(fileid, 2) } let 公共 = function(fileid) { let info = storage0.getMyVar('二级源接口信息') || storage0.getMyVar('一级源接口信息') || {}; let 标识 = info.type + "_" + info.name; fileid = fileid || 标识; return readData(fileid, 3) } let 属性 = function(fileid, parse, attribut) { let 接口; eval("接口 = " + parse); return 接口(fileid)[attribut]; }; function 图片解密(key, iv, kiType, mode) { const CryptoUtil = $.require("http://hiker.nokia.press/hikerule/rulelist.json?id=6805&auth=5e44e1a1-51f6-5825-97ae-4d381341bc00"); let getData = (str, type) => { switch (type) { case "Hex": return CryptoUtil.Data.parseHex(str); case "Base64": return CryptoUtil.Data.parseBase64(str); case "UTF8": default: return CryptoUtil.Data.parseUTF8(str); } } let keyData = getData(key, kiType), ivData = getData(iv, kiType), textData = CryptoUtil.Data.parseInputStream(input); let encrypted = CryptoUtil.AES.decrypt(textData, keyData, { mode: mode, iv: ivData }); return encrypted.toInputStream(); } function 图片解密2(key, iv, kiType, mode, base64Dec) { try { if (input == null) throw new Error(""); const CryptoUtil = $.require("hiker://assets/crypto-java.js"); let getData = (str, type) => { switch (type) { case "Hex": return CryptoUtil.Data.parseHex(str); case "Base64": return CryptoUtil.Data.parseBase64(str); case "UTF8": default: return CryptoUtil.Data.parseUTF8(str); } } let keyData = getData(key, kiType); let ivData = getData(iv, kiType); let textData = CryptoUtil.Data.parseInputStream(input); if(base64Dec){ textData = textData.base64Decode(); } let encrypted = CryptoUtil.AES.decrypt(textData, keyData, { mode: mode, //"AES/CBC/PKCS7Padding", iv: ivData }); return encrypted.toInputStream(); } catch (e) { return; } } let exports = { "一级": 一级, "二级": 二级, "公共": 公共, "属性": 属性, "imageDecrypt": 图片解密, "imgDec": 图片解密2 } try{ let exportskeys = Object.keys(exports); let getexp = 公共() || {}; let arr = getexp.exports || []; arr.forEach(it => { if(!exportskeys.includes(it.key)){ let parse = eval('('+it.type+'())'); exports[it.key] = parse[it.key]; } }) }catch(e){} $.exports = exports