增加下载同步功能,可以导出已下载作品。避免另一个设备的重复下载,修复日志bug

This commit is contained in:
2025-10-01 18:58:50 +08:00
parent d3121bf7dd
commit 0d294536ca
23 changed files with 1818 additions and 230 deletions
+26 -5
View File
@@ -11,10 +11,6 @@ if (!process.env.UV_THREADPOOL_SIZE) {
}
const PixivServer = require('./server');
const { defaultLogger } = require('./utils/logger');
// 创建logger实例
const logger = defaultLogger.child('Start');
// 解析命令行参数
function parseArguments() {
@@ -35,7 +31,12 @@ function parseArguments() {
if (!isNaN(port)) {
options.serverPort = port;
}
}
} else if (arg.startsWith('--log-level=')) {
const level = arg.split('=')[1].toUpperCase();
if (['ERROR', 'WARN', 'INFO', 'DEBUG', 'TRACE'].includes(level)) {
options.logLevel = level;
}
}
// 处理 --key value 格式(向后兼容)
else if (arg === '--proxy-port' && i + 1 < args.length) {
const port = parseInt(args[i + 1]);
@@ -49,6 +50,12 @@ function parseArguments() {
options.serverPort = port;
}
i++; // 跳过下一个参数
} else if (arg === '--log-level' && i + 1 < args.length) {
const level = args[i + 1].toUpperCase();
if (['ERROR', 'WARN', 'INFO', 'DEBUG', 'TRACE'].includes(level)) {
options.logLevel = level;
}
i++; // 跳过下一个参数
}
}
@@ -61,6 +68,15 @@ const cliOptions = parseArguments();
// 设置环境变量
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
// 设置日志级别环境变量
if (cliOptions.logLevel) {
process.env.LOG_LEVEL = cliOptions.logLevel.toLowerCase();
}
// 在设置环境变量后导入logger
const { defaultLogger } = require('./utils/logger');
const logger = defaultLogger.child('Start');
// 如果提供了代理端口,设置环境变量
if (cliOptions.proxyPort) {
process.env.PROXY_PORT = cliOptions.proxyPort.toString();
@@ -73,6 +89,11 @@ if (cliOptions.serverPort) {
logger.info(`服务器端口已设置为: ${cliOptions.serverPort}`);
}
// 输出日志级别信息
if (cliOptions.logLevel) {
logger.info(`日志级别: ${cliOptions.logLevel}`);
}
logger.info('启动 Pixiv 后端服务器...');
// 创建服务器实例