mirror of
https://github.com/LifeArchiveProject/WeChatDataAnalysis.git
synced 2026-02-19 06:10:52 +08:00
feat(media): 添加图片资源解密与SSE进度
- 后端新增图片解密密钥获取/保存接口(/api/media/keys)
- 新增批量解密接口与输出结构:resource/{md5前2位}/{md5}.{ext}
- 新增资源直读接口(/api/media/resource/{md5}),自动识别媒体类型返回
- 新增SSE实时进度接口(/api/media/decrypt_all_stream),前端可实时展示进度
- 前端解密页增加图片解密步骤与进度条/统计/失败说明,并对接相关API
- README 补充图片资源解密使用说明
This commit is contained in:
@@ -94,6 +94,37 @@ export const useApi = () => {
|
||||
const url = '/chat/media/open_folder' + (query.toString() ? `?${query.toString()}` : '')
|
||||
return await request(url, { method: 'POST' })
|
||||
}
|
||||
|
||||
// 获取图片解密密钥
|
||||
const getMediaKeys = async (params = {}) => {
|
||||
const query = new URLSearchParams()
|
||||
if (params && params.account) query.set('account', params.account)
|
||||
if (params && params.force_extract) query.set('force_extract', 'true')
|
||||
const url = '/media/keys' + (query.toString() ? `?${query.toString()}` : '')
|
||||
return await request(url)
|
||||
}
|
||||
|
||||
// 保存图片解密密钥
|
||||
const saveMediaKeys = async (params = {}) => {
|
||||
const query = new URLSearchParams()
|
||||
if (params && params.account) query.set('account', params.account)
|
||||
if (params && params.xor_key) query.set('xor_key', params.xor_key)
|
||||
if (params && params.aes_key) query.set('aes_key', params.aes_key)
|
||||
const url = '/media/keys' + (query.toString() ? `?${query.toString()}` : '')
|
||||
return await request(url, { method: 'POST', body: { account: params.account, force_extract: false } })
|
||||
}
|
||||
|
||||
// 批量解密所有图片
|
||||
const decryptAllMedia = async (params = {}) => {
|
||||
return await request('/media/decrypt_all', {
|
||||
method: 'POST',
|
||||
body: {
|
||||
account: params.account || null,
|
||||
xor_key: params.xor_key || null,
|
||||
aes_key: params.aes_key || null
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
return {
|
||||
detectWechat,
|
||||
@@ -103,6 +134,9 @@ export const useApi = () => {
|
||||
listChatAccounts,
|
||||
listChatSessions,
|
||||
listChatMessages,
|
||||
openChatMediaFolder
|
||||
openChatMediaFolder,
|
||||
getMediaKeys,
|
||||
saveMediaKeys,
|
||||
decryptAllMedia
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user