更新 'SrcJuPublic.js'

Ju
src48597962 9 months ago
parent 9bc3762f2b
commit 49a95a6441
  1. 157
      SrcJuPublic.js

@ -92,46 +92,14 @@ function getListData(lx, selectType) {
} }
//选择主页源新方法hikerPop //选择主页源新方法hikerPop
function selectSource2(selectType) { function selectSource2(selectType) {
//const runtimeConfig = GM.defineModule("runtimeConfig");
//let source = runtimeConfig.getCurrentSource();
//let name = source ? source.name : "";
const hikerPop = $.require("http://hiker.nokia.press/hikerule/rulelist.json?id=6966"); const hikerPop = $.require("http://hiker.nokia.press/hikerule/rulelist.json?id=6966");
/* let sourcename = Juconfig[runMode + 'sourcename'];
let sourceNameList = runtimeConfig.getAllSource().map(v => { let sourceList = getListData("yi", selectType);
return v.name == name ? "‘‘" + v.name + "’’" : v.name;
});
*/
let name = Juconfig[runMode + 'sourcename'];
let sourceNameList = getListData("yi", selectType);
hikerPop.setUseStartActivity(false); hikerPop.setUseStartActivity(false);
/*
function naturalSort(a, b) {
a = a.replace(/[’‘]/g, "");
b = b.replace(/[’‘]/g, "");
return a.localeCompare(b, undefined, {
numeric: true,
sensitivity: 'base'
});
}
*/
let spen = 3; let names = sourceList.map(v => v.name == sourcename ? "‘‘" + v.name + "’’" : v.name);
/*
let items = sourceNameList.map((x, i) => {
return {
title: x,
url: i
}
})
*/
let names = sourceNameList.map(v => v.name == name ? "‘‘" + v.name + "’’" : v.name);
let sname = names.slice(); let sname = names.slice();
let manage_all = names.slice(); let manage_all = names.slice();
@ -139,7 +107,7 @@ function selectSource2(selectType) {
let pop = hikerPop.selectBottomRes({ let pop = hikerPop.selectBottomRes({
options: names, options: names,
columns: spen, columns: spen,
title: "当前源>" + name, title: "当前源>" + sourcename,
noAutoDismiss: true, noAutoDismiss: true,
position: 1, position: 1,
extraInputBox: new hikerPop.ResExtraInputBox({ extraInputBox: new hikerPop.ResExtraInputBox({
@ -162,27 +130,16 @@ function selectSource2(selectType) {
titleVisible: false titleVisible: false
}), }),
longClick(s, i) { longClick(s, i) {
/*
showSelectOptions({ showSelectOptions({
title: "分享视频源", title: "分享视频源",
options: ["JS文件分享"].concat(getPastes()), options: ["JS文件分享"].concat(getPastes()),
col: 2, col: 2,
js: $.toString(name => { js: $.toString(name => {
const runtimeConfig = GM.defineModule("runtimeConfig");
let sources = runtimeConfig.getAllSource();
let source = sources.find(v => v.name == name);
let path = runtimeConfig.getAbsolutePath(source.ext);
let pname = path.split("/").at(-1);
let rule = fetch(path);
if (!rule) return "toast://获取失败";
if (MY_INDEX === 0) {
writeFile("hiker://files/_cache/" + pname, fetch(path));
return "share://hiker://files/_cache/" + pname;
} else {
let url = sharePaste(base64Encode(rule), input);
return "copy://海阔视界,DRPY视频源「" + name + "」复制整条口令打开软件就会自动导入$" + url + "$" + pname + "@import=js:$.require('import?rule='+" + JSON.stringify(MY_RULE.title) + ")(input, true)";
}
}, s.replace(/[’‘]/g, "")) }, s.replace(/[’‘]/g, ""))
}); });
*/
}, },
click(s, i, manage) { click(s, i, manage) {
log(s); log(s);
@ -192,116 +149,38 @@ function selectSource2(selectType) {
// manage.list[ii] = i === ii ? "‘‘" + names[ii] + "’’" : names[ii].replace(/[’‘]/g, "") // manage.list[ii] = i === ii ? "‘‘" + names[ii] + "’’" : names[ii].replace(/[’‘]/g, "")
// )); // ));
let newname = manage.list[i].replace(/[’‘]/g, ""); let newname = manage.list[i].replace(/[’‘]/g, "");
if (newname == name) { if (newname == sourcename) {
return; return;
} }
return 'toast://' + newname; return 'toast://' + newname;
}, },
menuClick(manage) { menuClick(manage) {
hikerPop.selectCenter({ hikerPop.selectCenter({
options: ["改变样式", "筛选源", "自然排序:" + (getItem("natural", "") == "" ? "关闭" : "启用"), "倒序", "刷新配置"], options: ["改变样式", "排序方法:" + (getItem('sourceListSort', 'update') == 'name' ? "名称" : "时间"), "列表倒序"],
columns: 2, columns: 2,
title: "请选择", title: "请选择",
click(s, i) { click(s, i) {
if (i === 0) { if (i === 0) {
spen = spen == 3 ? 1 : 3; spen = spen == 3 ? 2 : 3;
manage.changeColumns(spen); manage.changeColumns(spen);
} else if (i === 1) { } else if (i === 1) {
hikerPop.inputConfirm({ setItem("sourceListSort", getItem('sourceListSort') == 'name' ? "" : "name");
content: "输入关键字 空显示全部", manage.list.length = 0;
title: "筛选源", let names = getListData("yi", selectType).map(v => v.name == sourcename ? "‘‘" + v.name + "’’" : v.name);
hint: "源关键字", names.forEach(x => {
defaultValue: searchKey, manage.list.push(x);
textarea: false, //多行模式
maxTextarea: true,
noAutoSoft: false,
//hideCancel: true,
confirm(text) {
let runtimeConfig = GM.defineModule("runtimeConfig", "runtimeConfig");
searchKey = text;
let list = runtimeConfig.getAllSource().map(x => x.name);
let flist = list.filter(x => x.includes(text));
manage.list.length = 0;
flist.forEach(x => {
manage.list.push(x);
});
manage.change();
//return "toast://输入了" + text;
},
}); });
} else if (i === 2) {
let list = Object.assign([], manage.list);
let natural = getItem("natural", "");
if (natural == "") {
manage.list.length = 0;
list.sort(naturalSort).forEach(x => {
manage.list.push(x);
});
} else {
manage.list.length = 0;
sname.forEach(x => {
manage.list.push(x);
})
}
manage.change(); manage.change();
setItem("natural", natural ? "" : "1"); } else if (i === 2) {
} else if (i == 3) {
manage.list.reverse(); manage.list.reverse();
names.reverse(); names.reverse();
manage.change(); manage.change();
} else {
function arrayDifference(arr1, arr2) {
const map = new Map(arr2.map(item => [item.key, item]));
return arr1.filter(item => !map.has(item.key));
}
let runtimeConfig = GM.defineModule("runtimeConfig", "runtimeConfig");
let list = runtimeConfig.getAllSource();
let Ckey = runtimeConfig.getCurrentSource().key;
//log(Ckey)
let cfg = runtimeConfig.getCurrentConfig()
let {
path,
name
} = cfg;
runtimeConfig.setCurrentConfig({
path,
name,
});
runtimeConfig.setCurrentSource(Ckey);
let nsources = runtimeConfig.getAllSource();
let alist = arrayDifference(nsources, list);
let dlist = arrayDifference(list, nsources);
if (alist.length > 0 || dlist.length > 0) {
let msg = "";
if (alist.length > 0) {
alist.forEach(x => {
manage.list.push(x.name);
})
log("新增:" + alist.map(k => k.name).join(","))
msg += "新增" + alist.length + "个源";
}
if (dlist.length > 0) {
dlist.forEach(x => {
manage.list.splice(manage.list.indexOf(x.name), 1);
})
log("移除:" + dlist.map(k => k.name).join(","))
msg += " 移除" + dlist.length + "个源";
}
manage.change();
toast(msg + " 更多详情看log");
} else {
toast("已刷新");
}
} }
}, }
}); });
} }
}); });
return 'hiker://empty';
} }
//封装选择主页源方法 //封装选择主页源方法
function selectSource(selectType) { function selectSource(selectType) {

Loading…
Cancel
Save