mirror of
https://github.com/shanmiteko/LotteryAutoScript.git
synced 2026-06-04 21:01:17 +08:00
feat: 下载更新时有多个版本
This commit is contained in:
parent
b9c73bda96
commit
50e18e2772
@ -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)
|
||||
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.zip')
|
||||
await download(proxy_url.href, `latest_version${i}.zip`)
|
||||
return false
|
||||
})
|
||||
|
||||
log.info('自动下载', '成功下载到当前目录')
|
||||
log.info('更新说明', '\n' + text + '\n')
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user