Created
December 22, 2019 11:26
-
-
Save Orenoid/d924f7a3e4f81981cf9e7717d8fb4846 to your computer and use it in GitHub Desktop.
steam探索队列
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function _exec(){ | |
var appids, | |
running = true, | |
queueNumber, | |
progressDialog = ShowAlertDialog('探索中', $J('<div/>').append($J('<div/>', {'class': 'waiting_dialog_throbber'}) ).append( $J('<div/>', {'id': 'progressContainer'}).text('获取进度...') ), '停止').done(abort); | |
function abort(){ | |
running = false; | |
progressDialog.Dismiss(); | |
} | |
function retry(){ | |
abort(); | |
ShowConfirmDialog('错误', '是否重试?', '重试', '放弃').done(_exec) | |
} | |
function clearApp(){ | |
if(!running) | |
return; | |
showProgress(); | |
var appid = appids.shift(); | |
!appid ? generateQueue() : $J.post( appids.length ? '/app/' + appid : '/explore/next/', {sessionid: g_sessionID, appid_to_clear_from_queue: appid} ).done(clearApp).fail(retry); | |
} | |
function generateQueue(){ | |
running && $J.post('/explore/generatenewdiscoveryqueue', {sessionid: g_sessionID, queuetype: 0}).done(beginQueue).fail(retry); | |
} | |
function beginQueue(){ | |
if(!running) | |
return; | |
$J.get('/explore/').done(function(htmlText){ | |
var cardInfo = htmlText.match(/<div class="subtext">\D+(\d)\D+<\/div>/); | |
if( !cardInfo ){ | |
abort(); | |
ShowAlertDialog('完成','已完成全部3轮探索队列'); | |
return; | |
} | |
var matchedAppids = htmlText.match(/0,\s+(\[.*\])/); | |
if( !matchedAppids ){ | |
retry(); | |
return; | |
} | |
appids = JSON.parse(matchedAppids[1]); | |
queueNumber = cardInfo[1]; | |
appids.length == 0 ? generateQueue() : clearApp(); | |
showProgress(); | |
}) | |
} | |
function showProgress(){ | |
$J('#progressContainer').html( '<br>剩余' + queueNumber + '个待探索队列, 当前队列剩余' + appids.length + '个待探索游戏' ); | |
} | |
beginQueue(); | |
}()) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment