-

本WIKI编辑权限开放,欢迎收藏起来防止迷路,也希望有爱的小伙伴和我们一起编辑哟~ 编辑帮助:目录BWIKI反馈留言板


请选择语言:

版本250722.2
全站通知:

Widget:自动检测并上传数据-精灵

来自赛尔号WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

<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>

${ele1}
/
${ele2}

`;


                                                   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>