mirror of
https://github.com/lyz05/danmaku.git
synced 2026-02-02 17:59:53 +08:00
fix: 增加芒果TV错误判断,优化日志打印
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -105,7 +105,6 @@ export default class IqiyiSource extends BaseSource {
|
||||
datas[i] = null;
|
||||
xml = null;
|
||||
if (global.gc) global.gc();
|
||||
memory();
|
||||
}
|
||||
return contents;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
18
utils/db.js
18
utils/db.js
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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),//堆中目前用到的内存量,判断内存泄漏我们主要以这个字段为准。
|
||||
|
||||
Reference in New Issue
Block a user