Last active
June 27, 2017 11:37
-
-
Save dudukee/6ab55967842e6b8a7a09d80bd3f923f6 to your computer and use it in GitHub Desktop.
steam 探索队列
This file contains 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