From c49fa5cd3ded77eda700ebd4a25481738810845f Mon Sep 17 00:00:00 2001 From: chenjuntao Date: Thu, 28 Nov 2019 15:11:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B8=B8=E6=88=8F=E9=A2=84?= =?UTF-8?q?=E7=BA=A6=E5=BE=AE=E4=BF=A1=E6=8F=90=E9=86=92=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?1128=E6=B5=8B=E8=AF=95=E9=97=AE=E9=A2=98=20https://gitlab.ghzs.?= =?UTF-8?q?com/pm/halo-app-issues/issues/675?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/gh/common/DefaultJsApi.kt | 5 ++++- app/src/main/java/com/gh/common/constant/Constants.java | 2 ++ app/src/main/java/com/gh/common/util/ErrorHelper.kt | 1 + app/src/main/java/com/gh/common/util/LoginHelper.kt | 1 + .../main/java/com/gh/gamecenter/fragment/LoginFragment.java | 6 +++++- .../main/java/com/gh/gamecenter/wxapi/WXEntryActivity.java | 3 +++ .../main/java/com/halo/assistant/fragment/WebFragment.java | 4 +++- 7 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/gh/common/DefaultJsApi.kt b/app/src/main/java/com/gh/common/DefaultJsApi.kt index b005601c31..b24d5631a3 100644 --- a/app/src/main/java/com/gh/common/DefaultJsApi.kt +++ b/app/src/main/java/com/gh/common/DefaultJsApi.kt @@ -17,6 +17,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.schedulers.Schedulers import okhttp3.ResponseBody import org.json.JSONObject +import retrofit2.HttpException import wendu.dsbridge.CompletionHandler class DefaultJsApi(var context: Context) { @@ -78,7 +79,9 @@ class DefaultJsApi(var context: Context) { override fun onFailure(exception: Exception) { handler.complete(false) - toast(exception.localizedMessage) + if (exception is HttpException) { + ErrorHelper.handleError(HaloApp.getInstance().application, exception.response().errorBody()?.string()) + } } }) } diff --git a/app/src/main/java/com/gh/common/constant/Constants.java b/app/src/main/java/com/gh/common/constant/Constants.java index 9e750262bc..79e6ef6b69 100644 --- a/app/src/main/java/com/gh/common/constant/Constants.java +++ b/app/src/main/java/com/gh/common/constant/Constants.java @@ -24,6 +24,8 @@ public class Constants { public static final String GAME_DETAIL_COME_IN = "game_detail_come_in"; // 从游戏详情进入 public static final String XPOSED_INSTALLER_PACKAGE_NAME = "de.robv.android.xposed.installer"; + + public static final String EB_QUIT_LOGIN = "quit_login"; // 最近显示的弹窗信息 public static final String SP_LAST_OPENING_ID = "last_opening_dialog_id"; diff --git a/app/src/main/java/com/gh/common/util/ErrorHelper.kt b/app/src/main/java/com/gh/common/util/ErrorHelper.kt index c70dc301df..86127166ad 100644 --- a/app/src/main/java/com/gh/common/util/ErrorHelper.kt +++ b/app/src/main/java/com/gh/common/util/ErrorHelper.kt @@ -111,6 +111,7 @@ object ErrorHelper { 403018 -> Utils.toast(context, R.string.comment_failed_unable) 403070 -> Utils.toast(context, "请勿重复提交~") 403073 -> Utils.toast(context, "标题可能包含敏感词,请修改后再提交") + 403074 -> Utils.toast(context, "该微信号(微信昵称)已绑定") 403020 -> if (showHighPriorityHint) { DialogUtils.showAlertDialog(context, diff --git a/app/src/main/java/com/gh/common/util/LoginHelper.kt b/app/src/main/java/com/gh/common/util/LoginHelper.kt index 406da7935b..1243f368f1 100644 --- a/app/src/main/java/com/gh/common/util/LoginHelper.kt +++ b/app/src/main/java/com/gh/common/util/LoginHelper.kt @@ -141,6 +141,7 @@ object LoginHelper { val b = mIWXAPI.sendReq(req) Utils.log("微信注册状态::$register\n 发送状态::$b") if (!register || !b) { + loginCallback.onLoginFailure(LoginTag.wechat, "请检查是否安装微信客户端") Utils.toast(HaloApp.getInstance().application, "请检查是否安装微信客户端") } } diff --git a/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java index 37c7b2725b..d56a5c923f 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java @@ -25,6 +25,7 @@ import com.gh.gamecenter.R; import com.gh.gamecenter.WebActivity; import com.gh.gamecenter.entity.LoginTokenEntity; import com.gh.gamecenter.entity.UserInfoEntity; +import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.manager.UserManager; import com.gh.gamecenter.normal.NormalFragment; import com.gh.gamecenter.user.ApiResponse; @@ -33,6 +34,7 @@ import com.gh.gamecenter.user.UserViewModel; import com.halo.assistant.HaloApp; import com.tencent.connect.common.Constants; +import org.greenrobot.eventbus.EventBus; import org.jetbrains.annotations.NotNull; import org.json.JSONObject; @@ -66,7 +68,6 @@ public class LoginFragment extends NormalFragment implements LoginUtils.onCaptch @BindView(R.id.login_privacy_policy) TextView mPrivacyPolicy; - private WaitingDialogFragment mLoginDialog; private UserViewModel mUserViewModel; @@ -267,6 +268,9 @@ public class LoginFragment extends NormalFragment implements LoginUtils.onCaptch public void onDestroyView() { super.onDestroyView(); mBaseHandler.removeCallbacksAndMessages(null); + if (!UserManager.getInstance().isLoggedIn()) { + EventBus.getDefault().post(new EBReuse(com.gh.common.constant.Constants.EB_QUIT_LOGIN)); + } } diff --git a/app/src/main/java/com/gh/gamecenter/wxapi/WXEntryActivity.java b/app/src/main/java/com/gh/gamecenter/wxapi/WXEntryActivity.java index c65087ddfe..15f9a9fc69 100644 --- a/app/src/main/java/com/gh/gamecenter/wxapi/WXEntryActivity.java +++ b/app/src/main/java/com/gh/gamecenter/wxapi/WXEntryActivity.java @@ -66,6 +66,7 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler, new WeChatUserInfoThread(WXEntryActivity.this, resp.code, WXEntryActivity.this).start(); } else { shareResult = "登录失败"; + LoginHelper.onWechatLoginFailure("登录失败"); } } break; @@ -83,6 +84,7 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler, } else { shareResult = "登录被拒绝"; } + LoginHelper.onWechatLoginFailure("登录被拒绝"); break; default: if (RETURN_MSG_TYPE_SHARE == baseResp.getType()) { @@ -90,6 +92,7 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler, } else { shareResult = "登录错误"; } + LoginHelper.onWechatLoginFailure("登录错误"); break; } if (shareResult != null) { diff --git a/app/src/main/java/com/halo/assistant/fragment/WebFragment.java b/app/src/main/java/com/halo/assistant/fragment/WebFragment.java index f76193c34b..2e325766c9 100644 --- a/app/src/main/java/com/halo/assistant/fragment/WebFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/WebFragment.java @@ -18,6 +18,7 @@ import android.widget.TextView; import com.gh.base.BaseActivity; import com.gh.common.DefaultJsApi; import com.gh.common.DefaultWebViewUrlHandler; +import com.gh.common.constant.Constants; import com.gh.common.util.CheckLoginUtils; import com.gh.common.util.CollectionUtils; import com.gh.common.util.EntranceUtils; @@ -323,7 +324,8 @@ public class WebFragment extends NormalFragment { @Subscribe(threadMode = ThreadMode.MAIN) public void onEventMainThread(EBReuse bean) { // 是绑定微信页面时,绑定后刷新页面 - if (bean.getType().equals(PersonalFragment.LOGIN_TAG) && mIsBindWechat) { // 登入 + if (mIsBindWechat) { // 登入 + if (bean.getType().equals(PersonalFragment.LOGIN_TAG) || bean.getType().equals(Constants.EB_QUIT_LOGIN)) mWebView.reload(); } }