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 {
|
try {
|
||||||
const { tag_name, assets, body: text } = await getLatestRelease('shanmiteko', 'LotteryAutoScript');
|
const { tag_name, assets, body: text } = await getLatestRelease('shanmiteko', 'LotteryAutoScript');
|
||||||
if (checkVersion(version) < checkVersion(tag_name)) {
|
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))
|
.filter(({ name }) => checkPlatform(name))
|
||||||
.map(({ browser_download_url }) => browser_download_url);
|
.map(({ browser_download_url, size }) => { return { browser_download_url, size }; });
|
||||||
if (download_url.length) {
|
if (download_item.length) {
|
||||||
if (isDdownload) {
|
if (isDdownload) {
|
||||||
await try_for_each(download_url.entries(), async ([i, url]) => {
|
await try_for_each(download_item.entries(), async ([i, { browser_download_url, size }]) => {
|
||||||
let proxy_url = 'https://mirror.ghproxy.com/';
|
let proxy_url = 'https://ghfast.top/';
|
||||||
proxy_url += url;
|
proxy_url += browser_download_url;
|
||||||
log.warn('自动下载', `切换代理${proxy_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 => {
|
.catch(async err => {
|
||||||
log.error('自动下载', err);
|
log.error('自动下载', err);
|
||||||
proxy_url = url;
|
proxy_url = browser_download_url;
|
||||||
log.warn('自动下载', `使用原始链接${proxy_url}`);
|
log.warn('自动下载', `使用原始链接${proxy_url}`);
|
||||||
await download(proxy_url, `latest_version${i}.zip`);
|
await download(proxy_url, `latest_version${i}.zip`, size);
|
||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|||||||
@ -318,9 +318,10 @@ const utils = {
|
|||||||
* 下载文件
|
* 下载文件
|
||||||
* @param {string} url
|
* @param {string} url
|
||||||
* @param {string} file_name
|
* @param {string} file_name
|
||||||
|
* @param {number} size
|
||||||
* @returns {Promise<void | string>}
|
* @returns {Promise<void | string>}
|
||||||
*/
|
*/
|
||||||
download(url, file_name) {
|
download(url, file_name, size) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
send({
|
send({
|
||||||
url,
|
url,
|
||||||
@ -340,6 +341,9 @@ const utils = {
|
|||||||
resStream.pipe(wtbs);
|
resStream.pipe(wtbs);
|
||||||
wtbs.on('finish', () => {
|
wtbs.on('finish', () => {
|
||||||
utils.log.proPrint('下载完成');
|
utils.log.proPrint('下载完成');
|
||||||
|
if (recv_length < size) {
|
||||||
|
reject(`未正确下载文件: ${recv_length}B < ${size}B`);
|
||||||
|
}
|
||||||
resolve();
|
resolve();
|
||||||
}).on('error', error => {
|
}).on('error', error => {
|
||||||
wtbs.destroy();
|
wtbs.destroy();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user