| | |
| | | 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; |
| | |
| | | @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 |
| | |
| | | switch (baseResp.errCode) { |
| | | case BaseResp.ErrCode.ERR_OK: |
| | | code = ((SendAuth.Resp) baseResp).code; |
| | | result = "授权成功"; |
| | | result = ""; |
| | | checkWXLogin(); |
| | | //用户同意 |
| | | break; |
| | |
| | | */ |
| | | 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) { |
| | |
| | | "&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) { |
| | | //登陆错误 |
| | | loginFailed(); |
| | | return; |
| | | } else if (accessTokenBean.getErrcode() == 40163) { |
| | | //已经等过过的code 不能够重复登陆 |
| | | loginSuccess(); |
| | | } |
| | | if (accessTokenBean.getAccess_token() != null && accessTokenBean.getOpenid() != null) { |
| | | checkEffective(accessTokenBean.getAccess_token(), accessTokenBean.getOpenid()); |
| | |
| | | * @param strings |
| | | */ |
| | | private void loginSuccess(String... strings) { |
| | | System.out.println("chenqi ---- loginSuccess" + strings.length); |
| | | //校验完毕之后跳 |
| | | Intent intent = new Intent(WXEntryActivity.this, MainActivity.class); |
| | | WXEntryActivity.this.startActivity(intent); |
| | | Intent intent = new Intent(getApplication(), MainActivity.class); |
| | | getApplication().startActivity(intent); |
| | | getUserInfor(strings[0], strings[1]); |
| | | finish(); |
| | | } |