提交图

3 次代码提交

作者 SHA1 备注 提交日期
XuqmGroup
afe13d1c90 fix(im): add toId/chatType filters to MessageSearchParams and searchMessages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 13:36:44 +08:00
XuqmGroup
d7e7cd8e2d feat: async remote init, file upload in SDK, device info, ScaledImage, DB v2
- XuqmSDK.initialize(appId, serverUrl): fetches config from tenant platform
- ImSDK: sendImageMessage/sendVideoMessage/sendAudioMessage/sendFileMessage
- upload.ts: FormData upload to file-service with Bearer auth
- device.ts: deviceId (UUID), brand→pushVendor detection, platform info
- ScaledImage component: aspect-ratio bounded image rendering
- WatermelonDB schema v2: is_muted, is_pinned on conversations
- subscribeConversations: reactive WatermelonDB observable
- searchMessages: keyword/date/chat-type/target filtering

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 16:41:19 +08:00
XuqmGroup
4e821b280b feat(rn-im): add WatermelonDB local message database
- Add schema for im_conversations and im_messages tables
- ConversationModel/MessageModel: WatermelonDB ORM models
- ImDatabase: init/saveMessage/getMessages/getConversations/markRead/bulkSave
- ImSDK: fetchHistory/fetchGroupHistory read local DB first, cache server results
- ImSDK: incoming WebSocket messages auto-saved to local DB
- ImSDK: new listConversations() and markRead() public APIs
- @nozbe/watermelondb >=0.27.0 added as peer dependency

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 20:54:12 +08:00