// ==UserScript== // @name Steam愿望单工具 // @namespace sourcewater // @version 0.1.11 // @description 批量导入和导出愿望单 // @author sourcewater // @match https://store.steampowered.com/wishlist/* // @grant none // @downloadURL https://update.greasyfork.icu/scripts/401413/Steam%E6%84%BF%E6%9C%9B%E5%8D%95%E5%B7%A5%E5%85%B7.user.js // @updateURL https://update.greasyfork.icu/scripts/401413/Steam%E6%84%BF%E6%9C%9B%E5%8D%95%E5%B7%A5%E5%85%B7.meta.js // ==/UserScript== (function() { 'use strict'; function importWL(){ console.log("导入愿望单"); let file=file_chooser.files[0]; let freader=new FileReader(); freader.readAsText(file); freader.onload=function(){ let appidlist; appidlist=freader.result.split(","); if(appidlist.length==0) return; let wl=[]; function loadWL(){ if(g_rgWishlistData){ for(let i=0;i0){ appidlist=temp; let i=0; let failed=0; let failedList=[]; let bdialog; function addWL(){ if(i==appidlist.length){ if(failed>0){ if(bdialog) bdialog.Dismiss(); appidlist=failedList; i=0; failed=0; failedList=[]; exportFailedWL(appidlist); ShowConfirmDialog("提示!", '是否重试添加愿望单失败的游戏?数量:'+appidlist.length+'

可能的失败原因:
1、切换过钱包区域(或者切换账单地址),游戏锁区了?
2、在导入愿望单之前购买了愿望单内的游戏?
3、游戏下架了?').done(function(){setTimeout(addWL,500);}); }else{ console.log("success"); if(i!=0) bdialog.Dismiss(); ShowAlertDialog("成功","已经全部添加至愿望单"); file_chooser.value=""; return; } }else{ let appid=appidlist[i]; let url = 'https://store.steampowered.com/api/addtowishlist'; $J.post( url, {sessionid: g_sessionID, appid: appid} ) .done( function( data ) { if ( data && data.success ) { ++i; }else { ++failed; ++i; failedList.push(appid); } if(bdialog) bdialog.Dismiss(); bdialog=ShowBlockingWaitDialog('正在添加...',i+'/'+appidlist.length+'    失败:'+failed); setTimeout(addWL,500); }).fail( function() { ++failed; ++i; failedList.push(appid); if(bdialog) bdialog.Dismiss(); bdialog=ShowBlockingWaitDialog('正在添加...',i+'/'+appidlist.length+'    失败:'+failed); setTimeout(addWL,500); }); } } addWL(); }else{ ShowAlertDialog("提示","当前需要导入的已经存在于现有的愿望单中!"); file_chooser.value=""; } } } function saveTxt(filename,data){ let winObj=window.URL || window.webkitURL || window; let blob = new Blob([data],{type:'text/html'}); let url=document.createElementNS("http://www.w3.org/1999/xhtml", "a"); url.href=winObj.createObjectURL(blob); url.download = filename; let ev = new MouseEvent ("click"); url.dispatchEvent(ev); } function exportWL(){ let wl=[]; for(let i=0;i