-
本WIKI编辑权限开放,欢迎收藏起来防止迷路,也希望有爱的小伙伴和我们一起编辑哟~ 编辑帮助:目录 • BWIKI反馈留言板
本WIKI编辑权限开放,欢迎收藏起来防止迷路,也希望有爱的小伙伴和我们一起编辑哟~ 编辑帮助:目录 • BWIKI反馈留言板
请选择语言:
Widget:自动检测并上传数据-精灵
<canvas id="pet1" width="400" height="300" style="width: 50px;height: 50px;"></canvas> <canvas id="pet2" width="400" height="300" style="width: 50px;height: 50px;"></canvas> <canvas id="pet3" width="400" height="300" style="width: 50px;height: 50px;"></canvas> <script> function post1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) {
getApi(`https://wiki.biligame.com/seer/api.php?action=query&meta=tokens&format=json`, function (json) { let token = JSON.parse(json).query.tokens.csrftoken xhr = new XMLHttpRequest() xhr.open(`post`, `https://wiki.biligame.com/seer/api.php`, true) let fd = new FormData() fd.append("action", "edit") fd.append("title", `${a}`) fd.append("text", `模板:精灵\n`) fd.append("token", token) fd.append("format", "json") xhr.onload = function () { console.log(xhr.response) } xhr.send(fd) })
} function nightstory(a, b, c, d, e, f) {
getApi(`https://wiki.biligame.com/seer/api.php?action=query&meta=tokens&format=json`, function (json) { let token = JSON.parse(json).query.tokens.csrftoken xhr = new XMLHttpRequest() xhr.open(`post`, `https://wiki.biligame.com/seer/api.php`, true) let fd = new FormData() fd.append("action", "edit") fd.append("title", `${a}`) fd.append("text", `{{${b}|ID=${c}|精灵名称=${d}|章节=${e}|内容=${f}}}`) fd.append("token", token) fd.append("format", "json") xhr.onload = function () { console.log(xhr.response) } xhr.send(fd) })
} function canvas666(a, b, c) {
var canvas = document.getElementById(`${a}`);
var ctx = canvas.getContext('2d');
var img = new Image();
img.src = `${b}`; // 请替换为实际的图片URL
img.crossOrigin = 'Anonymous'; // 尝试设置跨域资源共享(虽然对于图片加载到canvas通常不是必需的)
img.onload = function () {
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img, 0, 0);
// 将canvas内容转换为Base64
var base64 = canvas.toDataURL('image/png'); // 或者使用 'image/jpeg' 并设置质量
var file = base64ConvertFile(base64, `${c}.png`);
new mw.Api().upload(file, { filename: `${c}.png`, ignorewarnings: true })
.then(function (response) {
// 上传成功后的处理逻辑
console.log('上传成功:', response);
})
console.log(base64);
// 在这里添加代码以将base64发送到服务器 };
} function base64ConvertFile(urlData, filename) { // 64转file
if (typeof urlData != 'string') {
console.log("urlData不是字符串");
return;
}
var arr = urlData.split(','), type = arr[0].match(/:(.*?);/)[1],
fileExt = type.split('/')[1], bstr = atob(arr[1]), n = bstr.length,
u8arr = new Uint8Array(n);
if (!filename) filename = "image";
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], `${filename}.${fileExt}`, { type });
} function postlb(a) {
getApi(`https://wiki.biligame.com/seer/api.php?action=query&meta=tokens&format=json`, function (json) { let token = JSON.parse(json).query.tokens.csrftoken xhr = new XMLHttpRequest() xhr.open(`post`, `https://wiki.biligame.com/seer/api.php`, true) let fd = new FormData() fd.append("action", "edit") fd.append("title", `Data:page.json`) fd.append("text", `${a}`) fd.append("token", token) fd.append("format", "json") xhr.onload = function () { console.log(xhr.response) } xhr.send(fd) })
} function sfcz1(mc, ID, petclass1, sx, hp, atk, def, spatk, spdef, spd, zonghe, xb, sg, tz, wz, jss, jn, jldw) {
$.get(`https://wiki.biligame.com/seerplan/api.php?action=parse&format=json&title=${mc}&utf8=1`).then(function (result) { pageid = result.parse.pageid; if (pageid > 0) { } else { post1(mc, ID, petclass1, sx, hp, atk, def, spatk, spdef, spd, zonghe, xb, sg, tz, wz, jss, jn, jldw) getPage(); } })
} function formatNumber(num) {
// 将数字转化为字符串
var str = String(num);
// 判断字符串长度是否小于4
if (str.length < 4) {
// 在字符串开头补0,直到长度等于4
while (str.length < 4) {
str = "0" + str;
}
}
return str;
} function jlcz() {
(window.RLQ = window.RLQ || []).push(['jquery', () => {
if (document.getElementById(`jl`).innerHTML == `更新`) {
console.log("正在更新数据")
$.get(`https://seerh5.61.com/version/version.json?t=${t}`).then(function (result) {
var jl = result.files.resource.config.xml["monsters.json"]
var jl1 = result.files.resource.config.xml["petbook.json"]
var jl2 = result.files.resource.config.json["new_monster_level.json"]
var jl3 = result.files.resource.config.xml["skillTypes.json"]
var jl4 = result.files.resource.config.json["archivesStory.json"]
$.get(`https://seerh5.61.com/resource/config/xml/${jl}`).then(function (result1) {
$.get(`https://seerh5.61.com/resource/config/xml/${jl1}`).then(function (result2) {
$.get(`https://seerh5.61.com/resource/config/json/${jl2}`).then(function (result3) {
$.get(`https://seerh5.61.com/resource/config/xml/${jl3}`).then(function (result4) {
$.get(`https://seerh5.61.com/resource/config/json/${jl4}`).then(function (result5) {
var ID = ""
var mc = ""
var sx = ""
var petclass1 = ""
var hp = ""
var atk = ""
var def = ""
var spatk = ""
var spdef = ""
var spd = ""
var zonghe = ""
var jn = ""
var xb = ""
var sg = ""
var tz = ""
var wz = ""
var jss = ""
var jldw = "undefined"
var jldwtag = ""
var storyname = ``
var story11 = ``
var story12 = ``
var sttxt1 = ``
switch (jllid) {
case 1:
{
var d = document.getElementById("jlsr").value
var queryData = result2.root.Monster.filter(function (_data) {
return _data.ID == d
});
var queryData1 = result1.Monsters.Monster.filter(function (_data) {
return _data.ID == d
});
var queryData2 = result4.root.item.filter(function (_data) {
return _data.id == queryData1[0].Type
});
var queryData3 = result3.data.filter(function (_data) {
return _data.monsterid == d
});
var queryData4 = result5.data.filter(function (_data) {
return _data.monid == d
});
if (queryData1[0] == undefined) {
console.log(`${d}号精灵不存在`)
} else {
var long = queryData1[0].LearnableMoves.Move.length
var nr = undefined;
for (i = 0; i < long; i++) {
nr = nr + `;${queryData1[0].LearnableMoves.Move[i].ID}-${queryData1[0].LearnableMoves.Move[i].LearningLv}`
}
if (queryData1[0].ExtraMoves == undefined) { //判断 第五技能不存在
} else { //判断 第五技能存在
nr = nr + `;${queryData1[0].ExtraMoves.Move.ID}-${queryData1[0].ExtraMoves.Move.LearningLv}-第五`
}
if (queryData1[0].SpExtraMoves == undefined) { //判断 第五技能2不存在
} else {
nr = nr + `;${queryData1[0].SpExtraMoves.Move.ID}-${queryData1[0].SpExtraMoves.Move.LearningLv}-第五`
}
if (queryData3[0] == undefined) { } else {
jldwtag = queryData3[0].tag.split('_')
for (k = 0; k < jldwtag.length; k++) {
switch (jldwtag[k]) {
case `1`:
{ jldw = `${jldw}、主力`; break; }
case `2`:
{ jldw = `${jldw}、刺客`; break; }
case `3`:
{ jldw = `${jldw}、坦克`; break; }
case `4`:
{ jldw = `${jldw}、干扰`; break; }
case `5`:
{ jldw = `${jldw}、辅助`; break; }
case `6`:
{ jldw = `${jldw}、拦截`; break; }
case `7`:
{ jldw = `${jldw}、全能`; break; }
}
}
}
if (queryData4[0] == undefined) { story12 = undefined } else {
switch (queryData4[0].storyid) {
case 1:
{ storyname = `永夜纪年`; break; }
case 2:
{ storyname = `莱达物语`; break; }
}
story11 = queryData4[0].classname
if (story11 == ``) {
story12 = `近期更新`
} else {
story12 = story11
}
sttxt1 = queryData4[0].txt.replace(/\\n/g, "
")
}
sx = queryData2[0].cn.replace(" ", "")
if (jldw == "undefined") {
jldw = ""
} else {
jldw = jldw.replace("undefined、", "")
}
jn = nr.replace("undefined;", "")
ID = formatNumber(queryData1[0].ID)
mc = queryData1[0].DefName
petclass1 = queryData1[0].PetClass
hp = queryData1[0].HP
atk = queryData1[0].Atk
def = queryData1[0].Def
spatk = queryData1[0].SpAtk
spdef = queryData1[0].SpDef
spd = queryData1[0].Spd
zonghe = hp + atk + def + spatk + spdef + spd
if(queryData[0].Height == undefined){}else{
sg = queryData[0].Height
}
tz = queryData[0].Weight
wz = "--"
jss = queryData[0].Features
switch (queryData1[0].Gender) {
case 0:
{ xb = "无性别"; break; }
case 1:
{ xb = "雄"; break; }
case 2:
{ xb = "雌"; break; }
}
getApi(`https://wiki.biligame.com/seer/api.php?action=query&meta=tokens&format=json`, function (json) {
let token = JSON.parse(json).query.tokens.csrftoken
let url = `https://wiki.biligame.com/seer/api.php`
let fd = new FormData()
fd.append("action", "edit")
fd.append("title", `${mc}`)
fd.append("text", `模板:精灵\n`)
fd.append("token", token)
fd.append("format", "json")
postFdApi(url, fd)
})
console.log(`${ID}号精灵已录入`)
$(".jlzhuangtai").append(`${ID}号精灵已录入`);
if (story12 != undefined) {
nightstory(`${storyname}/${story12}/${mc}`, storyname, ID, mc, story12, sttxt1)
}
}
console.log("全部精灵数据更新完毕,请等待图片上传完毕")
canvas666(`pet1`, `http://seerh5.61.com/resource/assets/fightResource/pet/${ID}.png`, `立绘-${ID}`);
canvas666(`pet2`, `http://seerh5.61.com/resource/assets/pet/half/${ID}.jpg`, `立绘卡-${ID}`);
canvas666(`pet3`, `http://seerh5.61.com/resource/assets/pet/head/${ID}.png`, `头像-${ID}`);
}
case 2: {
let ele1 = document.getElementById("ele1").value
let ele2 = document.getElementById("ele2").value
let xun = 0;
let chavalue = ele2 - ele1;
let intervalId = setInterval(petData, 1000);
function petData() {
if (xun <= chavalue) {
var queryData = result2.root.Monster.filter(function (_data) {
return _data.ID == ele1
});
var queryData1 = result1.Monsters.Monster.filter(function (_data) {
return _data.ID == ele1
});
var queryData3 = result3.data.filter(function (_data) {
return _data.monsterid == ele1
});
var queryData4 = result5.data.filter(function (_data) {
return _data.monid == ele1
});
if (queryData1[0] == undefined) {
console.log(`${ele1}号精灵不存在`)
} else {
var queryData2 = result4.root.item.filter(function (_data) {
return _data.id == queryData1[0].Type
});
var long = queryData1[0].LearnableMoves.Move.length
var nr = undefined;
var jldw = "undefined"
var jldwtag = ""
for (i = 0; i < long; i++) {
nr = nr + `;${queryData1[0].LearnableMoves.Move[i].ID}-${queryData1[0].LearnableMoves.Move[i].LearningLv}`
}
if (queryData1[0].ExtraMoves == undefined) { //判断 第五技能不存在
} else { //判断 第五技能存在
nr = nr + `;${queryData1[0].ExtraMoves.Move.ID}-${queryData1[0].ExtraMoves.Move.LearningLv}-第五`
}
if (queryData1[0].SpExtraMoves == undefined) { //判断 第五技能2不存在
} else {
nr = nr + `;${queryData1[0].SpExtraMoves.Move.ID}-${queryData1[0].SpExtraMoves.Move.LearningLv}-第五`
}
if (queryData3[0] == undefined) { } else {
jldwtag = queryData3[0].tag.split('_')
for (k = 0; k < jldwtag.length; k++) {
switch (jldwtag[k]) {
case `1`:
{ jldw = `${jldw}、主力`; break; }
case `2`:
{ jldw = `${jldw}、刺客`; break; }
case `3`:
{ jldw = `${jldw}、坦克`; break; }
case `4`:
{ jldw = `${jldw}、干扰`; break; }
case `5`:
{ jldw = `${jldw}、辅助`; break; }
case `6`:
{ jldw = `${jldw}、拦截`; break; }
case `7`:
{ jldw = `${jldw}、全能`; break; }
}
}
}
if (queryData4[0] == undefined) { story12 = undefined } else {
switch (queryData4[0].storyid) {
case 1:
{ storyname = `永夜纪年`; break; }
case 2:
{ storyname = `莱达物语`; break; }
}
story11 = queryData4[0].classname
if (story11 == ``) {
story12 = `近期更新`
} else {
story12 = story11
}
sttxt1 = queryData4[0].txt.replace(/\\n/g, "
")
}
sx = queryData2[0].cn.replace(" ", "")
jldw = jldw.replace("undefined、", "")
if (jldw == "undefined") {
jldw = ""
} else {
jldw = jldw.replace("undefined、", "")
}
jn = nr.replace("undefined;", "")
ID = formatNumber(queryData1[0].ID)
mc = queryData1[0].DefName
petclass1 = queryData1[0].PetClass
hp = queryData1[0].HP
atk = queryData1[0].Atk
def = queryData1[0].Def
spatk = queryData1[0].SpAtk
spdef = queryData1[0].SpDef
spd = queryData1[0].Spd
zonghe = hp + atk + def + spatk + spdef + spd
if(queryData[0].Height == undefined){}else{
sg = queryData[0].Height
}
tz = queryData[0].Weight
wz = "--"
jss = queryData[0].Features
switch (queryData1[0].Gender) {
case 0:
{ xb = "无性别"; break; }
case 1:
{ xb = "雄"; break; }
case 2:
{ xb = "雌"; break; }
}
post1(mc, ID, petclass1, sx, hp, atk, def, spatk, spdef, spd, zonghe, xb, sg, tz, wz, jss, jn, jldw, story11)
if (story12 != undefined) {
nightstory(`${storyname}/${story12}/${mc}`, storyname, ID, mc, story12, sttxt1)
}
canvas666(`pet1`, `http://seerh5.61.com/resource/assets/fightResource/pet/${ID}.png`, `立绘-${ID}`);
canvas666(`pet2`, `http://seerh5.61.com/resource/assets/pet/half/${ID}.jpg`, `立绘卡-${ID}`);
canvas666(`pet3`, `http://seerh5.61.com/resource/assets/pet/head/${ID}.png`, `头像-${ID}`);
console.log(`${ID}号精灵已录入`)
$(".jlzhuangtai").append(`${ID}号精灵已录入`);
}
ele1++;
xun++;
}
else {
clearInterval(intervalId);
alert("全部精灵数据更新完毕")
}
}
}
case 3: {
$.get(`https://wiki.biligame.com/seer/index.php?title=Data:page.json&action=raw&type=text/javascript`).then(function (result5) {
let ele1 = 0;
let ele2 = result2.root.Monster.length;
let lb = []; //变量:列表 用于存放已有数据
for (ele1; ele1 <= ele2; ele1++) {
document.getElementById("jingdutiao").innerHTML = `<progress value="${ele1}" max="${ele2}"></progress>
`;
var queryData = result2.root.Monster.filter(function (_data) {
return _data.ID == result2.root.Monster[ele1].ID
});
var queryData1 = result1.Monsters.Monster.filter(function (_data) {
return _data.ID == result2.root.Monster[ele1].ID
});
var queryData3 = result3.data.filter(function (_data) {
return _data.monsterid == result2.root.Monster[ele1].ID
});
var queryData10 = JSON.parse(result5).filter(function (_data) {
return _data.key == result2.root.Monster[ele1].DefName
});
if (result5.indexOf(queryData[0].DefName) == -1) { //判断页面不存在
if (queryData1[0] == undefined) {
console.log(`${result2.root.Monster[ele1]}号精灵不存在`)
} else {
var queryData2 = result4.root.item.filter(function (_data) {
return _data.id == queryData1[0].Type
});
var long = queryData1[0].LearnableMoves.Move.length
var nr = undefined;
var jldw = "undefined"
var jldwtag = ""
for (i = 0; i < long; i++) {
nr = nr + `;${queryData1[0].LearnableMoves.Move[i].ID}-${queryData1[0].LearnableMoves.Move[i].LearningLv}`
}
if (queryData1[0].ExtraMoves == undefined) { //判断 第五技能不存在
} else { //判断 第五技能存在
nr = nr + `;${queryData1[0].ExtraMoves.Move.ID}-${queryData1[0].ExtraMoves.Move.LearningLv}-第五`
}
if (queryData1[0].SpExtraMoves == undefined) { //判断 第五技能2不存在
} else {
nr = nr + `;${queryData1[0].SpExtraMoves.Move.ID}-${queryData1[0].SpExtraMoves.Move.LearningLv}-第五`
}
if (queryData3[0] == undefined) { } else {
jldwtag = queryData3[0].tag.split('_')
for (k = 0; k < jldwtag.length; k++) {
switch (jldwtag[k]) {
case `1`:
{ jldw = `${jldw}、主力`; break; }
case `2`:
{ jldw = `${jldw}、刺客`; break; }
case `3`:
{ jldw = `${jldw}、坦克`; break; }
case `4`:
{ jldw = `${jldw}、干扰`; break; }
case `5`:
{ jldw = `${jldw}、辅助`; break; }
case `6`:
{ jldw = `${jldw}、拦截`; break; }
case `7`:
{ jldw = `${jldw}、全能`; break; }
}
}
}
sx = queryData2[0].cn.replace(" ", "")
jldw = jldw.replace("undefined、", "")
if (jldw == "undefined") {
jldw = ""
} else {
jldw = jldw.replace("undefined、", "")
}
jn = nr.replace("undefined;", "")
ID = formatNumber(queryData1[0].ID)
mc = queryData1[0].DefName
petclass1 = queryData1[0].PetClass
hp = queryData1[0].HP
atk = queryData1[0].Atk
def = queryData1[0].Def
spatk = queryData1[0].SpAtk
spdef = queryData1[0].SpDef
spd = queryData1[0].Spd
zonghe = hp + atk + def + spatk + spdef + spd
sg = queryData[0].Height
tz = queryData[0].Weight
wz = "--"
jss = queryData[0].Features
switch (queryData1[0].Gender) {
case 0:
{ xb = "无性别"; break; }
case 1:
{ xb = "雄"; break; }
case 2:
{ xb = "雌"; break; }
}
sfcz1(mc, ID, petclass1, sx, hp, atk, def, spatk, spdef, spd, zonghe, xb, sg, tz, wz, jss, jn, jldw)
lb[lb.length].key = mc;
}
} else {
}//判断页面不存在
}
lb = lb + JSON.parse(result5)
postlb(lb)
alert("全部精灵数据更新完毕")
})//result5 结束
}
}
})//result5 结束
})//result4 结束
})//result3 结束
}) //result2 结束
}) //result1 结束
}) //result 结束
} else {
alert("精灵数据已是最新")
$(".jlzhuangtai").append(`精灵数据已是最新`);
}
}]);
}
</script>

沪公网安备 31011002002714 号