mirror of
https://github.com/LifeArchiveProject/WeChatDataAnalysis.git
synced 2026-02-19 06:10:52 +08:00
feat(chat): 前端增加实时开关并自动刷新会话/消息
- 聊天页新增实时开关,自动探测 realtime 可用性 - 监听 /api/chat/realtime/stream,变更时触发增量同步并刷新会话/消息 - useApi 增加 realtime 接口,sessions/messages 支持 source 参数
This commit is contained in:
@@ -69,6 +69,7 @@ export const useApi = () => {
|
||||
if (params && params.limit != null) query.set('limit', String(params.limit))
|
||||
if (params && params.include_hidden != null) query.set('include_hidden', String(!!params.include_hidden))
|
||||
if (params && params.include_official != null) query.set('include_official', String(!!params.include_official))
|
||||
if (params && params.source) query.set('source', params.source)
|
||||
const url = '/chat/sessions' + (query.toString() ? `?${query.toString()}` : '')
|
||||
return await request(url)
|
||||
}
|
||||
@@ -81,10 +82,39 @@ export const useApi = () => {
|
||||
if (params && params.offset != null) query.set('offset', String(params.offset))
|
||||
if (params && params.order) query.set('order', params.order)
|
||||
if (params && params.render_types) query.set('render_types', params.render_types)
|
||||
if (params && params.source) query.set('source', params.source)
|
||||
const url = '/chat/messages' + (query.toString() ? `?${query.toString()}` : '')
|
||||
return await request(url)
|
||||
}
|
||||
|
||||
const getChatRealtimeStatus = async (params = {}) => {
|
||||
const query = new URLSearchParams()
|
||||
if (params && params.account) query.set('account', params.account)
|
||||
const url = '/chat/realtime/status' + (query.toString() ? `?${query.toString()}` : '')
|
||||
return await request(url)
|
||||
}
|
||||
|
||||
const syncChatRealtimeMessages = async (params = {}) => {
|
||||
const query = new URLSearchParams()
|
||||
if (params && params.account) query.set('account', params.account)
|
||||
if (params && params.username) query.set('username', params.username)
|
||||
if (params && params.max_scan != null) query.set('max_scan', String(params.max_scan))
|
||||
const url = '/chat/realtime/sync' + (query.toString() ? `?${query.toString()}` : '')
|
||||
return await request(url, { method: 'POST' })
|
||||
}
|
||||
|
||||
const syncChatRealtimeAll = async (params = {}) => {
|
||||
const query = new URLSearchParams()
|
||||
if (params && params.account) query.set('account', params.account)
|
||||
if (params && params.max_scan != null) query.set('max_scan', String(params.max_scan))
|
||||
if (params && params.priority_username) query.set('priority_username', params.priority_username)
|
||||
if (params && params.priority_max_scan != null) query.set('priority_max_scan', String(params.priority_max_scan))
|
||||
if (params && params.include_hidden != null) query.set('include_hidden', String(!!params.include_hidden))
|
||||
if (params && params.include_official != null) query.set('include_official', String(!!params.include_official))
|
||||
const url = '/chat/realtime/sync_all' + (query.toString() ? `?${query.toString()}` : '')
|
||||
return await request(url, { method: 'POST' })
|
||||
}
|
||||
|
||||
const searchChatMessages = async (params = {}) => {
|
||||
const query = new URLSearchParams()
|
||||
if (params && params.account) query.set('account', params.account)
|
||||
@@ -250,6 +280,9 @@ export const useApi = () => {
|
||||
listChatAccounts,
|
||||
listChatSessions,
|
||||
listChatMessages,
|
||||
getChatRealtimeStatus,
|
||||
syncChatRealtimeMessages,
|
||||
syncChatRealtimeAll,
|
||||
searchChatMessages,
|
||||
getChatSearchIndexStatus,
|
||||
buildChatSearchIndex,
|
||||
|
||||
Reference in New Issue
Block a user