fix: 所有返回都加matched字段

This commit is contained in:
mediabot-pt
2026-07-06 02:00:29 +08:00
parent 972d6ecc75
commit 33558a81cd

View File

@@ -7,10 +7,10 @@
Map parse(context) {
if (context.status != 200) {
return switch(context.status) {
case 302 -> [redirect: context.headers?.Location ?: '']
case 403 -> [banned: true, message: 'IP被禁']
case 429 -> [rateLimited: true]
default -> [error: true, status: context.status, message: "HTTP ${context.status}"]
case 302 -> [matched: false, redirect: context.headers?.Location ?: '']
case 403 -> [matched: false, banned: true, message: 'IP被禁']
case 429 -> [matched: false, rateLimited: true]
default -> [matched: false, error: true, status: context.status, message: "HTTP ${context.status}"]
}
}
return switch(context.pageKey) {
@@ -71,7 +71,7 @@ private Map parseSearchPage(doc) {
publishDate: time,
]
}
return [pageName: '搜索', items: items]
return [pageName: '搜索', matched: !items.isEmpty(), items: items]
}
// ==================== 种子详情 ====================
@@ -98,7 +98,7 @@ private Map parseDetailPage(doc) {
private Map parseSignPage(doc) {
def t = doc.body().text()
def matched = t ==~ /.*(签到成功|已签到|重复签到|今日已签|已经签到|获得.*).*/
return [pageName: '签到', sign: true, message: matched ? '成功' : '结果未匹配']
return [pageName: '签到', matched: matched, sign: true, message: matched ? '成功' : '结果未匹配']
}
// ==================== 下载 ====================
@@ -106,12 +106,12 @@ private Map parseSignPage(doc) {
private Map parseDownload(context) {
// 下载页通常是重定向到种子文件
if (context.status == 302 || context.status == 301) {
return [pageName: '下载', redirect: context.headers?.Location ?: '']
return [pageName: '下载', matched: false, redirect: context.headers?.Location ?: '']
}
if (context.headers?.'Content-Type'?.contains('octet-stream')) {
return [pageName: '下载', downloaded: true, size: context.content.length()]
return [pageName: '下载', matched: true, downloaded: true, size: context.content.length()]
}
return [pageName: '下载', error: true, status: context.status, message: "非种子文件 response"]
return [pageName: '下载', matched: false, error: true, status: context.status, message: "非种子文件 response"]
}
// ==================== 工具方法 ====================