From 5965c01b38a2e83cecd7616daa11185fc2499303 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 28 五月 2021 10:12:27 +0800 Subject: [PATCH] 特价完善 --- app/src/main/java/com/tejia/lijin/app/ui/mine/LoginSelectActivity.java | 259 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 238 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/com/tejia/lijin/app/ui/mine/LoginSelectActivity.java b/app/src/main/java/com/tejia/lijin/app/ui/mine/LoginSelectActivity.java index fe5c002..4ea1844 100644 --- a/app/src/main/java/com/tejia/lijin/app/ui/mine/LoginSelectActivity.java +++ b/app/src/main/java/com/tejia/lijin/app/ui/mine/LoginSelectActivity.java @@ -1,46 +1,56 @@ package com.tejia.lijin.app.ui.mine; -import android.app.Activity; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; -import android.graphics.Color; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; import android.view.View; -import android.widget.FrameLayout; +import android.view.animation.AnimationUtils; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.androidquery.AQuery; -import com.mobile.auth.gatewayauth.AuthUIConfig; -import com.mobile.auth.gatewayauth.PhoneNumberAuthHelper; -import com.mobile.auth.gatewayauth.TokenResultListener; -import com.tejia.lijin.app.util.user.AliyunSmsOneKeyLoginManager; -import com.tencent.mm.opensdk.modelmsg.SendAuth; -import com.umeng.analytics.MobclickAgent; -import com.wpc.library.util.common.DimenUtils; -import com.wpc.library.util.common.StringUtils; -import com.wpc.library.widget.PhoneNumberClearEditText; +import com.google.gson.Gson; import com.tejia.lijin.app.BasicTextHttpResponseHandler; import com.tejia.lijin.app.R; import com.tejia.lijin.app.ShoppingApi; import com.tejia.lijin.app.ShoppingApplication; +import com.tejia.lijin.app.entity.UserInfo; import com.tejia.lijin.app.entity.eventbus.WXLoginEvent; +import com.tejia.lijin.app.ui.BaseActivity; import com.tejia.lijin.app.ui.dialog.AddZFBInfoDialog; import com.tejia.lijin.app.ui.dialog.ShapeLoadingDialog; import com.tejia.lijin.app.ui.dialog.VerifyMobileDialog; import com.tejia.lijin.app.ui.invite.ShareBrowserActivity; +import com.tejia.lijin.app.util.Constant; import com.tejia.lijin.app.util.KeFuUtil; import com.tejia.lijin.app.util.TopStatusSettings; +import com.tejia.lijin.app.util.ui.dialog.DialogUtil; import com.tejia.lijin.app.util.umengCustomEvent.UserCustomEvent; +import com.tejia.lijin.app.util.user.AccountBindManager; +import com.tejia.lijin.app.util.user.AliyunSmsOneKeyLoginManager; +import com.tejia.lijin.app.util.user.LoginManager; +import com.tejia.lijin.app.util.user.QQLoginManager; import com.tejia.lijin.app.util.user.UserUtil; +import com.tejia.lijin.wxapi.WXEntryActivity; +import com.tencent.connect.auth.QQToken; +import com.tencent.mm.opensdk.modelmsg.SendAuth; +import com.tencent.tauth.DefaultUiListener; +import com.tencent.tauth.IUiListener; +import com.tencent.tauth.Tencent; +import com.tencent.tauth.UiError; +import com.umeng.analytics.MobclickAgent; +import com.wpc.library.util.SingleToast; +import com.wpc.library.util.common.StringUtils; +import com.wpc.library.widget.PhoneNumberClearEditText; import org.apache.http.Header; +import org.json.JSONException; import org.json.JSONObject; import de.greenrobot.event.EventBus; @@ -49,7 +59,7 @@ * Created by weikou2015 on 2017/12/15. */ -public class LoginSelectActivity extends Activity implements View.OnClickListener { +public class LoginSelectActivity extends BaseActivity implements View.OnClickListener { public final static int TYPE_LOGIN = 1;//鐧诲綍 public final static int TYPE_BIND = 2;//缁戝畾 @@ -84,7 +94,9 @@ String from = getIntent().getStringExtra("from"); UserCustomEvent.userLogin(this, StringUtils.isEmpty(from) ? "鍏跺畠" : from); EventBus.getDefault().register(this); - aliyunSmsOneKeyLoginManager = new AliyunSmsOneKeyLoginManager(this, "zTsQ9uC74C7EsD4h1II3+0CsxtXbz8VikP//49QvybqgZLOsv4pCQ4yW5fz1Ogt4QFuTqHdictmxHm7KvMAd+dl8peJL+xpGFZjjAMcqNkqcSLptS358E+EpbITK4yYjDS1gbQQKuPiODw88UUWlhcCMye7gm3eF9AWNuZ7fQKVONWl/0wube5iXegJ6ZOfhJiYQDZqsKzgmxU/MdPKWOlKCS9NtefDmgCYMM9S6GQODkxPZm+wDqJ89dXMtU5ejBhMMv63t7eug9SfEGfmEnG31JXD9MCQ00t7e8VLeCfanFoZTquLD5w=="); + + String secretInfo = "rb6R3o8sx4BVXzip2GLC27gDVtY8EWD3BHYM8dAuvCE1e7Ux/6jHkaZjgOStr/EGvyH0Q2XHZnM6u0tp7mXY3wsHv6+bJaB6hsgzYEu1up3UgmIIrGwNOkDInWe5n6QOnNN+XSc4oF3Od1AJtAgd6oun7JkrbdJCqDN5qTPXF7rS44sYGlh7apz+fJAU9Nn1/Jzt5qdqEWsjmqu07Z3Gasrl+cEeBC9li2+5yqAnnXB+PflFHd/kdN9iCHRuY99qBVUizej95oL/jRMzw4SQKgWDW2PF9llOcSyYWivRGeFAaDISQSmc4g=="; + aliyunSmsOneKeyLoginManager = new AliyunSmsOneKeyLoginManager(this, secretInfo); aliyunSmsOneKeyLoginManager.init(new AliyunSmsOneKeyLoginManager.IOneKeyLoginListener() { @Override @@ -114,10 +126,104 @@ @Override public void onToken(String token) { - //鑾峰彇鍒癟oken + aliyunSmsOneKeyLoginManager.quitLoginPage(); + //鐧诲綍 + if (type == TYPE_LOGIN) { + LoginManager.loginByPhone(null, null, token, new LoginManager.LoginAndBindListener() { + @Override + public void onLoginStart() { + DialogUtil.show(loadingDialog); + } + + @Override + public void onLoginFinish() { + DialogUtil.dismiss(loadingDialog); + } + + @Override + public void onLoginSuccess(UserInfo user) { + UserUtil.loginSuccess(getApplicationContext(), user); + Toast.makeText(getApplicationContext(), "鎭枩浣狅紝鐧诲綍鎴愬姛", Toast.LENGTH_SHORT).show(); + finish(); + } + + @Override + public void onLoginFail(int code, String msg) { + Toast.makeText(LoginSelectActivity.this, msg, Toast.LENGTH_SHORT).show(); + } + }); + } else if (type == TYPE_BIND_WITHOUT_LOGINED) { + LoginManager.loginWithPhone(null, null, token, key, new LoginManager.LoginAndBindListener() { + @Override + public void onBindStart() { + DialogUtil.show(loadingDialog); + } + + @Override + public void onBindFinish() { + DialogUtil.dismiss(loadingDialog); + } + + @Override + public void onBindSuccess(UserInfo user) { + UserUtil.loginSuccess(getApplicationContext(), user); + Toast.makeText(getApplicationContext(), "鎭枩浣狅紝鐧诲綍鎴愬姛", Toast.LENGTH_SHORT).show(); + finish(); + } + + @Override + public void onBindFail(int code, String msg) { + Toast.makeText(LoginSelectActivity.this, msg, Toast.LENGTH_SHORT).show(); + } + }); + } else { + //鐢佃瘽鍙风爜缁戝畾 + AccountBindManager.bindPhone(getApplicationContext(), null, null, token, new LoginManager.LoginAndBindListener() { + + @Override + public void onBindFail(int code, String msg) { + super.onBindFail(code, msg); + if (code == 2) { + AddZFBInfoDialog.Builder builder = new AddZFBInfoDialog.Builder(LoginSelectActivity.this); + builder.setTitle("鍙风爜宸插崰鐢ㄦ彁绀�").setMessage("寰堟姳姝夛紝璇ユ墜鏈哄彿宸茶鍏朵粬甯愬彿鍗犵敤锛�" + + "鑻ヨ缁х画瀹屾垚鏈笎鍙锋墜鏈哄彿鏇存崲锛岃鍘诲彇娑堝崰鐢ㄦ垨鏇存崲鍏朵粬鎵嬫満鍙凤紝璋㈣阿銆俓n") + .setPositiveButton("鐭ラ亾浜�", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + } + }).create().show(); + setResult(100); + } else { + Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); + } + } + + @Override + public void onBindFinish() { + super.onBindFinish(); + } + + @Override + public void onBindStart() { + super.onBindStart(); + } + + @Override + public void onBindSuccess(UserInfo user) { + super.onBindSuccess(user); + UserUtil.loginSuccess(getApplicationContext(), user); + Toast.makeText(getApplicationContext(), "缁戝畾鎴愬姛", Toast.LENGTH_SHORT).show(); + finish(); + } + }); + } } + }); + openOneKeyLogin(showOnkeyLoginToast); + } private synchronized void openOneKeyLogin(final boolean notify) { @@ -193,6 +299,15 @@ tv_user_agreement.setOnClickListener(this); tv_other_login.setOnClickListener(this); tv_privacy_policies.setOnClickListener(this); + mAquery.id(R.id.tv_login_onekey).clicked(new View.OnClickListener() { + @Override + public void onClick(View v) { + openOneKeyLogin(true); + } + }); + mAquery.id(R.id.iv_close).clicked(this); + mAquery.id(R.id.tv_login_wx).clicked(this); + mAquery.id(R.id.tv_login_qq).clicked(this); et_mobile_num.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { @@ -286,6 +401,9 @@ startActivity(intent1); break; case R.id.tv_login_wx: + if (!isAgreed()) { + return; + } UserCustomEvent.userLoginWeixin(LoginSelectActivity.this); if (ShoppingApplication.application.mWxApi.isWXAppInstalled()) { isWXLogin = true; @@ -298,10 +416,102 @@ } break; case R.id.tv_login_qq: - //TODO QQ鐧诲綍 + if (!isAgreed()) { + return; + } + //QQ鐧诲綍寮�濮� + DialogUtil.show(loadingDialog); + QQLoginManager.getInstance(getApplicationContext()).startLogin(this, new QQLoginManager.QQLoginListener() { + @Override + public void onAuthCancel() { + DialogUtil.dismiss(loadingDialog); + } + + @Override + public void onAuthSuccess(String openId) { + } + + @Override + public void onAuthFail(int code, String msg) { + DialogUtil.dismiss(loadingDialog); + SingleToast.showToast(getApplicationContext(), "QQ鎺堟潈澶辫触锛岃绋嶅悗鍐嶈瘯"); + } + + @Override + public void onGetUserInfoSuccess(final QQLoginManager.QQUserInfo user) { + Log.i(TAG, new Gson().toJson(user)); + runOnUiThread(new Runnable() { + @Override + public void run() { + DialogUtil.dismiss(loadingDialog); + //TODO 鍋歈Q鐧诲綍 + LoginManager.loginByQQ(user, new LoginManager.LoginAndBindListener() { + + @Override + public void onLoginStart() { + super.onLoginStart(); + DialogUtil.show(loadingDialog); + } + + @Override + public void onLoginFinish() { + super.onLoginFinish(); + DialogUtil.dismiss(loadingDialog); + } + + @Override + public void onLoginFail(int code, String msg) { + super.onLoginFail(code, msg); + Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); + } + + @Override + public void onLoginSuccess(UserInfo user) { + super.onLoginSuccess(user); + UserUtil.loginSuccess(getApplicationContext(), user); + Toast.makeText(getApplicationContext(), "鎭枩浣狅紝鐧诲綍鎴愬姛", Toast.LENGTH_SHORT).show(); + finish(); + } + + @Override + public void bindPhone(String key) { + super.bindPhone(key); + Intent intent = new Intent(getApplicationContext(), LoginSelectActivity.class); + intent.putExtra("type", LoginSelectActivity.TYPE_BIND_WITHOUT_LOGINED); + intent.putExtra("key", key); + startActivity(intent); +// finish(); + } + + + }); + + + } + }); + + + } + + @Override + public void onGetUserInfoFail(int code, String msg) { + runOnUiThread(new Runnable() { + @Override + public void run() { + SingleToast.showToast(getApplicationContext(), "鐢ㄦ埛淇℃伅鑾峰彇澶辫触锛岃绋嶅悗鍐嶈瘯"); + DialogUtil.dismiss(loadingDialog); + } + }); + + } + }); + break; case R.id.tv_login_gain_sms: + if (!isAgreed()) { + return; + } tv_login_gain_sms.setEnabled(false); UserCustomEvent.userLoginSms(LoginSelectActivity.this); isWXLogin = false; @@ -312,11 +522,17 @@ } break; - case R.id.tv_login_onekey: - //TODO 涓�閿櫥褰� - openOneKeyLogin(true); - break; } + } + + private boolean isAgreed() { + if (!mAquery.id(R.id.cb_agree).isChecked()) { + LinearLayout ll_user_agreement = (LinearLayout) mAquery.id(R.id.ll_user_agreement).getView(); + ll_user_agreement.startAnimation(AnimationUtils.loadAnimation(this, R.anim.user_agreement)); + SingleToast.showToast(getApplicationContext(), "璇峰悓鎰忕敤鎴峰崗璁笌闅愮鏀跨瓥"); + return false; + } + return true; } private boolean isIntent = false; @@ -491,10 +707,11 @@ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { - super.onActivityResult(requestCode, resultCode, data); if (requestCode == 99 && resultCode == 100) { finish(); } + QQLoginManager.getInstance(getApplicationContext()).onActivityResult(requestCode, resultCode, data); + super.onActivityResult(requestCode, resultCode, data); } public void onEventMainThread(WXLoginEvent event) { -- Gitblit v1.8.0