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