improvement(media): 聊天媒体支持 file_id 兜底定位

- 图片/视频消息无 MD5 时,解析并下发 file_id,用于本地资源兜底定位与展示
- 后端 chat_media/open_folder 支持 md5/file_id;视频优先可 Range 的文件响应,并在需要时解密落盘
- 前端聊天页与 API 调用适配 file_id;补充媒体 URL 可用性判断
- 解密页补充“获取密钥”提示,支持手动输入/保存密钥;README 同步说明;更新音频图标资源
This commit is contained in:
2977094657
2025-12-23 16:39:38 +08:00
parent a4d652230f
commit 36f5067730
9 changed files with 790 additions and 126 deletions

View File

@@ -62,6 +62,7 @@
- **Web界面**: 提供现代化的Web操作界面
- **聊天记录查看**: 支持查看解密后的聊天记录(基础功能)
- **图片资源解密**: 支持批量解密微信图片(.dat文件)按MD5哈希存储便于快速访问
- **聊天图片展示**: 支持部分版本图片消息无MD5时通过 file_id 兜底定位本地资源
### 开发计划
@@ -183,6 +184,8 @@ curl http://localhost:8000/api/media/keys
curl "http://localhost:8000/api/media/keys?force_extract=true"
```
> 提示:部分版本的 AES 密钥可能需要微信触发过图片加载/解密后才会出现在进程内存中。可尝试:完全退出微信 → 重新启动并登录 → 打开朋友圈图片并点开大图 2-3 次 → 立刻回到工具获取密钥。
返回示例:
```json
{