更新 'SrcRdSet.js'

Ju
src48597962 2 years ago
parent c0760cb47e
commit a172efdc0b
  1. 343
      SrcRdSet.js

@ -39,7 +39,7 @@ function SRCSet() {
});
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"){
var filepath = "hiker://files/rules/Src/Juying/myjiexi.json";
}
@ -652,347 +652,6 @@ function jiekousave(urls,update,codedytype) {
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(){
addListener("onClose", $.toString(() => {

Loading…
Cancel
Save