js:
const {
getApi,
color,
small,
getFile,
htmlTag,
api,
md
} = $.require("hiker://page/utiliy");
const lsg=$.require("hiker://page/localStorage?rule=道长仓库Pro");
let classA = getVar("Warehouse.class", "0");
let listUrl = getApi("usersUrl") + classA,
myUrl = getApi("devSelf");
// myUrl = getApi("rulesAllUrl");
putVar("Warehouse.filter", "");
var noWait=true;//无需重试
var timeout=500;
var tmp_headers={
timeout:timeout
};
try{
var userList = JSON.parse(request(listUrl,tmp_headers)).result,
nowCon = 0,
ruleCount = JSON.parse(request(getApi("ruleCountUrl"),tmp_headers)).result;
}catch(e){
noWait=false;
setResult([{
title:'仓库同时访问量过大或网络差,繁忙中...\n请耐心等待稍后再试',
desc:'点击尝试重新访问',
col_type:'text_1',
url:$('#noLoading#').lazyRule(()=>{
refreshPage(false);
return 'toast://已刷新'
})
}]);
}
if(noWait){
let data = [];
let classTab = [
["上次活跃", "0"],
["规则数", "1"],
["注册时间", "-1"]
]
for (let item of classTab) {
data.push({
title: item[1] === classA ? "““" + item[0] + "””" : item[0],
url: $("#noLoading#").lazyRule((key) => {
putVar("Warehouse.class", key);
refreshPage(false);
return "hiker://empty";
}, item[1]),
col_type: "scroll_button"
});
}
data.push({
title: "全部规则",
url: "hiker://page/AllPublicRule?url=hiker://empty#fypage#noHistory##noRecordHistory#",
col_type: "scroll_button"
});
data.push({
title: "刷新依赖",
url: $('#noLoading#').lazyRule((jsonUrl)=>{
jsonUrl = jsonUrl+'2505';
// log(jsonUrl);
let text = request(jsonUrl);
if(!/version/.test(text)){
return 'toast://服务器正忙,请稍候再试...'
}
deleteCache(jsonUrl);
try {
require(jsonUrl);
confirm({title:'刷新成功提示',content:"toast://已刷新,当前版本信息:\n"+JSON.stringify(version)})
return 'hiker://empty'
}catch (e) {
return 'toast://糟糕,本地缓存插件被清除了,但是服务器通讯失败!'
}
},getApi("importUrl")),
col_type: "scroll_button"
});
data.push({
title:"通免:"+color(lsg.getItem("通免","X5"),"#ff7000"),
col_type:"scroll_button",
url:$('#noLoading#').lazyRule(()=>{
const lsg=$.require("hiker://page/localStorage?rule=道长仓库Pro");
if(lsg.getItem("通免","X5")=="X5"){
lsg.setItem("通免","WEB");
}else{
lsg.setItem("通免","X5");
}
refreshPage(false);
return "toast://已设置仓库通免模式为:"+lsg.getItem("通免");
})
});
data.push({
title:color("仓库公告","#ff7000"),
col_type:"scroll_button",
url:$('hiker://empty#noHistory##noRecordHistory#').rule((md)=>{
require(md);
let d = [];
let 仓库公告="暂无公告";
try{
仓库公告=fetch('https://dr.playdreamer.cn/js/仓库公告.md');
}catch(e){}
if(仓库公告) {
d.push({
title: marked.parse(仓库公告),
col_type: 'rich_text',
url: 'hiker://empty'
});
}
setResult(d);
},md)
});
data.push({
title:color("升级仓库","#15ab21"),
col_type:"scroll_button",
url:$('#noLoading#').lazyRule(()=>{
const {getApi} = $.require("hiker://page/utiliy");
let ruleHead = '海阔视界首页频道规则【道长仓库Pro】¥home_rule_url¥';
let url = getApi('importUrl')+"1094";
let importUrl = 'rule://'+base64Encode(ruleHead+url);
return importUrl
})
});
data.push({
title:color("升级$扩展","#15ab21"),
col_type:"scroll_button",
url:$('#noLoading#').lazyRule(()=>{
const {getApi} = $.require("hiker://page/utiliy");
let ruleHead = '海阔视界,网页插件¥js_url¥$hiker@';
let url = getApi('importUrl')+"5111";
let importUrl = 'rule://'+base64Encode(ruleHead+url);
return importUrl
})
});
addListener('onClose', $.toString(() => {
clearVar("Warehouse.class");
}));
let {
username,
password,
user
} = getFile();
let is_login = false;
let is_manager = false;
if (username !== void 0 && password !== void 0) {
myUrl += '?qq=' + username + '&password=' + password;
let code_str = request(myUrl,tmp_headers);
let code = {};
try{
code=JSON.parse(code_str);
}catch(e){}
if (code.status === 0&& code.result.active) {
is_login = true;
if(code.result.is_manager){
is_manager = true;
putVar('house.is_manager','真');
putVar('house.username',username);
putVar('house.password',password);
}else{
putVar('house.is_manager','');
clearVar('house.username');
clearVar('house.password');
}
}
}
if (is_login) {
try{
nowCon = JSON.parse(request(getApi("nowConUrl"),tmp_headers)).result;
}catch(e){
nowCon='未知';
}
let devData = userList.find(item => item.qq === username);
data.push({
title: '' + devData.name + ' 规则管理 >',
pic_url: devData.avatar,
col_type: "avatar",
url: "hiker://page/devManage#noHistory##noRecordHistory#",
extra: {
//username: username,
//password: password,
dev: devData
}
});
data.push({
col_type: 'text_1',
title: small("现有 " + color(userList.length, "#ff7000") + " 名开发者," + color(ruleCount[0], "#ff7000") + " 条公开规则," + color(ruleCount[1], "#ff7000") + " 条集芳阁规则。在线:"+color(nowCon, "#ff7000")),
url: "toast://喵喵喵?",
});
} else {
data.push({
title: small(color("开发者登录", "#00BFFF")),
col_type: 'text_center_1',
desc: small("现有" + color(userList.length, "#ff7000") + "名开发者," + color(ruleCount[0], "#ff7000") + "条公开规则," + color(0, "#ff7000") + "条集芳阁规则。"),
url: "hiker://page/devLogin"
});
}
if (Array.isArray(user) && user.length === 2) {
let userlogin = request(api.dis_login, {
headers: {
'content-type': 'application/json'
},
body: JSON.stringify({
"params": {
"qq": user[0],
"auth_code": user[1]
}
}),
method: 'POST',
timeout:timeout
});
userlogin = JSON.parse(userlogin).result;
if (userlogin.status === 0) {
userlogin = userlogin.result
data.push({
title: userlogin.name + " " + userlogin.qq + " 更换账号 >",
col_type: 'avatar',
pic_url: userlogin.avatar_url,
url: "hiker://page/Userregistration"
});
data.splice(3,0,{
title: userlogin.has_reply?"🆕回复":"🔔回复",
url: "hiker://page/MyReply?url=hiker://empty#fypage#noHistory##noRecordHistory#",
col_type: "scroll_button",
extra:{
auth_code:user[1],
qq:user[0]
}
});
} else {
data.push({
title: userlogin.detail,
col_type: 'text_center_1',
desc: "““””重新获取验证码 >",
url: "hiker://page/Userregistration"
});
}
} else {
data.push({
title: "评论登录/注册",
col_type: 'text_center_1',
desc: "",
url: "hiker://page/Userregistration"
});
}
for (var item of userList) {
data.push({
title: item.name + "(" + item.rule_num + ")",
desc: item.id + ':' + item.nick_name,
pic_url: item.avatar,
url: "hiker://page/rules#noHistory#",
extra: {
avatarUrl: item.avatar,
qq: item.qq,
id:item.id,
can_upload:item.can_upload
}
});
}
data.push({
col_type: 'long_text'
});
setResult(data);
let img = [
[
"hiker://files/icon/赞.svg", "https://bafybeiaeetwbc3thoy22y5zd7al6rndeqbrbwhszqb6oitnf7a5zvsz5pe.ipfs.cf-ipfs.com/"
],
[
"hiker://files/icon/踩.svg", "https://bafybeiehxynphaafe4mukacs7we4d6lrb35kppdiffjv4vwnsq22nfqnl4.ipfs.cf-ipfs.com/"
],
[
"hiker://files/icon/评论.svg", "https://bafybeifhxi5rdnxq5xly7r4qdbwico2343smelxdqoytalguctgc2ojsdy.ipfs.cf-ipfs.com/"
]
]
for (let item of img) {
if (!fileExist(item[0])) {
writeFile(item[0], request(item[1]));
}
}
}