主要页面的 ViewModel 中可重载的方法

大约 2 分钟

主要页面的 ViewModel 中可重载的方法

即时通讯 IM SDK 回调事件监听以及 UI 触发事件的监听均在各自的 ViewModel 中。

你可以利用原有的逻辑,也可以在原有的逻辑上添加自己的扩展和实现。

会话列表

你可以继承 ConversationViewModel 并赋值注册到 ComponentsRegister.shared.ConversationViewService 中,即可重载如下想要拦截的监听方法。

方法名用途是否可重载
loadExistLocalDataIfEmptyFetchServer拉取会话列表出现错误时回调方法,此方法会重新获取会话列表。
pin会话列表左滑后点击置顶按钮后触发回调。
unpin会话列表左滑后点击取消置顶按钮后触发回调。
mute会话列表左滑后点击禁言按钮后触发回调。
unmute会话列表左滑后点击取消禁言按钮后触发回调。
delete会话列表左滑后点击删除按钮后触发回调。
read会话列表左滑后点击已读按钮后触发回调。
conversationDidSelected会话列表点击后回调。
moreAction会话列表右滑后点击 ... 回调。
conversationLastMessageUpdate会话列表中会话最后一条消息更新时回调。
playNewMessageSound收到新消息时播放音频方法。
conversationMessageAlreadyReadOnOtherDevice会话中消息在其它设备上已读。
conversationEventDidChanged对会话的多设备操作时间发生变更回调。
mapper映射 ConversationInfo 对象方法。

消息列表

你可以继承 MessageListViewModel 并赋值注册到 ComponentsRegister.shared.MessagesViewModel 中,然后即可重载如下想要拦截的监听方法。

方法名用途是否可重载
messageDidReceived收到新消息回调。
messageDidRecalled收到消息撤回回调。
onMessageDidEdited收到消息被编辑回调。
messageStatusChanged收到消息状态发生变更回调。
messageAttachmentStatusChanged收到消息附件状态变更回调。

UI 事件的回调,详见自定义拦截主要页面点击事件

联系人列表

你可以继承 ContactViewModel 并赋值注册到 ComponentsRegister.shared.ContactViewService 中,即可重载如下想要拦截的监听方法。

方法名用途是否可重载
processFriendDidAgree收到添加联系人对方同意回调。
processFriendRequestDidDecline收到添加联系人对方拒绝回调。
processFriendshipDidRemove收到好友关系被移除回调。
processFriendshipDidAddSuccessful收到好友关系添加成功回调。
processFriendRequestDidReceive收到添加好友申请回调。
contactEventDidChanged联系人多设备事件变更回调。
上次编辑于: