86 行
2.4 KiB
Markdown
86 行
2.4 KiB
Markdown
|
|
# 模块待开发说明
|
|||
|
|
|
|||
|
|
> 以下模块当前代码冻结,仅补充文档。后续开发需单独评估。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## rn-push(厂商推送)
|
|||
|
|
|
|||
|
|
### 当前状态
|
|||
|
|
|
|||
|
|
- FCM/APNS 基础注册已实现
|
|||
|
|
- HMS/VIVO/OPPO 厂商推送集成框架已建
|
|||
|
|
- 自动厂商检测(通过原生模块 `NativePush`)
|
|||
|
|
- Token 注册/解绑 API 完整
|
|||
|
|
- 离线推送开关、免打扰时间段 API 已实现
|
|||
|
|
|
|||
|
|
### 后续待做
|
|||
|
|
|
|||
|
|
- 厂商推送 token 注册完整流程(华为 HMS 需要 AppGallery Connect 配置)
|
|||
|
|
- 设备绑定/解绑统一 API(当前分散在各厂商 SDK)
|
|||
|
|
- 角标管理(badge count 同步)
|
|||
|
|
- 厂商推送通道选择(高优先级 vs 普通通知)
|
|||
|
|
- 推送数据分析(到达率、点击率统计)
|
|||
|
|
|
|||
|
|
### 技术要点
|
|||
|
|
|
|||
|
|
- 原生模块 `XuqmPushModule` 需要在宿主 App 中链接
|
|||
|
|
- 各厂商 SDK 初始化需要对应的 App ID / App Secret
|
|||
|
|
- `setUserInfo(info)` 触发自动注册,`setUserInfo(null)` 触发自动解绑
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## rn-im(即时通讯)
|
|||
|
|
|
|||
|
|
### 当前状态
|
|||
|
|
|
|||
|
|
- 腾讯云 IM SDK 封装(WebSocket/STOMP 传输)
|
|||
|
|
- WatermelonDB 本地消息持久化
|
|||
|
|
- 基础会话/消息 API 完整(15 种消息类型)
|
|||
|
|
- 群组管理 API 完整
|
|||
|
|
- 关系链(好友/黑名单)API 完整
|
|||
|
|
- 离线消息同步、消息搜索(本地)
|
|||
|
|
|
|||
|
|
### 后续待做
|
|||
|
|
|
|||
|
|
- 消息已读回执(单聊已读状态同步)
|
|||
|
|
- 群组消息已读回执统计
|
|||
|
|
- 离线消息补全(当前为 best-effort 同步)
|
|||
|
|
- 消息撤回时间窗口控制(服务端策略)
|
|||
|
|
- 语音消息录制组件(当前仅发送本地音频文件)
|
|||
|
|
- 图片/视频消息缩略图生成
|
|||
|
|
- 消息转发、合并转发 UI
|
|||
|
|
- @所有人(@all)支持
|
|||
|
|
|
|||
|
|
### 技术要点
|
|||
|
|
|
|||
|
|
- 需要 `@nozbe/watermelondb` 依赖
|
|||
|
|
- DB 名称由 `appKey + userId` 派生,多账号隔离
|
|||
|
|
- 断线重连由 `ImClient` 内部处理(指数退避)
|
|||
|
|
- `setUserInfo` 自动触发 IM 登录(若 `imEnabled` 为 true)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## rn-license(证书授权)
|
|||
|
|
|
|||
|
|
### 当前状态
|
|||
|
|
|
|||
|
|
- 证书授权基础流程已实现
|
|||
|
|
- 设备 License 验证(`checkLicense`)
|
|||
|
|
- License 状态查询(`getStatus`)
|
|||
|
|
- 本地缓存(AsyncStorage)
|
|||
|
|
|
|||
|
|
### 后续待做
|
|||
|
|
|
|||
|
|
- 证书到期提醒(服务端推送 + 本地定时检查)
|
|||
|
|
- 证书自动刷新机制
|
|||
|
|
- 多设备 License 管理
|
|||
|
|
- 离线 License 验证(降级策略)
|
|||
|
|
- License 使用量统计
|
|||
|
|
|
|||
|
|
### 技术要点
|
|||
|
|
|
|||
|
|
- 需要 `react-native-quick-crypto` 依赖
|
|||
|
|
- 内部自动等待 `XuqmSDK` 初始化完成
|
|||
|
|
- License 服务地址从平台配置获取(`licenseUrl`)
|