您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
统计自己竞拍中薪火计划角色的竞拍数量
当前为
// ==UserScript== // @name 小圣杯薪火计划竞拍统计 // @namespace https://github.com/bangumi/scripts/tree/master/liaune // @version 1.1 // @description 统计自己竞拍中薪火计划角色的竞拍数量 // @author Liaune // @include /^https?://(bgm\.tv|bangumi\.tv|chii\.in)\/user\/.* // @grant GM_addStyle // ==/UserScript== GM_addStyle(` table.gridtable { font-family: verdana,arial,sans-serif; font-size:11px; border-width: 1px; border-color: #a9c6c9; border-collapse: collapse; } table.gridtable th { background-color: #9adaf2; border-width: 1px; padding: 8px; border-style: solid; border-color: #a9c6c9; } table.gridtable td { border-width: 1px; padding: 8px; border-style: solid; border-color: #a9c6c9; } `); let api = 'https://tinygrail.com/api/'; function getData(url, callback) { if (!url.startsWith('http')) url = api + url; $.ajax({ url: url, type: 'GET', xhrFields: { withCredentials: true }, success: callback }); } function postData(url, data, callback) { let d = JSON.stringify(data); if (!url.startsWith('http')) url = api + url; $.ajax({ url: url, type: 'POST', contentType: 'application/json', data: d, xhrFields: { withCredentials: true }, success: callback }); } function closeDialog() { $('#TB_overlay').remove(); $('#TB_window').remove(); } let me = document.querySelector('#dock li.first a').href; let nickname = document.querySelector('#dock li.first a').innerText; if(location.href == me) $('h1.nameSingle .inner small.grey').after(`<button id="auctionStatistics" class="text_button" title="薪火计划竞拍统计">[统计竞拍]</button>`); $('#auctionStatistics').on('click', (e) => { $('body').html(''); $('body').append(`<div id='waiting'>数据统计中...加载后请按'Ctrl+A'全选,'Ctrl+C'复制后粘贴到成员拍卖统计表,并选择'合并格式'</div>`); let tb=document.createElement('table'); tb.className = 'gridtable'; let href = location.origin + '/group/topic/354437'; let xhr = new XMLHttpRequest(); xhr.open( "GET", href ); xhr.withCredentials = true; xhr.responseType = "document"; xhr.send(); xhr.onload = function(){ let doc = xhr.responseXML; let content = doc.querySelector('#post_1555907 .inner .topic_content').innerText; let charas = JSON.parse(content); getData(`chara/user/auction/1/1000`,function (d, s) { $('#waiting').remove(); let chara = {}; for(let i=0;i<d.Value.Items.length; i++){ let Id = d.Value.Items[i].CharacterId.toString(); let Name = d.Value.Items[i].Name; let State = d.Value.Items[i].State; let Price = d.Value.Items[i].Price; let Amount = d.Value.Items[i].Amount; if(Price && Amount && State==0 && charas.includes(Id)){ chara[Id] = Amount; } } for(let i = 0;i<charas.length; i++){ if(chara[charas[i]]){ let tr = `<tr><td>${nickname}:${chara[charas[i]]}</td></tr>`; $(tb).append(tr); } else{ let tr = `<tr><td> </td></tr>`; $(tb).append(tr); } } $('body').append(tb); }); }; });