mirror of
https://github.com/shanmiteko/LotteryAutoScript.git
synced 2026-06-04 21:01:17 +08:00
feat: 更新换源及优化
This commit is contained in:
parent
e543c63404
commit
d007d8bab9
@ -62,21 +62,24 @@ async function update(isDdownload) {
|
||||
try {
|
||||
const { tag_name, assets, body: text } = await getLatestRelease('shanmiteko', 'LotteryAutoScript');
|
||||
if (checkVersion(version) < checkVersion(tag_name)) {
|
||||
const download_url = assets
|
||||
/**
|
||||
* @type {{browser_download_url:string, size:number}[]}
|
||||
*/
|
||||
const download_item = assets
|
||||
.filter(({ name }) => checkPlatform(name))
|
||||
.map(({ browser_download_url }) => browser_download_url);
|
||||
if (download_url.length) {
|
||||
.map(({ browser_download_url, size }) => { return { browser_download_url, size }; });
|
||||
if (download_item.length) {
|
||||
if (isDdownload) {
|
||||
await try_for_each(download_url.entries(), async ([i, url]) => {
|
||||
let proxy_url = 'https://mirror.ghproxy.com/';
|
||||
proxy_url += url;
|
||||
await try_for_each(download_item.entries(), async ([i, { browser_download_url, size }]) => {
|
||||
let proxy_url = 'https://ghfast.top/';
|
||||
proxy_url += browser_download_url;
|
||||
log.warn('自动下载', `切换代理${proxy_url}`);
|
||||
await download(proxy_url, `latest_version${i}.zip`)
|
||||
await download(proxy_url, `latest_version${i}.zip`, size)
|
||||
.catch(async err => {
|
||||
log.error('自动下载', err);
|
||||
proxy_url = url;
|
||||
proxy_url = browser_download_url;
|
||||
log.warn('自动下载', `使用原始链接${proxy_url}`);
|
||||
await download(proxy_url, `latest_version${i}.zip`);
|
||||
await download(proxy_url, `latest_version${i}.zip`, size);
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
@ -318,9 +318,10 @@ const utils = {
|
||||
* 下载文件
|
||||
* @param {string} url
|
||||
* @param {string} file_name
|
||||
* @param {number} size
|
||||
* @returns {Promise<void | string>}
|
||||
*/
|
||||
download(url, file_name) {
|
||||
download(url, file_name, size) {
|
||||
return new Promise((resolve, reject) => {
|
||||
send({
|
||||
url,
|
||||
@ -340,6 +341,9 @@ const utils = {
|
||||
resStream.pipe(wtbs);
|
||||
wtbs.on('finish', () => {
|
||||
utils.log.proPrint('下载完成');
|
||||
if (recv_length < size) {
|
||||
reject(`未正确下载文件: ${recv_length}B < ${size}B`);
|
||||
}
|
||||
resolve();
|
||||
}).on('error', error => {
|
||||
wtbs.destroy();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user