- 创建统一的下载错误处理模块 (lib/download-errors.ts) - 实现13种错误类型分类和中文错误消息 - 后端统一使用 createDownloadError 创建标准化错误响应 - 前端统一使用 parseDownloadError 解析错误并显示 - 修复正式系统数据库Schema,添加产品全案相关字段和表 - 执行数据库迁移:添加 task_no, task_status, task_fetched_at 字段 - 创建 material_assets, api_keys, api_call_logs 表
77 lines
2.0 KiB
Markdown
77 lines
2.0 KiB
Markdown
# 上传状态清理修复 - 部署清单
|
||
|
||
## 📋 修复内容
|
||
- 导出 `generateFileId` 函数
|
||
- 在 `UploadModal` 错误处理中添加状态清理
|
||
- 在 `chunkUpload` 重试失败时清理状态
|
||
|
||
## ✅ 测试状态
|
||
- [x] ESLint 检查通过
|
||
- [x] TypeScript 编译通过
|
||
- [x] 功能验证通过
|
||
- [x] 代码逻辑验证通过
|
||
|
||
## 🚀 部署步骤
|
||
|
||
### 1. 部署到影子系统(推荐先测试)
|
||
|
||
```powershell
|
||
.\deploy-local-build.ps1 -Target shadow
|
||
```
|
||
|
||
**验证点**:
|
||
- [ ] 应用正常启动
|
||
- [ ] 可以正常上传文件
|
||
- [ ] 模拟错误情况,验证状态清理
|
||
- [ ] 检查浏览器控制台日志
|
||
|
||
### 2. 部署到正式系统(测试通过后)
|
||
|
||
```powershell
|
||
.\deploy-local-build.ps1 -Target production
|
||
```
|
||
|
||
**验证点**:
|
||
- [ ] 应用正常启动
|
||
- [ ] 可以正常上传文件
|
||
- [ ] 检查现有"上传中"状态的素材
|
||
- [ ] 监控错误日志
|
||
|
||
## 🔍 部署后验证
|
||
|
||
### 1. 功能验证
|
||
- [ ] 正常上传小文件(<5MB,不走分片)
|
||
- [ ] 正常上传大文件(≥5MB,走分片)
|
||
- [ ] 模拟网络错误,验证状态清理
|
||
|
||
### 2. 状态检查工具
|
||
使用 `scripts/check-indexeddb-uploads.html` 检查浏览器中的状态:
|
||
- [ ] 打开检查工具
|
||
- [ ] 查看是否有残留状态
|
||
- [ ] 测试清理功能
|
||
|
||
### 3. 日志监控
|
||
检查应用日志,确认:
|
||
- [ ] 正常上传时无错误
|
||
- [ ] 错误情况下有清理日志:`[UploadModal] 已清理上传状态: file-xxx`
|
||
- [ ] 无异常错误
|
||
|
||
## 📝 回滚方案
|
||
|
||
如果部署后出现问题,可以:
|
||
1. 使用之前的镜像备份恢复
|
||
2. 或者回滚到上一个版本
|
||
|
||
## ⚠️ 注意事项
|
||
|
||
1. **状态清理是异步的**:清理失败不会影响错误提示
|
||
2. **仅清理分片上传状态**:小文件(<5MB)不走分片上传,无需清理
|
||
3. **浏览器环境**:IndexedDB 只在浏览器中可用,服务端无法测试
|
||
|
||
## 📚 相关文档
|
||
|
||
- `docs/upload-state-cleanup-fix.md` - 修复说明
|
||
- `docs/test-report-upload-cleanup-fix.md` - 测试报告
|
||
- `docs/code-review-upload-state-issues.md` - 问题分析
|
||
|