1, 会话列表上,
一般有一个置顶联系人的功能
( 置顶会话 )
2, 已读回执
消息的已读和未读
3, 云信用户进出聊天室监听
https://doc.yunxin.163.com/docs/TM5MzM5Njk/jQ0MjQ0NDI?platformId=60278#离开聊天室
拎不清
安卓说什么,
发消息前,
先维护扩展字段,
把用户数据,都放进去
个人名片,
当然是后端做
多端同步状态,
通过各自的本地状态记录 + 发消息同步
Observable<Int>.interval(.seconds(26), scheduler: MainScheduler.instance)
.subscribe(onNext: { [weak self] _ in
guard let blockSelf = self else { return }
NetWorkRequest(RoomAPI.roomInfo, isLoading: true, isTips: true, modelType: HomeSampleInfo.self) { [weak blockSelf ] mm , resp in
guard let innerSelf = blockSelf else { return }
innerSelf.viewModel.metaX.seats = mm.seats
innerSelf.viewModel.refreshState()
}failureBlock: { res in }
}).disposed(by: bag)
呵呵
稍不留神,
本地的账本,就记错了
例如一个用户掉线,又恢复
其中( 在这段时间 ),
有一些台上的用户走了,
另外一些台下的用户上台了,
这个时候,他上线后,通过本地的数据,展现 UI
就不行了
网络监听,
服务端心跳监听,
同步数据,
需要对网络的强控制
本地写一个计时器,
周期性网络请求,
那到正确的数据,同步,
凑合吧
有时间,方案需要加强
现在的麦位逻辑是, 进房间拉到数据,之后通过云信消息维护。
进房间 {1 , 有 A, 2, 没人 }
收到消息, A 下了
现在的情况是, {1 , 没人 , 2, 没人 }
方案有瑕疵,明显的例子是,
进房间 {1 , 有 A, 2, 没人 }
断网了
有房间消息, A 下了,没收到
恢复网络
现在的情况是, {1 , 没人 , 2, 没人 }
看到的是, {1 , 有 A, 2, 没人 }