提交图

2 次代码提交

作者 SHA1 备注 提交日期
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
febefc8d69 refactor: SDK monorepo with modular packages + clean init API
- Restructure as yarn workspace with packages/common, im, push, update
- @xuqm/rn-common: built-in URLs (no apiBaseUrl/imWsUrl in init), init({appId, debug})
- @xuqm/rn-im: login(userId) handles token internally, no token in public API
- @xuqm/rn-update: registerPlugin({moduleId,version}) for self-registration,
  checkAppUpdate() auto-detects version via XuqmVersionModule native bridge,
  checkRnUpdate(moduleId) uses registered version (no app-layer arg)
- Add XuqmVersionModule native stubs for Android/iOS
- Keep @xuqm/rn-sdk as convenience meta-package re-exporting all

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