登陆登出

设置登录参数

        QDSystemOption option = new QDSystemOption();
        option.setDomain(String domain); //设置服务器域名
        option.setServer(String server); //设置服务器地址
        option.setPort(int port); //设置服务器端口
        option.setEntry(boolean b); //设置密码是否加密
        option.setLoginFlag(int flag); //登陆模式:QDConst.LOGIN_FLAG_PWD 账号密码登陆 QDConst.LOGIN_FLAG_CODE 短信登陆 QDConst.LOGIN_FLAG_TOKEN 第三方集成 QDConst.LOGIN_FLAG_LOGIN_TOKEN 自动登陆
        不需要离线推送不用设置下面两个参数
        option.setPushType(int pushType); //离线推送类型:QDUtil.getPushType() 方法获取离线推送类型 1-华为推送;2-小米推送;3-魅族推送;4-个推;5-VIVO;6-OPPO 
        option.setPushId(String pushToken); // 离线推送token
        QDClient.getInstance().setOption(option);

登陆

/**
* account 账号
* pwd 密码
* callback 登陆监听
**/
 QDClient.getInstance().login(String account, String pwd, QDLoginCallBack callback);

登陆监听

 QDLoginCallBack callBack = new QDLoginCallBack() {
        @Override
        public void onLoginSuccess() {
            //登陆成功回调 登陆成功之后 后台会自动加载好友、群组等数据
        }

        @Override
        public void onLoginFailed(int errorCode, String msg) {
            //登陆失败回调 errorCode 错误码 msg 错误信息
        }

        @Override
        public void onComplete() {
            //登陆完成 这个方法收到之后 表示登陆已经完成,可以做自己的操作
        }

        @Override
        public void onLostConnect() {
                //失去连接
        }

        @Override
        public void onProcess(String info) {
                //登陆过程  info 登陆过程的提示信息
        }
    }

登出

QDClient.getInstance().loginOut()

在登出成功后将登陆者的登陆状态设为false,代码如下:

  QDLoginInfo.getInstance().setLogin(false);
  QDLoginInfo.getInstance().save();

登出监听

QDLoginOutCallBack callBack = new QDLoginOutCallBack() {
        @Override
        public void onLoginOut() {
            //主动退出 
        }

        @Override
        public void onKickOut(int code) {
            //被动退出  
            //code QDCmdCode.CMD_LOUT 被管理员剔除下线; QDCmdCode.CMD_LBOUT 被客户端剔除下线; 其他就是在另一设备登陆

        }
    }