Skip to content

fix(frontend): 视频链接缺协议头时自动补 https:// 而非直接拒绝#423

Open
pumpkinperson996 wants to merge 1 commit into
JefferyHcool:masterfrom
pumpkinperson996:fix/frontend-schemeless-url
Open

fix(frontend): 视频链接缺协议头时自动补 https:// 而非直接拒绝#423
pumpkinperson996 wants to merge 1 commit into
JefferyHcool:masterfrom
pumpkinperson996:fix/frontend-schemeless-url

Conversation

@pumpkinperson996

Copy link
Copy Markdown

问题

用户粘贴的视频链接如果没有协议头(例如 bilibili.com/list/watchlater/?bvid=BV...www.bilibili.com/video/BV...),前端表单校验中的 new URL(video_url) 会抛异常,直接提示"请输入正确的视频链接"。从聊天记录、笔记等处摘抄的链接经常缺协议头,这类输入其实意图明确。

修复

新增 withScheme() 辅助函数:输入不含任何 scheme(^[a-z][a-z0-9+.-]*://)时自动补 https://

  • 校验时new URL(withScheme(video_url)),无协议头的合法链接可通过校验
  • 提交时:payload 中的 video_url 同样补全后再发给后端(platform === 'local' 的本地路径不处理)
  • 已带明确 scheme 的输入原样保留,ftp:// 等非 http(s) 协议仍按原逻辑拒绝

改动仅 NoteForm.tsx 一个文件。

🤖 Generated with Claude Code

用户从各处摘抄的链接常常没有 https:// 前缀(如 bilibili.com/...),
表单校验用 new URL() 解析会直接失败,提示"请输入正确的视频链接"。

校验时对无 scheme 的输入先补 https:// 再解析;提交时同样补全后再发
给后端(本地视频路径除外)。已有明确 scheme 的输入不受影响,ftp://
等非 http(s) 协议仍被拒绝。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant