fix: 增加芒果TV错误判断,优化日志打印

This commit is contained in:
lyz05
2025-11-21 09:42:57 +08:00
parent 0eef51207d
commit 6c957fec60
6 changed files with 18 additions and 15 deletions

View File

@@ -41,7 +41,7 @@ export default class BaseSource {
async work(url) {
const promises = await this.resolve(url);
if (!this.error_msg) {
console.log(this.name, "api lens:", promises.length);
console.log(this.name, "API lens:", promises.length);
this.content = await this.parse(promises);
}
return {

View File

@@ -105,7 +105,6 @@ export default class IqiyiSource extends BaseSource {
datas[i] = null;
xml = null;
if (global.gc) global.gc();
memory();
}
return contents;
};

View File

@@ -22,6 +22,10 @@ export default class MgtvSource extends BaseSource {
const cid = path.slice(-2)[0];
const vid = path.slice(-1)[0].split(".")[0];
const res = await axios.get(api_video_info, {params: {cid, vid}});
if (res.data.code !== 200) {
this.error_msg = this.name + " API: " + api_video_info + "请求失败,错误信息: " + res.data.msg;
return null;
}
this.title = res.data.data.info.videoName;
const time = res.data.data.info.time;

View File

@@ -22,9 +22,9 @@ async function build_response(url, req) {
maxRedirects: 10
});
url = response.request.res.responseUrl || url;
console.log("Real url:", url);
console.log("重定向后最终URL:", url);
} catch (e) {
console.log(e);
console.log("尝试打开传入页面失败" + e.message);
// 如果是 403 错误,不报错,继续执行
if (e.response && e.response.status === 403) {
console.log("访问视频页面 403 错误,有可能被防火墙拦了");
@@ -48,7 +48,7 @@ async function build_response(url, req) {
try {
ret = await fc.work(url);
} catch (e) {
console.log(e);
console.log("全局错误捕获,详情查阅数据库" + e.message);
let err = JSON.stringify(e, Object.getOwnPropertyNames(e));
db.errorInsert({
ip: req.ip,

View File

@@ -9,10 +9,10 @@ if (dbConnected) {
sqlite3.OPEN_READWRITE,
function (err) {
if (err) {
console.log(err.message);
console.log("sqlite:", err.message);
dbConnected = false; // 更新连接状态
} else {
console.log('Connected to the database successfully');
console.log('sqlite: Connected to the database successfully');
}
}
);
@@ -55,7 +55,7 @@ async function errorInsert(record) {
);
return rows;
} catch (err) {
console.error('Error during data insertion:', err.message);
console.error('sqlite: Error during data insertion:', err.message);
}
}
@@ -67,7 +67,7 @@ async function accessInsert(record) {
);
return rows;
} catch (err) {
console.error('Error during data insertion:', err.message);
console.error('sqlite: Error during data insertion:', err.message);
}
}
@@ -77,7 +77,7 @@ async function accessCountQuery() {
const ret = await all("SELECT * FROM AccessStatistics");
return ret[0];
} catch (err) {
console.error('Error during data query:', err.message);
console.error('sqlite: Error during data query:', err.message);
return {'today_visited': "null", 'lastday_visited': "null", 'month_visited': "null"};
}
}
@@ -90,7 +90,7 @@ async function videoInfoInsert(record) {
);
return rows;
} catch (err) {
console.error('Error during data insertion:', err.message);
console.error('sqlite: Error during data insertion:', err.message);
}
}
@@ -99,7 +99,7 @@ async function hotlistQuery() {
try {
return await all("SELECT * FROM YesterdayHotlist;");
} catch (err) {
console.error('Error during data query:', err.message);
console.error('sqlite: Error during data query:', err.message);
return null;
}
}
@@ -117,10 +117,10 @@ async function deleteAccess() {
changes += result.changes;
// vacuum
await run("vacuum");
console.log("deleteAccess Affect Rows:",changes)
console.log("sqlite: deleteAccess Affect Rows:",changes)
return changes; // 提取删除的行数
} catch (err) {
console.error('Error during data deletion:', err.message);
console.error('sqlite: Error during data deletion:', err.message);
return null;
}
}

View File

@@ -3,7 +3,7 @@ const {filesize} = require("filesize");
const print = function () {
const memoryUsage = process.memoryUsage();
console.log(JSON.stringify({
console.log("memory", JSON.stringify({
rss: filesize(memoryUsage.rss),//RAM 中保存的进程占用的内存部分,包括代码本身、栈、堆。
heapTotal: filesize(memoryUsage.heapTotal),//堆中总共申请到的内存量。
heapUsed: filesize(memoryUsage.heapUsed),//堆中目前用到的内存量,判断内存泄漏我们主要以这个字段为准。