From 50e18e277254a878984c160d825aa5eb771b73f1 Mon Sep 17 00:00:00 2001 From: shanmite Date: Wed, 1 Dec 2021 20:30:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=8B=E8=BD=BD=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=97=B6=E6=9C=89=E5=A4=9A=E4=B8=AA=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/update.js | 19 ++++++++++--------- script/build/pkg.sh | 2 +- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/update.js b/lib/update.js index b32b41e..7ac5292 100644 --- a/lib/update.js +++ b/lib/update.js @@ -1,12 +1,12 @@ const { send } = require('./net/http') -const { strToJson, download } = require('./utils') +const { strToJson, download, try_for_each } = require('./utils') const { version, checkVersion, log } = require('./utils') /** * 获取下载链接 * @param {string} owner * @param {string} repo - * @returns {Promise<{ download_url: string, text: string }>} + * @returns {Promise<{ download_url: string[], text: string }>} */ function getLatestReleaseDownloadUrl(owner, repo) { return new Promise((resolve, reject) => { @@ -36,8 +36,8 @@ function getLatestReleaseDownloadUrl(owner, repo) { try { const download_url = assets .filter(({ name }) => name.includes(platform) && name.includes(arch)) - .map(({ browser_download_url }) => browser_download_url)[0] - if (!download_url) { + .map(({ browser_download_url }) => browser_download_url) + if (!download_url.length) { reject(`未找到能在此平台(${process.platform})-(${process.arch})上运行的版本`) } resolve({ download_url, text }) @@ -67,11 +67,12 @@ function getLatestReleaseDownloadUrl(owner, repo) { async function update() { try { const { download_url, text } = await getLatestReleaseDownloadUrl('shanmiteko', 'LotteryAutoScript') - - let proxy_url = new URL(download_url) - proxy_url.host = 'download.fastgit.org' - - await download(proxy_url.href, 'latest_version.zip') + await try_for_each(download_url.entries(), async ([i, url]) => { + let proxy_url = new URL(url) + proxy_url.host = 'download.fastgit.org' + await download(proxy_url.href, `latest_version${i}.zip`) + return false + }) log.info('自动下载', '成功下载到当前目录') log.info('更新说明', '\n' + text + '\n') diff --git a/script/build/pkg.sh b/script/build/pkg.sh index 3e8a9dd..5005491 100755 --- a/script/build/pkg.sh +++ b/script/build/pkg.sh @@ -41,7 +41,7 @@ for file in "$TARGET_DIR/"*; do ./lottery update if [[ -r "latest_version.zip" ]]; then unzip latest_version.zip - rm latest_version.zip + rm latest_version0.zip chmod u+x lottery fi EOF