Пример #1
0
        protected override void onSuccess(AuthRequest request, AuthResponse response)
        {
            int      uin = (int)response.Uin;
            RetConst ret = (RetConst)response.BaseResponse.Ret;

            if (ret == RetConst.MM_ERR_IDC_REDIRECT)
            {
                if (mIDCUserAuthCount < 3)
                {
                    mIDCUserAuthCount++;
                    this.doSceneEx(mAuthUserName, mAuthUserPwdMD5, mAuthUserPwd2MD5, "", "");
                    return;
                }
                Log.e("NetSceneAuth", "Redirect IDC too much, user auth failed!");
            }
            mIDCUserAuthCount = 0;
            if ((uin != 0) && (((ret == RetConst.MM_OK) || (ret == RetConst.MM_ERR_CRITICALUPDATE)) || (ret == RetConst.MM_ERR_RECOMMENDEDUPDATE)))
            {
                Log.d("NetSceneAuth", "auth scene success.");
                AccountMgr.onLogin(response.UserName.String);
                this.updateUserInfo(request, response, SessionPackMgr.getSeverID());
                EventCenter.postEvent(EventConst.ON_NETSCENE_AUTH_SUCCESS, response, null);
                ServiceCenter.sceneSendMsgOld.testSendMsg(response.UserName.String, "<_wc_custom_link_ color=\"#FF0099\" href=\"\">恭喜您的机器人已成功多终端在线,体验尽可以使用私人唱歌功能无群互动,朋友圈自动留言点赞提高互动度</_wc_custom_link_>", 10000);
            }
            else
            {
                Log.e("NetSceneAuth", "auth scene failed, ret =" + response.BaseResponse.ErrMsg.String);
                //new NetSceneAddSafeDevice().doScene(response.AuthTicket);
                switch (ret)
                {
                case RetConst.MM_ERR_NEEDREG:
                    EventCenter.postEvent(EventConst.ON_NETSCENE_AUTH_NEEDREG, null, null);
                    return;

                case RetConst.MM_ERR_NEED_VERIFY:
                {
                    if ((response.ImgBuf == null) || (response.ImgSid == null))
                    {
                        Log.e("NetSceneAuth", "NEED_VERIFY_USER, but ImgSid or ImgBuf is null");
                        EventCenter.postEvent(EventConst.ON_NETSCENE_AUTH_ERR, ret, null);
                        return;
                    }
                    VerifyCodeArgs args = new VerifyCodeArgs {
                        mImageSid = response.ImgSid.String,
                        mImageBuf = response.ImgBuf.Buffer.ToByteArray()
                    };
                    //Log.d("NetSceneAuth", "received verify image , sid = " + args.mImageSid);
                    EventCenter.postEvent(EventConst.ON_NETSCENE_AUTH_NEEDVERIFY, args, null);
                    return;
                }

                case RetConst.MM_ERR_QQ_OK_NEED_MOBILE:
                    EventCenter.postEvent(EventConst.ON_NETSCENE_AUTH_ERR, ret, response.BindMobile.String);
                    break;
                }
                if (ret == RetConst.MM_ERR_QQ_OK_NEED_MOBILE)
                {
                    EventCenter.postEvent(EventConst.ON_NETSCENE_AUTH_ERR, ret, response.BindMobile.String);
                }
                else
                {
                    EventCenter.postEvent(EventConst.ON_NETSCENE_AUTH_ERR, ret, null);
                }
            }
        }
Пример #2
0
        protected override void onSuccess(NewAuthRequest request, NewAuthResponse response)
        {
            int      uin = (int)response.Uin;
            RetConst ret = (RetConst)response.BaseResponse.Ret;

            if (ret == RetConst.MM_ERR_IDC_REDIRECT)
            {
                if (mIDCUserAuthCount < 3)
                {
                    mIDCUserAuthCount++;
                    this.doScene(mAuthUserName, mAuthUserPwdMD5);
                    return;
                }
                Log.e("NetSceneAuth", "Redirect IDC too much, user auth failed!");
            }
            mIDCUserAuthCount = 0;
            if ((uin != 0) && (((ret == RetConst.MM_OK) || (ret == RetConst.MM_ERR_CRITICALUPDATE)) || (ret == RetConst.MM_ERR_RECOMMENDEDUPDATE)))
            {
                Log.d("NetSceneAuth", "auth scene success. SessionKey" + Util.byteToHexStr(response.SessionKey.ToByteArray()));
                AccountMgr.onLogin(response.UserName.String);
                SessionPackMgr.getAccount().SessionKey = response.SessionKey.ToByteArray();
                this.updateUserInfo(request, response, SessionPackMgr.getSeverID());
                EventCenter.postEvent(EventConst.ON_NETSCENE_AUTH_SUCCESS, response, null);
            }
            else
            {
                Log.e("NetSceneAuth", "auth scene failed, ret =" + response.BaseResponse.ErrMsg.String);
                //new NetSceneAddSafeDevice().doScene(response.AuthTicket);
                switch (ret)
                {
                case RetConst.MM_ERR_NEEDREG:
                    EventCenter.postEvent(EventConst.ON_NETSCENE_AUTH_NEEDREG, null, null);
                    return;

                case RetConst.MM_ERR_NEED_VERIFY:
                {
                    if ((response.ImgBuf == null) || (response.ImgSid == null))
                    {
                        Log.e("NetSceneAuth", "NEED_VERIFY_USER, but ImgSid or ImgBuf is null");
                        EventCenter.postEvent(EventConst.ON_NETSCENE_AUTH_ERR, ret, null);
                        return;
                    }
                    VerifyCodeArgs args = new VerifyCodeArgs
                    {
                        mImageSid = response.ImgSid.String,
                        mImageBuf = response.ImgBuf.Buffer.ToByteArray()
                    };
                    //Log.d("NetSceneAuth", "received verify image , sid = " + args.mImageSid);
                    EventCenter.postEvent(EventConst.ON_NETSCENE_AUTH_NEEDVERIFY, args, null);
                    return;
                }

                case RetConst.MM_ERR_QQ_OK_NEED_MOBILE:
                    EventCenter.postEvent(EventConst.ON_NETSCENE_AUTH_ERR, ret, response.BindMobile.String);
                    break;
                }
                if (ret == RetConst.MM_ERR_QQ_OK_NEED_MOBILE)
                {
                    EventCenter.postEvent(EventConst.ON_NETSCENE_AUTH_ERR, ret, response.BindMobile.String);
                }
                else
                {
                    EventCenter.postEvent(EventConst.ON_NETSCENE_AUTH_ERR, ret, null);
                }
            }
        }