问题 / Feature request
�pp/validators/video_url_validator.py 中的 is_supported_video_url(url) 只能返回 �ool,调用方若想同时知道是哪个平台,要么自己重写正则,要么额外 urlparse 一遍。这让前后端跨工作区(�ackend / BillNote_frontend / BillNote_extension)复用同一份平台识别逻辑时出现重复代码:前端 platform.ts / 扩展 platform.ts 各自维护了一份正则表。
期望
- 在 �pp/utils/url_parser.py 中新增 detect_platform(url) -> Optional[str](返回 "bilibili" | "youtube" | "douyin" | "kuaishou" | None);
- 让 is_supported_video_url 复用它,保持单一数据源;
- 把正则表 SUPPORTED_PLATFORMS 抽到 url_parser.py,validator 与新 helper 都引用。
为什么建议独立 PR
- 改动面小(单个文件加约 20 行,加 1 个测试文件),与 bcut / kuaishou / docker 三个 PR 完全正交。
- 这次为了避免与它们在合并时产生冲突,先单独立 issue 跟踪,后续单独再开 PR。
关联
- 见 BiliNote CLAUDE.md "架构" 一节:浏览器扩展 src/logic/platform.ts 和后端 �alidators/video_url_validator.py 是镜像实现,确实有重复。
问题 / Feature request
�pp/validators/video_url_validator.py 中的 is_supported_video_url(url) 只能返回 �ool,调用方若想同时知道是哪个平台,要么自己重写正则,要么额外 urlparse 一遍。这让前后端跨工作区(�ackend / BillNote_frontend / BillNote_extension)复用同一份平台识别逻辑时出现重复代码:前端 platform.ts / 扩展 platform.ts 各自维护了一份正则表。
期望
为什么建议独立 PR
关联