网易云信: iOS 端,判断账号被禁用?

网易云信: iOS 端,判断账号被禁用的回调,

我觉得是:

func onKickout(_ result: NIMLoginKickoutResult) {

结果是, 这个回调:

 func onRecvMessages(_ messages: [NIMMessage]) {

通过这个字段 _rawAttachContentHandyJSON 处理了

云信安卓文档:

 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?
}
阅读 1.4k
1 个回答

网易云信:

只封禁不踢,不会有回调,下一次会禁止登录。封禁并且踢出会收到onKickout。

WechatIMG153.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题