diff --git a/lib/Monitor.js b/lib/Monitor.js index f57fa78..d78ead0 100644 --- a/lib/Monitor.js +++ b/lib/Monitor.js @@ -89,7 +89,7 @@ class Monitor extends Public { log.info('筛选动态', `筛选完毕(${len})`); if (len) { - for (const Lottery of allLottery) { + for (const Lottery of Util.shuffle(allLottery)) { let status = 0; if (Lottery.isOfficialLottery) { let { ts } = await BiliAPI.getLotteryNotice(Lottery.dyid); diff --git a/lib/Util.js b/lib/Util.js index 419814c..f1f2183 100644 --- a/lib/Util.js +++ b/lib/Util.js @@ -115,6 +115,24 @@ const Util = { } return RandomOne }, + /** + * Fisher–Yates shuffle洗牌 + * @template T + * @param {Array} array + * @return {Array} + */ + shuffle(array) { + for (let i = array.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [array[i], array[j]] = [array[j], array[i]]; + } + return array; + }, + /** + * 是否有指定环境变量 + * @param {string} env_name + * @returns + */ hasEnv(env_name) { return process.env[env_name] ? true : false; }, diff --git a/main.js b/main.js index bbee2bc..210547b 100644 --- a/main.js +++ b/main.js @@ -10,7 +10,7 @@ const metainfo = [ ` __/ | | | `, ` |___/ |_| `, ` `, - ` v1.9.9 by shanmite`, + ` v2.0.0 by shanmite`, ] /**多账号存储 */ let multiple_account = [];