|
|
@ -39,7 +39,7 @@ function SRCSet() { |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
if(getMyVar('guanli', 'jk')=="jk"){ |
|
|
|
if(getMyVar('guanli', 'jk')=="jk"){ |
|
|
|
var filepath = "hiker://files/rules/Src/Juying/jiekou.json"; |
|
|
|
var filepath = "hiker://files/rules/Src/Read/source.json"; |
|
|
|
}else if(getMyVar('guanli', 'jk')=="jx"){ |
|
|
|
}else if(getMyVar('guanli', 'jk')=="jx"){ |
|
|
|
var filepath = "hiker://files/rules/Src/Juying/myjiexi.json"; |
|
|
|
var filepath = "hiker://files/rules/Src/Juying/myjiexi.json"; |
|
|
|
} |
|
|
|
} |
|
|
@ -652,347 +652,6 @@ function jiekousave(urls,update,codedytype) { |
|
|
|
return num; |
|
|
|
return num; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function jiekou(lx,data) { |
|
|
|
|
|
|
|
addListener("onClose", $.toString(() => { |
|
|
|
|
|
|
|
clearMyVar('apiname'); |
|
|
|
|
|
|
|
clearMyVar('apiurl'); |
|
|
|
|
|
|
|
clearMyVar('apitype'); |
|
|
|
|
|
|
|
clearMyVar('apiua'); |
|
|
|
|
|
|
|
clearMyVar('apiurls'); |
|
|
|
|
|
|
|
clearMyVar('addtype'); |
|
|
|
|
|
|
|
clearMyVar('isload'); |
|
|
|
|
|
|
|
clearMyVar('apigroup'); |
|
|
|
|
|
|
|
clearMyVar('apidata'); |
|
|
|
|
|
|
|
clearMyVar('isretain'); |
|
|
|
|
|
|
|
clearMyVar('isSaveAs'); |
|
|
|
|
|
|
|
})); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var d = []; |
|
|
|
|
|
|
|
if(lx!="update"){ |
|
|
|
|
|
|
|
setPageTitle("♥接口管理-新增"); |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: '添加方式:点击切换', |
|
|
|
|
|
|
|
col_type:'text_1', |
|
|
|
|
|
|
|
url: $('#noLoading#').lazyRule(()=>{ |
|
|
|
|
|
|
|
if(getMyVar('addtype', '1')=="1"){ |
|
|
|
|
|
|
|
putMyVar('addtype', '2'); |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
putMyVar('addtype', '1'); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return'toast://已切换'; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
if(getMyVar('isload', '0')=="0"){ |
|
|
|
|
|
|
|
setPageTitle("♥接口管理-变更"); |
|
|
|
|
|
|
|
putMyVar('apiname', data.name); |
|
|
|
|
|
|
|
putMyVar('apiurl', data.url); |
|
|
|
|
|
|
|
putMyVar('apitype', data.type); |
|
|
|
|
|
|
|
putMyVar('apiua', data.ua); |
|
|
|
|
|
|
|
putMyVar('apigroup', data.group?data.group:""); |
|
|
|
|
|
|
|
putMyVar('isretain', data.retain?data.retain:""); |
|
|
|
|
|
|
|
putMyVar('isload', '1'); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(getMyVar('addtype', '1')=="1"){ |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title:'apiname', |
|
|
|
|
|
|
|
col_type: 'input', |
|
|
|
|
|
|
|
desc: "接口名称", |
|
|
|
|
|
|
|
extra: { |
|
|
|
|
|
|
|
titleVisible: false, |
|
|
|
|
|
|
|
defaultValue: getMyVar('apiname', ''), |
|
|
|
|
|
|
|
onChange: 'putMyVar("apiname",input)' |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title:'apiurl', |
|
|
|
|
|
|
|
col_type: 'input', |
|
|
|
|
|
|
|
desc: getMyVar('apitype')=="xpath"?"接口地址以csp_xpath_为前缀":getMyVar('apitype')=="biubiu"?"接口地址以csp_biubiu_为前缀":getMyVar('apitype')=="custom"?"接口地址以csp_custom_为前缀":"接口地址", |
|
|
|
|
|
|
|
extra: { |
|
|
|
|
|
|
|
titleVisible: false, |
|
|
|
|
|
|
|
defaultValue: getMyVar('apitype')=="xpath"&&getMyVar('apiurl', '')==""?'csp_xpath_':getMyVar('apitype')=="biubiu"&&getMyVar('apiurl', '')==""?'csp_biubiu_':getMyVar('apitype')=="custom"&&getMyVar('apiurl', '')==""?'csp_custom_':getMyVar('apiurl', ''), |
|
|
|
|
|
|
|
onChange: 'putMyVar("apiurl",input)' |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
if(getMyVar('apitype')=="xpath"||getMyVar('apitype')=="biubiu"||getMyVar('apitype')=="custom"){ |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title:'data代码', |
|
|
|
|
|
|
|
col_type: 'input', |
|
|
|
|
|
|
|
desc: "对象数据格式要求非常高\n大佬来偿试写接口呀", |
|
|
|
|
|
|
|
extra: { |
|
|
|
|
|
|
|
titleVisible: false, |
|
|
|
|
|
|
|
highlight: true,//getMyVar('apidata', data&&data.data?JSON.stringify(data.data):"")
|
|
|
|
|
|
|
|
defaultValue: getMyVar('apidata')?JSON.stringify(JSON.parse(getMyVar('apidata')), null, "\t"):data&&data.data?JSON.stringify(data.data, null, "\t"):"", |
|
|
|
|
|
|
|
type: "textarea", |
|
|
|
|
|
|
|
height: 5, |
|
|
|
|
|
|
|
onChange: '/{|}/.test(input)?putMyVar("apidata",JSON.stringify(JSON.parse(input))):""' |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: getMyVar('apitype', '')==""?'类型:自动识别':'类型:'+getMyVar('apitype'), |
|
|
|
|
|
|
|
col_type:'text_1', |
|
|
|
|
|
|
|
url:$(["v1","app","v2","iptv","cms","xpath","biubiu","custom","自动"],3).select(()=>{ |
|
|
|
|
|
|
|
if(input=="自动"){ |
|
|
|
|
|
|
|
clearMyVar('apitype'); |
|
|
|
|
|
|
|
clearMyVar('apidata'); |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
putMyVar('apitype', input); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return'toast://已选择类型:' + input; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title:'批量添加', |
|
|
|
|
|
|
|
col_type: 'input', |
|
|
|
|
|
|
|
desc: "一行一个接口\n格式:名称#接口地址#类型#分组\n格式:名称#接口地址#类型\n格式:名称#接口地址\n类型可以留空,自动判断\n分组可以留空,空则取类型\n分隔符#可以用,号代替", |
|
|
|
|
|
|
|
extra: { |
|
|
|
|
|
|
|
titleVisible: false, |
|
|
|
|
|
|
|
type: "textarea", |
|
|
|
|
|
|
|
height: 10, |
|
|
|
|
|
|
|
onChange: 'putMyVar("apiurls",input)' |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: 'User-Agent:'+getMyVar('apiua','Dalvik/2.1.0'), |
|
|
|
|
|
|
|
col_type:'text_1', |
|
|
|
|
|
|
|
url:$(["Dalvik/2.1.0","Dart/2.13 (dart:io)","MOBILE_UA","PC_UA","自定义"],2).select(()=>{ |
|
|
|
|
|
|
|
if(input=="自定义"){ |
|
|
|
|
|
|
|
return $(getMyVar('apiua','Dalvik/2.1.0'),"输入指定ua").input(()=>{ |
|
|
|
|
|
|
|
putMyVar('apiua', input); |
|
|
|
|
|
|
|
refreshPage(true); |
|
|
|
|
|
|
|
return "toast://已指定ua:"+input; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
putMyVar('apiua', input); |
|
|
|
|
|
|
|
refreshPage(true); |
|
|
|
|
|
|
|
return "toast://已指定ua:"+input; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title:'分组名称:' + getMyVar('apigroup', ''), |
|
|
|
|
|
|
|
col_type: 'text_1', |
|
|
|
|
|
|
|
url:$(getMyVar('apigroup', ''),"输入分组名称,为空则取类型").input(()=>{ |
|
|
|
|
|
|
|
putMyVar('apigroup', input); |
|
|
|
|
|
|
|
refreshPage(true); |
|
|
|
|
|
|
|
return "toast://"+input; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
if(lx=="update"){ |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: getMyVar('isSaveAs', '')!="1"?'保存方式:覆盖':'保存方式:另存', |
|
|
|
|
|
|
|
col_type:'text_1', |
|
|
|
|
|
|
|
url:$('#noLoading#').lazyRule(()=>{ |
|
|
|
|
|
|
|
if(getMyVar('isSaveAs', '')!="1"){ |
|
|
|
|
|
|
|
putMyVar('isSaveAs', '1'); |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
clearMyVar('isSaveAs'); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return 'toast://已切换'; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title: getMyVar('isretain', '')!="1"?'强制保留:否':'强制保留:是', |
|
|
|
|
|
|
|
desc: getMyVar('isretain', '')!="1"?'资源码订阅更新时会被覆盖':'资源码订阅更新时保留此接口', |
|
|
|
|
|
|
|
col_type:'text_1', |
|
|
|
|
|
|
|
url:$('#noLoading#').lazyRule(()=>{ |
|
|
|
|
|
|
|
if(getMyVar('isretain', '')!="1"){ |
|
|
|
|
|
|
|
putMyVar('isretain', '1'); |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
clearMyVar('isretain'); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
refreshPage(false); |
|
|
|
|
|
|
|
return 'toast://已切换'; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
for (let i = 0; i < 10; i++) { |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
col_type: "blank_block" |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title:'测试', |
|
|
|
|
|
|
|
col_type:'text_3', |
|
|
|
|
|
|
|
url: $(getMyVar("testkey","我的"),"输入测试搜索关键字").input(()=>{ |
|
|
|
|
|
|
|
putMyVar("testkey",input); |
|
|
|
|
|
|
|
if(getMyVar('addtype', '1')=="1"&&!/^http|^csp/.test(getMyVar('apiurl',''))){return "toast://接口地址不正确"} |
|
|
|
|
|
|
|
return $('hiker://empty#noRecordHistory##noHistory#').rule((name) => { |
|
|
|
|
|
|
|
let apiurl = getMyVar('apiurl'); |
|
|
|
|
|
|
|
let apiname = getMyVar('apiname'); |
|
|
|
|
|
|
|
let apiurls = getMyVar('apiurls'); |
|
|
|
|
|
|
|
let apiua = getMyVar('apiua','Dalvik/2.1.0'); |
|
|
|
|
|
|
|
let datalist = []; |
|
|
|
|
|
|
|
require(config.依赖.match(/http(s)?:\/\/.*\//)[0] + 'SrcJySet.js'); |
|
|
|
|
|
|
|
if(getMyVar('addtype', '1')=="1"&&apiname&&apiurl){ |
|
|
|
|
|
|
|
let urltype = getMyVar('apitype'); |
|
|
|
|
|
|
|
let urlgroup = getMyVar('apigroup'); |
|
|
|
|
|
|
|
let arr = {"name": apiname, "url": apiurl, "ua": apiua, "type": urltype }; |
|
|
|
|
|
|
|
if(urlgroup){arr['group'] = urlgroup} |
|
|
|
|
|
|
|
if(getMyVar('apidata')){ |
|
|
|
|
|
|
|
try{ |
|
|
|
|
|
|
|
arr['data'] = JSON.parse(getMyVar('apidata')); |
|
|
|
|
|
|
|
}catch(e){ |
|
|
|
|
|
|
|
return "toast://data对象数据异常"; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
datalist.push(arr); |
|
|
|
|
|
|
|
}else if(getMyVar('addtype', '1')=="2"&&apiurls){ |
|
|
|
|
|
|
|
var urls = apiurls.replace(/,|,/g,"#").split('\n'); |
|
|
|
|
|
|
|
for (var i in urls) { |
|
|
|
|
|
|
|
let urlname = urls[i].split('#')[0]; |
|
|
|
|
|
|
|
let urlurl = urls[i].split('#')[1]; |
|
|
|
|
|
|
|
let urltype = urls[i].split('#')[2]; |
|
|
|
|
|
|
|
let urlgroup = urls[i].split('#')[3]||getMyVar('apigroup'); |
|
|
|
|
|
|
|
if(!datalist.some(item => item.url ==urlurl)&&urlname&&/^http/.test(urlurl)&&urltype){ |
|
|
|
|
|
|
|
let arr = { "name": urlname, "url": urlurl, "ua": apiua, "type": urltype }; |
|
|
|
|
|
|
|
if(urlgroup){datalist['group'] = urlgroup} |
|
|
|
|
|
|
|
datalist.push(arr); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
return "toast://无法测试,检查项目填写完整性"; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
require(config.依赖.match(/http(s)?:\/\/.*\//)[0] + 'SrcJyXunmi.js'); |
|
|
|
|
|
|
|
xunmi(name, datalist); |
|
|
|
|
|
|
|
},input); |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
if(lx=="update"){ |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title:'删除', |
|
|
|
|
|
|
|
col_type:'text_3', |
|
|
|
|
|
|
|
url: $("确定删除接口:"+data.name).confirm((dataurl)=>{ |
|
|
|
|
|
|
|
var filepath = "hiker://files/rules/Src/Juying/jiekou.json"; |
|
|
|
|
|
|
|
var datafile = fetch(filepath); |
|
|
|
|
|
|
|
eval("var datalist=" + datafile+ ";"); |
|
|
|
|
|
|
|
for(var i=0;i<datalist.length;i++){ |
|
|
|
|
|
|
|
if(datalist[i].url==dataurl){ |
|
|
|
|
|
|
|
datalist.splice(i,1); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
writeFile(filepath, JSON.stringify(datalist)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let cfgfile = "hiker://files/rules/Src/Juying/config.json"; |
|
|
|
|
|
|
|
let Juyingcfg=fetch(cfgfile); |
|
|
|
|
|
|
|
if(Juyingcfg != ""){ |
|
|
|
|
|
|
|
eval("var JYconfig=" + Juyingcfg+ ";"); |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
var JYconfig= {}; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if(JYconfig.zsjiekou&&JYconfig.zsjiekou.api_url==dataurl){ |
|
|
|
|
|
|
|
delete JYconfig['zsjiekou']; |
|
|
|
|
|
|
|
writeFile(cfgfile, JSON.stringify(JYconfig)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
back(true); |
|
|
|
|
|
|
|
return "toast://已删除"; |
|
|
|
|
|
|
|
}, data.url) |
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title:'清空', |
|
|
|
|
|
|
|
col_type:'text_3', |
|
|
|
|
|
|
|
url:$("确定要清空上面填写的内容?").confirm(()=>{ |
|
|
|
|
|
|
|
clearMyVar('apiname'); |
|
|
|
|
|
|
|
clearMyVar('apiurl'); |
|
|
|
|
|
|
|
clearMyVar('apiurls'); |
|
|
|
|
|
|
|
clearMyVar('apitype'); |
|
|
|
|
|
|
|
return "toast://已清空"; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
title:'保存', |
|
|
|
|
|
|
|
col_type:'text_3', |
|
|
|
|
|
|
|
url: $().lazyRule((lx,data)=>{ |
|
|
|
|
|
|
|
if(getMyVar('addtype', '1')=="1"&&!/^http|^csp/.test(getMyVar('apiurl',''))){return "toast://接口地址不正确"} |
|
|
|
|
|
|
|
require(config.依赖.match(/http(s)?:\/\/.*\//)[0] + 'SrcJySet.js'); |
|
|
|
|
|
|
|
var urls= []; |
|
|
|
|
|
|
|
let apiurl = getMyVar('apiurl'); |
|
|
|
|
|
|
|
let apiname = getMyVar('apiname'); |
|
|
|
|
|
|
|
let apiurls = getMyVar('apiurls'); |
|
|
|
|
|
|
|
let apiua = getMyVar('apiua','Dalvik/2.1.0'); |
|
|
|
|
|
|
|
let isupdate = 0; |
|
|
|
|
|
|
|
if(getMyVar('addtype', '1')=="1"&&apiname&&apiurl){ |
|
|
|
|
|
|
|
let urltype = getMyVar('apitype'); |
|
|
|
|
|
|
|
let apigroup = getMyVar('apigroup'); |
|
|
|
|
|
|
|
let apidata = getMyVar('apidata'); |
|
|
|
|
|
|
|
let arr = {"name": apiname.trim(), "url": apiurl.trim(), "ua": apiua, "type": urltype }; |
|
|
|
|
|
|
|
if(apigroup){arr['group'] = apigroup} |
|
|
|
|
|
|
|
if(apidata){ |
|
|
|
|
|
|
|
try{ |
|
|
|
|
|
|
|
arr['data'] = JSON.parse(apidata); |
|
|
|
|
|
|
|
}catch(e){ |
|
|
|
|
|
|
|
return "toast://data对象数据异常"; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
let isretain = getMyVar('isretain')=="1"?1:0; |
|
|
|
|
|
|
|
if(isretain){arr['retain'] = 1;} |
|
|
|
|
|
|
|
if(lx=="update"){ |
|
|
|
|
|
|
|
isupdate = 1; |
|
|
|
|
|
|
|
if((apiurl==data.url&&apiname==data.name&&apiua==data.ua&&urltype==data.type&&isretain==data.retain&&apigroup==(data.group?data.group:'')&&apidata==(data.data?JSON.stringify(data.data):''))){ |
|
|
|
|
|
|
|
return "toast://未修改"; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
arr['oldurl'] = data.url; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
urls.push(arr); |
|
|
|
|
|
|
|
}else if(getMyVar('addtype', '1')=="2"&&apiurls){ |
|
|
|
|
|
|
|
let list = apiurls.replace(/,|,/g,"#").split('\n'); |
|
|
|
|
|
|
|
for (var i in list) { |
|
|
|
|
|
|
|
let urlname = list[i].split('#')[0]; |
|
|
|
|
|
|
|
let urlurl = list[i].split('#')[1]; |
|
|
|
|
|
|
|
let urltype = list[i].split('#')[2]; |
|
|
|
|
|
|
|
let urlgroup = list[i].split('#')[3]||""; |
|
|
|
|
|
|
|
let arr = { "name": urlname.trim(), "url": urlurl.trim(), "ua": apiua, "type": urltype }; |
|
|
|
|
|
|
|
if(urlgroup){arr['group'] = urlgroup} |
|
|
|
|
|
|
|
urls.push(arr); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
return "toast://无法保存,检查项目填写完整性"; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if(urls.length==0){ |
|
|
|
|
|
|
|
return'toast://失败>无数据'; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
if(getMyVar('isSaveAs','')=="1"){ |
|
|
|
|
|
|
|
isupdate = 0; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
var jknum = jiekousave(urls, isupdate); |
|
|
|
|
|
|
|
if(jknum<0){ |
|
|
|
|
|
|
|
return'toast://失败>内容异常'; |
|
|
|
|
|
|
|
}else if(jknum==0&&urls.length==1){ |
|
|
|
|
|
|
|
return'toast://已存在'; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
back(true); |
|
|
|
|
|
|
|
if(urls.length==1){ |
|
|
|
|
|
|
|
return "toast://保存成功"; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
return "toast://合计:"+urls.length+",保存:"+jknum; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}, lx, data) |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
for (let i = 0; i < 10; i++) { |
|
|
|
|
|
|
|
d.push({ |
|
|
|
|
|
|
|
col_type: "blank_block" |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
setHomeResult(d); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//扩展中心
|
|
|
|
//扩展中心
|
|
|
|
function extension(){ |
|
|
|
function extension(){ |
|
|
|
addListener("onClose", $.toString(() => { |
|
|
|
addListener("onClose", $.toString(() => { |
|
|
|