2026-05-18-19-19-36 修复样例加载提示和favicon
This commit is contained in:
22
工程分析/实现方案-2026-05-18-19-19-36.md
Normal file
22
工程分析/实现方案-2026-05-18-19-19-36.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# 实现方案
|
||||
|
||||
开始时间:2026-05-18-19-19-36
|
||||
|
||||
## 修改内容
|
||||
|
||||
1. 后端新增 `/favicon.ico`
|
||||
- 返回一个轻量 SVG 图标响应。
|
||||
- 避免浏览器默认请求 favicon 时产生 404 控制台噪声。
|
||||
|
||||
2. 前端增强 `loadSample`
|
||||
- 加载开始时显示“正在加载内置样例视频”。
|
||||
- 成功后显示“样例已加载,点击运行分割”。
|
||||
- 接口或文件下载失败时在页面中显示错误。
|
||||
|
||||
3. 前端增强 `setFile`
|
||||
- 仅在浏览器支持 `DataTransfer` 时同步设置 `fileInput.files`。
|
||||
- 保留 `selectedFile` 作为真实提交来源,兼容性更稳。
|
||||
|
||||
## 说明
|
||||
|
||||
`Unchecked runtime.lastError` 一般不是本项目代码产生,多见于浏览器扩展。若无痕模式或禁用扩展后消失,即可确认与系统无关。
|
||||
24
工程分析/测试方案-2026-05-18-19-19-36.md
Normal file
24
工程分析/测试方案-2026-05-18-19-19-36.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# 测试方案
|
||||
|
||||
开始时间:2026-05-18-19-19-36
|
||||
|
||||
## 测试项
|
||||
|
||||
- `curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:8001/favicon.ico`
|
||||
- `curl -s http://127.0.0.1:8001/api/samples`
|
||||
- `pytest -q`
|
||||
- Chrome headless 首页截图确认页面仍可渲染。
|
||||
|
||||
## 验收标准
|
||||
|
||||
- `/favicon.ico` 不再返回 404。
|
||||
- `/api/samples` 返回样例视频和样例图像。
|
||||
- 自动化测试通过。
|
||||
- 网页端加载样例有明确页面提示。
|
||||
|
||||
## 执行结果
|
||||
|
||||
- `/favicon.ico`:通过,返回 `200 image/svg+xml`。
|
||||
- `/api/samples`:通过,返回 `synthetic_guidewire.mp4` 和 `synthetic_guidewire.png`。
|
||||
- `pytest -q`:通过,4 个测试全部通过。
|
||||
- Chrome headless 首页截图:通过,页面可正常渲染。
|
||||
12
工程分析/经验记录.md
12
工程分析/经验记录.md
@@ -57,3 +57,15 @@ B. 产生问题原因:CSS 中对 `#videoPreview`、`#imagePreview` 设置了 `
|
||||
C. 解决问题方案:在全局 CSS 中增加 `[hidden] { display: none !important; }`,确保所有使用 `hidden` 的状态元素都能可靠隐藏。
|
||||
|
||||
D. 后续如何避免问题:前端页面涉及显隐状态时,必须用 headless 截图检查初始状态;如果自定义了 display 样式,需要显式保护 `[hidden]`。
|
||||
|
||||
## 2026-05-18-19-19-36 加载样例控制台提示处理
|
||||
|
||||
### 1. favicon.ico 404 干扰问题判断
|
||||
|
||||
A. 具体问题:点击“加载样例”后,浏览器控制台出现 `/favicon.ico` 404,同时还有 `Unchecked runtime.lastError`。
|
||||
|
||||
B. 产生问题原因:项目没有提供 `/favicon.ico`,浏览器会默认请求该资源并记录 404;`runtime.lastError` 更常见于浏览器扩展消息通道关闭,通常不是普通网页代码产生。
|
||||
|
||||
C. 解决问题方案:后端增加 `/favicon.ico` 响应,前端为“加载样例”增加明确的成功/失败状态提示和异常捕获。
|
||||
|
||||
D. 后续如何避免问题:网页端交付时补齐 favicon、状态提示和错误处理;遇到 `runtime.lastError` 时优先用无痕模式或禁用扩展排查来源。
|
||||
|
||||
23
工程分析/需求分析-2026-05-18-19-19-36.md
Normal file
23
工程分析/需求分析-2026-05-18-19-19-36.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# 需求分析
|
||||
|
||||
开始时间:2026-05-18-19-19-36
|
||||
|
||||
## 用户反馈
|
||||
|
||||
点击网页端“加载样例”后,浏览器控制台出现:
|
||||
|
||||
- `Unchecked runtime.lastError: The message port closed before a response was received.`
|
||||
- `:8001/favicon.ico:1 Failed to load resource: the server responded with a status of 404 (Not Found)`
|
||||
|
||||
## 判断
|
||||
|
||||
- `runtime.lastError` 通常来自浏览器扩展消息通道,页面自身代码未直接使用扩展消息接口。
|
||||
- `favicon.ico 404` 是项目没有提供站点图标,确实会在控制台产生干扰。
|
||||
- “加载样例”需要更明确的页面状态提示,避免用户只看到控制台信息却不知道样例是否加载成功。
|
||||
|
||||
## 本轮目标
|
||||
|
||||
- 修复 `/favicon.ico` 404。
|
||||
- 为“加载样例”增加成功和失败提示。
|
||||
- 增强样例加载异常捕获。
|
||||
- 验证服务和样例接口可用。
|
||||
Reference in New Issue
Block a user