网易云信: iOS 端,判断账号被禁用的回调,
我觉得是:
func onKickout(_ result: NIMLoginKickoutResult) {
结果是, 这个回调:
func onRecvMessages(_ messages: [NIMMessage]) {
通过这个字段 _rawAttachContent
和 HandyJSON
处理了
云信安卓文档:
NIMClient.getService(AuthServiceObserver.class).observeOnlineStatus(
new Observer<StatusCode> () {
public void onEvent(StatusCode status) {
//获取状态的描述
String desc = status.getDesc();
if (status.wontAutoLogin()) {
// 被踢出、账号被禁用、密码错误等情况,自动登录失败,需要返回到登录界面进行重新登录操作
}
}
}, true);
感觉两边不太搭,
问下有没有,更好的实现?
PS:
处理代码:
func onRecvMessages(_ messages: [NIMMessage]) {
for item in messages {
if let from = item.from, from == 911, let data = item.value(forKey: "_rawAttachContent") as? String, let model = ForbiddenModel.deserialize(from: data), let type = model.type, type == 88{
NIMSDK.shared().loginManager.logout(nil)
// ...
var msg = ""
if let info = model.data?.msg{
msg = info
}
// ...
}
}
}
相关模型解析:
class ForbiddenModel: BaseModel{
var type: Int?
var data: ForbiddenDetail?
}
class ForbiddenDetail: BaseModel{
var msg: String?
}
网易云信: