docs(plan): on-demand site detail page parsing (HHClub details.php)
Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
1 parent
94fd48bff2
commit
ac478673bc
39 files changed
+2446
-339
No files matched your search
@@ -357,6 +357,19 @@ export const BudgetSettings = z.object({
|
||||
});
|
||||
export type BudgetSettings = z.infer<typeof BudgetSettings>;
|
||||
|
||||
/**
|
||||
* 资源搜索(SEARCH-2):GET /search/releases 不带 sites 时参与搜索的站点。
|
||||
* default = 启用且「默认参与搜索」的站点;all = 全部启用站点;custom = siteIds 里仍启用的站点。
|
||||
*/
|
||||
export const SearchSiteMode = z.enum(["default", "all", "custom"]);
|
||||
export type SearchSiteMode = z.infer<typeof SearchSiteMode>;
|
||||
export const SearchSettings = z.object({
|
||||
defaultSiteMode: SearchSiteMode,
|
||||
/** custom 时的站点 ID */
|
||||
siteIds: z.array(z.uuid()).max(200),
|
||||
});
|
||||
export type SearchSettings = z.infer<typeof SearchSettings>;
|
||||
|
||||
/**
|
||||
* 身份识别(DEC-1 惰性识别,对照 MP:RSS / 列表资源只在匹配订阅或用户搜索时识别)。
|
||||
* eagerTmdbLookup = true 恢复旧行为:每条新观察到的资源都查 TMDB。每条资源约 1–2 次搜索 + 命中时 1 次详情
|
||||
@@ -382,6 +395,7 @@ export const GlobalSettings = z.object({
|
||||
sites: SitesSettings,
|
||||
naming: NamingSettings,
|
||||
identity: IdentitySettings,
|
||||
search: SearchSettings,
|
||||
});
|
||||
export type GlobalSettings = z.infer<typeof GlobalSettings>;
|
||||
|
||||
@@ -453,6 +467,7 @@ export const DEFAULT_SETTINGS: GlobalSettings = {
|
||||
},
|
||||
naming: { ...DEFAULT_NAMING_TEMPLATES, lockFileNameForBound: false },
|
||||
identity: { eagerTmdbLookup: false, poolArchiveDays: 30 },
|
||||
search: { defaultSiteMode: "default", siteIds: [] },
|
||||
};
|
||||
|
||||
/** PATCH /settings:按分组部分更新;服务端与现值合并后用 GlobalSettings 整体再校验 */
|
||||
@@ -502,6 +517,7 @@ export const GlobalSettingsUpdate = z.object({
|
||||
sites: SitesSettings.partial().optional(),
|
||||
naming: NamingSettings.partial().optional(),
|
||||
identity: IdentitySettings.partial().optional(),
|
||||
search: SearchSettings.partial().optional(),
|
||||
});
|
||||
export type GlobalSettingsUpdate = z.infer<typeof GlobalSettingsUpdate>;
|
||||
|
||||
@@ -527,6 +543,7 @@ export function mergeSettings(current: GlobalSettings, patch: GlobalSettingsUpda
|
||||
sites: { ...(current.sites ?? DEFAULT_SETTINGS.sites), ...patch.sites },
|
||||
naming: { ...(current.naming ?? DEFAULT_SETTINGS.naming), ...patch.naming },
|
||||
identity: { ...(current.identity ?? DEFAULT_SETTINGS.identity), ...patch.identity },
|
||||
search: { ...(current.search ?? DEFAULT_SETTINGS.search), ...patch.search },
|
||||
};
|
||||
}
|
||||
|
||||
@@ -638,6 +655,8 @@ export const SETTINGS_SECTIONS: readonly SettingsSectionDef[] = [
|
||||
"sites.userAgent",
|
||||
"sites.proxyUrl",
|
||||
"sites.userDataMaxSeedingPages",
|
||||
"search.defaultSiteMode",
|
||||
"search.siteIds",
|
||||
],
|
||||
resources: [],
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user