feat(adapters): TMDB 列表与筛选、豆瓣榜单 / 标签 / 筛选 / 搜索、bgm 浏览与趋势,豆瓣 / bgm 请求缓存端口
- TMDB:流行趋势(日 / 周)、电影 / 剧集榜单、discover 参数映射、分页搜索;列表类请求 TTL 6 小时 - 豆瓣 / bgm:列表与搜索请求经 MetaRequestCache 与限流,失败(403 / 风控页)不缓存 - contracts:发现页条目、分页、查询校验与筛选字典;storage.cacheTtl 追加 meta* 字段 - testkit:mock TMDB 加列表接口 Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
This commit is contained in:
1 parent
27514f4985
commit
e46eb0e3c3
13 files changed
+1344
-91
No files matched your search
@@ -1,6 +1,7 @@
|
||||
import { z } from "zod";
|
||||
import { MetadataEnrichOutput } from "../capabilities-io.ts";
|
||||
import { cursorPage, IdParam } from "../common.ts";
|
||||
import * as discover from "../discover.ts";
|
||||
import * as execution from "../execution.ts";
|
||||
import * as identity from "../identity.ts";
|
||||
import * as libraryVersions from "../library-versions.ts";
|
||||
@@ -211,24 +212,41 @@ export const libraryApi = {
|
||||
method: "get",
|
||||
path: "/discover/bangumi-calendar",
|
||||
scope: "read",
|
||||
summary: "bgm.tv 每日放送(周一到周日;缓存 1 小时)",
|
||||
response: search.DiscoverCalendar,
|
||||
summary: "bgm.tv 每日放送(周一到周日;请求缓存 6 小时;带本地状态)",
|
||||
response: discover.DiscoverCalendar,
|
||||
}),
|
||||
discoverHot: ep({
|
||||
discoverTmdb: ep({
|
||||
method: "get",
|
||||
path: "/discover/douban-hot",
|
||||
path: "/discover/tmdb",
|
||||
scope: "read",
|
||||
summary: "豆瓣实时热门电影 / 剧集(缓存 1 小时)",
|
||||
query: search.DiscoverHotQuery,
|
||||
response: search.DiscoverList,
|
||||
summary:
|
||||
"TMDB 发现:流行趋势、热门、正在上映 / 播出、即将上映、高分、按条件筛选、搜索(走 TMDB 请求缓存;带本地状态)",
|
||||
query: discover.DiscoverTmdbQuery,
|
||||
response: discover.DiscoverPage,
|
||||
}),
|
||||
discoverDouban: ep({
|
||||
method: "get",
|
||||
path: "/discover/douban",
|
||||
scope: "read",
|
||||
summary: "豆瓣发现:榜单、标签、筛选、搜索(走豆瓣请求缓存,失败不缓存)",
|
||||
query: discover.DiscoverDoubanQuery,
|
||||
response: discover.DiscoverPage,
|
||||
}),
|
||||
discoverBangumi: ep({
|
||||
method: "get",
|
||||
path: "/discover/bangumi",
|
||||
scope: "read",
|
||||
summary: "Bangumi 发现:热门趋势、排行、最新、搜索(走 bgm 请求缓存,失败不缓存)",
|
||||
query: discover.DiscoverBangumiQuery,
|
||||
response: discover.DiscoverPage,
|
||||
}),
|
||||
discoverMatch: ep({
|
||||
method: "post",
|
||||
path: "/discover/tmdb-match",
|
||||
scope: "read",
|
||||
summary: "豆瓣 / bgm 条目 → TMDB 作品(名称 + 年份匹配,对照 MP 投影);确定的给 match,否则给候选",
|
||||
body: search.DiscoverMatchRequest,
|
||||
response: search.DiscoverMatchResult,
|
||||
summary: "豆瓣 / bgm 条目 → TMDB 作品(名称 + 年份匹配,对照 MP 投影);确定的给 match 并记住,否则给候选",
|
||||
body: discover.DiscoverMatchRequest,
|
||||
response: discover.DiscoverMatchResult,
|
||||
}),
|
||||
tmdbSeason: ep({
|
||||
method: "get",
|
||||
|
||||
Reference in new issue
Block a user