feat: 更新换源及优化

This commit is contained in:
shanmite 2025-05-23 09:33:20 +08:00
parent e543c63404
commit d007d8bab9
2 changed files with 17 additions and 10 deletions

View File

@ -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;
});

View File

@ -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();