feat: PageKey增加RSS,默认脚本模板增加parseRss方法

This commit is contained in:
mediabot-pt
2026-07-06 09:23:27 +08:00
parent 0ef8080dd8
commit f0cc2ad4c0
6 changed files with 31 additions and 0 deletions

View File

@@ -10,6 +10,7 @@ public enum PageKey {
SIGN_IN("signIn", "签到", "POST"),
SEARCH("search", "搜索", "GET"),
DOWNLOAD("download", "下载", "GET"),
RSS("rss", "RSS", "GET"),
// detail 仅供脚本内 context.fetch("detail", ...) 使用,medibo 不直接调用
DETAIL("detail", "资源详情", "GET");

View File

@@ -8,10 +8,15 @@ Map parse(String content, String url) {
if (url.contains('/torrents.php')) return parseSearch(doc)
if (url.contains('/torrents.php?id=')) return parseDetail(doc)
if (url.contains('/index.php') && !url.contains('?')) return parseUserInfo(doc)
if (url.contains('/torrentrss.php') || url.contains('/rss')) return parseRss()
return [pageName: '未知页面', message: "未配置: ${url}"]
}
private Map parseRss() {
return [pageName: 'RSS', message: 'RSS 内容由 Java 层解析']
}
private Map parseUserInfo(doc) {
def fields = [:]
def stats = utils.selectFirst(doc, '#userinfo_stats, .user_stats, ul.stats')

View File

@@ -12,10 +12,15 @@ Map parse(String content, String url) {
if (url.contains('/api/member/profile')) return parseProfile(root?.data)
if (url.contains('/api/tracker/myPeerStatistics')) return parsePeerStats(root?.data)
if (url.contains('/api/torrent/search')) return parseSearch(root?.data?.data ?: [])
if (url.contains('/torrentrss.php') || url.contains('/rss')) return parseRss()
return [pageName: '未知接口', message: "未配置: ${url}"]
}
private Map parseRss() {
return [pageName: 'RSS', message: 'RSS 内容由 Java 层解析']
}
private Map parseProfile(d) {
if (!d) return [pageName: '用户信息', message: 'data 为空']
return [pageName: '用户信息', fields: [

View File

@@ -9,10 +9,15 @@ Map parse(String content, String url) {
if (url.contains('/attendance.php')) return parseSign(doc)
if (url.contains('/index.php') && !url.contains('?')) return parseUserInfo(doc)
if (url.contains('/usercp.php')) return parseUserPanel(doc)
if (url.contains('/torrentrss.php') || url.contains('/rss')) return parseRss(doc)
return [pageName: '未知页面', message: "未配置: ${url}"]
}
private Map parseRss(doc) {
return [pageName: 'RSS', message: 'RSS 内容由 Java 层解析']
}
private Map parseUserInfo(doc) {
def fields = [:]
def el = doc.selectFirst('#info_block, td.bottom.clearfix, .userbar')

View File

@@ -16,9 +16,15 @@ Map parse(String content, String url) {
} catch (e) {}
}
if (url.contains('/torrentrss.php') || url.contains('/rss')) return parseRss()
return [pageName: '未知页面', message: "未配置: ${url}"]
}
private Map parseRss() {
return [pageName: 'RSS', message: 'RSS 内容由 Java 层解析']
}
private Map parseApiData(d, url) {
if (url.contains('/user') || url.contains('/profile'))
return [pageName: '用户', fields: [username: d?.username, uploaded: d?.uploaded?.toString(), downloaded: d?.downloaded?.toString()]]