From c5bf501d8b507d1e3e79541e7ac9b45910860b4d Mon Sep 17 00:00:00 2001 From: 陈奇 <1650699704@qq.com> Date: Wed, 29 May 2019 16:17:07 +0800 Subject: [PATCH] 添加新功能 --- app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java | 82 ++++++++++++++++++++++++++-------------- 1 files changed, 53 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java b/app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java index 9a863cb..315aa16 100644 --- a/app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java +++ b/app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java @@ -16,7 +16,6 @@ import com.moral.yunfushao.utils.T; import com.moral.yunfushao.wxapi.data.AccessTokenBean; import com.moral.yunfushao.wxapi.data.WXUserBean; -import com.tencent.mm.opensdk.constants.ConstantsAPI; import com.tencent.mm.opensdk.modelbase.BaseReq; import com.tencent.mm.opensdk.modelbase.BaseResp; import com.tencent.mm.opensdk.modelmsg.SendAuth; @@ -48,24 +47,23 @@ @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); - System.out.println("chenqi onNewIntent"); setIntent(intent); api.handleIntent(intent, this); } @Override public void onReq(BaseReq baseReq) { - switch (baseReq.getType()) { - case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX: - goToGetMsg(); - break; - case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX: - System.out.println("chenqi create WXEntryActivity COMMAND_SHOWMESSAGE_FROM_WX"); - goToShowMsg((ShowMessageFromWX.Req) baseReq); - break; - default: - break; - } +// switch (baseReq.getType()) { +// case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX: +// goToGetMsg(); +// break; +// case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX: +// System.out.println("chenqi create WXEntryActivity COMMAND_SHOWMESSAGE_FROM_WX"); +// goToShowMsg((ShowMessageFromWX.Req) baseReq); +// break; +// default: +// break; +// } } @Override @@ -75,7 +73,7 @@ switch (baseResp.errCode) { case BaseResp.ErrCode.ERR_OK: code = ((SendAuth.Resp) baseResp).code; - result = "������������"; + result = ""; checkWXLogin(); //������������ break; @@ -103,6 +101,7 @@ */ private void checkEffective(final String access_token, String openid) { String url = "https://api.weixin.qq.com/sns/auth?access_token=" + access_token + "&openid=" + openid; + System.out.println("chenqi ---- checkEffective"); WXHttpUtil.doGet(url, CacheMode.DEFAULT, new HttpCallBack() { @Override public void onSuccess(String res, String msg) { @@ -121,13 +120,13 @@ @Override public void onFail(int errno, String s) { - T.show("������������"); + loginFailed(); } }); } /** - * ��������������������������� + * ������������������������������ * * @param refresh_tocken */ @@ -138,7 +137,7 @@ public void onSuccess(String res, String msg) { AccessTokenBean accessTokenBean = GsonUtil.toObj(msg, AccessTokenBean.class); if (accessTokenBean.getErrcode() == 40030) { - T.show("������������"); + loginFailed(); } else { loginSuccess(accessTokenBean.getAccess_token(), accessTokenBean.getOpenid()); } @@ -151,7 +150,7 @@ @Override public void onFail(int errno, String s) { - T.show("������������"); + loginFailed(); } }); } @@ -165,14 +164,20 @@ "&secret=" + WXConstants.SECRET + "&code=" + WXEntryActivity.code + "&grant_type=authorization_code"; + System.out.println("chenqi ---- checkWXLogin"); WXHttpUtil.doGet(url, CacheMode.DEFAULT, new HttpCallBack() { @Override public void onSuccess(String res, String msg) { + System.out.println("chenqi ---- onSuccess"); AccessTokenBean accessTokenBean = GsonUtil.toObj(msg, AccessTokenBean.class); + System.out.println("chenqi ---- refreshToken" + accessTokenBean.getOpenid() + accessTokenBean.getAccess_token()); if (accessTokenBean.getErrcode() == 40029) { //������������ - T.show("������������"); + loginFailed(); return; + } else if (accessTokenBean.getErrcode() == 40163) { + //������������������code ��������������������� + loginSuccess(); } if (accessTokenBean.getAccess_token() != null && accessTokenBean.getOpenid() != null) { checkEffective(accessTokenBean.getAccess_token(), accessTokenBean.getOpenid()); @@ -186,7 +191,7 @@ @Override public void onFail(int errno, String s) { - T.show("������������"); + loginFailed(); } }); } @@ -206,11 +211,18 @@ @Override public void onSuccess(String res, String msg) { WXUserBean bean = new WXUserBean(); - MainApp.theApp.userId = bean.getNickname(); User user = new User(); - user.set_id(bean.getOpenid()); - user.setNickname(bean.getNickname()); - user.setLogin_type(2); + if (bean.getErrcode() == 40003) { + MainApp.theApp.userId = "null"; + user.set_id(bean.getOpenid()); + user.setNickname(MainApp.theApp.userId); + user.setLogin_type(2); + } else { + MainApp.theApp.userId = bean.getNickname(); + user.set_id(bean.getOpenid()); + user.setNickname(bean.getNickname()); + user.setLogin_type(2); + } MainApp.theApp.sharedPreferencesUtil.saveLoginInfo(user); } @@ -221,17 +233,29 @@ @Override public void onFail(int errno, String s) { - T.show("������������"); + loginFailed(); } }); } - private void loginSuccess(String... strings) { - //��������������������� - Intent intent = new Intent(WXEntryActivity.this, MainActivity.class); - WXEntryActivity.this.startActivity(intent); + + private void loginFailed() { finish(); + T.show("������������"); + } + + /** + * ������������ + * + * @param strings + */ + private void loginSuccess(String... strings) { + System.out.println("chenqi ---- loginSuccess" + strings.length); + //��������������������� + Intent intent = new Intent(getApplication(), MainActivity.class); + getApplication().startActivity(intent); getUserInfor(strings[0], strings[1]); + finish(); } private void goToGetMsg() { -- Gitblit v1.8.0