admin
2021-06-05 ddff7888bf7e754d12fb5fc85a58f3012f456490
app/src/main/java/com/tejia/lijin/app/ui/mine/LoginVerifyCodeActivity.java
@@ -16,6 +16,11 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
import com.tejia.lijin.app.util.SystemParamsUtil;
import com.tejia.lijin.app.util.ui.dialog.DialogUtil;
import com.tejia.lijin.app.util.user.AccountBindManager;
import com.tejia.lijin.app.util.user.LoginManager;
import com.xiaomi.mipush.sdk.MiPushClient;
import com.tejia.lijin.app.BasicTextHttpResponseHandler;
import com.tejia.lijin.app.R;
@@ -42,9 +47,9 @@
 */
public class LoginVerifyCodeActivity extends Activity implements View.OnClickListener {
    private ImageView iv_close, iv_contact_kefu;
    private ImageView iv_close;
    private TextView tv_mobile_num, tv_count_down, tv_count_down_hint, tv_not_received_sms,
            tv_input_error, tv_top_hint;
            tv_input_error, tv_top_hint,tv_help;
    private VerifyCodeViewShowLine et_verify_code_num;
    LinearLayout ll_verify_code_error;
    Long uid;
@@ -69,7 +74,7 @@
    private void init() {
        iv_close = findViewById(R.id.iv_close);
        iv_contact_kefu = findViewById(R.id.iv_contact_kefu);
        tv_help = findViewById(R.id.tv_help);
        tv_mobile_num = findViewById(R.id.tv_mobile_num);
        tv_count_down = findViewById(R.id.tv_count_down);
        tv_count_down_hint = findViewById(R.id.tv_count_down_hint);
@@ -93,7 +98,7 @@
    private void addListener() {
        iv_close.setOnClickListener(this);
        iv_contact_kefu.setOnClickListener(this);
        tv_help.setOnClickListener(this);
        tv_count_down.setOnClickListener(this);
        tv_not_received_sms.setOnClickListener(this);
        et_verify_code_num.setInputCompleteListener(new VerifyCodeViewShowLine.InputCompleteListener() {
@@ -138,8 +143,8 @@
            case R.id.iv_close:
                finish();
                break;
            case R.id.iv_contact_kefu:
                KeFuUtil.jumpKeFu(LoginVerifyCodeActivity.this, "验证码输入");
            case R.id.tv_help:
                startActivity(new Intent(getApplicationContext(), ShareBrowserActivity.class).putExtra("url", SystemParamsUtil.getHelpUrl(getApplicationContext())));
                break;
            case R.id.tv_not_received_sms://信息没有收到
                AddZFBInfoDialog.Builder builder = new AddZFBInfoDialog.Builder(LoginVerifyCodeActivity.this);
@@ -221,46 +226,34 @@
     * 请求服务器匹配验证码后登录
     */
    private void loginNew(String code) {
        ShoppingApi.loginNew(LoginVerifyCodeActivity.this, code, mobileNum, "", "1", new BasicTextHttpResponseHandler() {
        LoginManager.loginByPhone(mobileNum, code, null, new LoginManager.LoginAndBindListener() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    Gson gson = new GsonBuilder().serializeNulls().create();
                    JSONObject data = jsonObject.optJSONObject("data");
                    final UserInfo info = gson.fromJson(data.optJSONObject("userInfo").toString(), new TypeToken<UserInfo>() {
                    }.getType());
                    tv_input_error.setVisibility(View.INVISIBLE);
                    SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
                    SharedPreferences.Editor editor = sp.edit();
                    editor.putBoolean("isLogin", true);
                    editor.putBoolean("isFirstInput", false);
                    editor.putString("uid", info.getId());
                    editor.putString("openid", info.getOpenid());
                    editor.putString("portrait", info.getPortrait());
                    editor.commit();
                    MiPushClient.setAlias(LoginVerifyCodeActivity.this, info.getId(), null);
                    //保存邀请码
                    String inviteCode = data.optString("inviteCode");
                    UserUtil.setInviteCode(getApplicationContext(), inviteCode);
                    if (StringUtils.isNullOrEmpty(inviteCode)) {
                        startActivity(new Intent(LoginVerifyCodeActivity.this, ActivationInviteCodeAcitvity.class));
                    } else {
                        Toast.makeText(LoginVerifyCodeActivity.this, "恭喜你,登录成功", Toast.LENGTH_SHORT).show();
                    }
                    setResult(100);
                    finish();
                } else {
                    tv_input_error.setVisibility(View.VISIBLE);
                    tv_input_error.setText(jsonObject.optString("msg"));
                    Toast.makeText(LoginVerifyCodeActivity.this, jsonObject.optString("msg"), Toast.LENGTH_SHORT).show();
                }
            public void onLoginStart() {
                super.onLoginStart();
            }
            @Override
            public void onFinish() {
                super.onFinish();
            public void onLoginFinish() {
                super.onLoginFinish();
            }
            @Override
            public void onLoginSuccess(UserInfo user) {
                super.onLoginSuccess(user);
                tv_input_error.setVisibility(View.INVISIBLE);
                UserUtil.loginSuccess(getApplicationContext(), user);
                Toast.makeText(LoginVerifyCodeActivity.this, "恭喜你,登录成功", Toast.LENGTH_SHORT).show();
                setResult(100);
                finish();
            }
            @Override
            public void onLoginFail(int code, String msg) {
                super.onLoginFail(code, msg);
                tv_input_error.setVisibility(View.VISIBLE);
                tv_input_error.setText(msg);
                Toast.makeText(LoginVerifyCodeActivity.this, msg, Toast.LENGTH_SHORT).show();
            }
        });
    }
@@ -269,26 +262,12 @@
     * 请求服务器匹配验证码后修改手机号
     */
    private void bindPhoneNew(String code) {
        ShoppingApi.bindPhoneNew(LoginVerifyCodeActivity.this, code, mobileNum, uid, new BasicTextHttpResponseHandler() {
        AccountBindManager.bindPhone(LoginVerifyCodeActivity.this, code, mobileNum, null, new LoginManager.LoginAndBindListener() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    Gson gson = new GsonBuilder().serializeNulls().create();
                    final UserInfo info = gson.fromJson(jsonObject.optJSONObject("data").optJSONObject("userInfo").toString(), new TypeToken<UserInfo>() {
                    }.getType());
                    tv_input_error.setVisibility(View.INVISIBLE);
                    SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
                    SharedPreferences.Editor editor = sp.edit();
                    editor.putBoolean("isLogin", true);
                    editor.putBoolean("isFirstInput", false);
                    editor.putString("uid", info.getId());
                    editor.putString("openid", info.getOpenid());
                    editor.putString("portrait", info.getPortrait());
                    editor.commit();
                    Toast.makeText(LoginVerifyCodeActivity.this, "绑定成功", Toast.LENGTH_SHORT).show();
                    setResult(100);
                    finish();
                } else if (jsonObject.optString("code").equalsIgnoreCase("2")) {
            public void onBindFail(int code, String msg) {
                super.onBindFail(code, msg);
                if (code == 2) {
                    AddZFBInfoDialog.Builder builder = new AddZFBInfoDialog.Builder(LoginVerifyCodeActivity.this);
                    builder.setTitle("号码已占用提示").setMessage("很抱歉,该手机号已被其他帐号占用," +
                            "若要继续完成本帐号手机号更换,请去取消占用或更换其他手机号,谢谢。\n")
@@ -301,14 +280,29 @@
                    setResult(100);
                } else {
                    tv_input_error.setVisibility(View.VISIBLE);
                    tv_input_error.setText(jsonObject.optString("msg"));
                    Toast.makeText(LoginVerifyCodeActivity.this, jsonObject.optString("msg"), Toast.LENGTH_SHORT).show();
                    tv_input_error.setText(msg);
                    Toast.makeText(LoginVerifyCodeActivity.this, msg, Toast.LENGTH_SHORT).show();
                }
            }
            @Override
            public void onFinish() {
                super.onFinish();
            public void onBindFinish() {
                super.onBindFinish();
            }
            @Override
            public void onBindStart() {
                super.onBindStart();
            }
            @Override
            public void onBindSuccess(UserInfo user) {
                super.onBindSuccess(user);
                tv_input_error.setVisibility(View.INVISIBLE);
                UserUtil.loginSuccess(getApplicationContext(), user);
                Toast.makeText(LoginVerifyCodeActivity.this, "绑定成功", Toast.LENGTH_SHORT).show();
                setResult(100);
                finish();
            }
        });
    }
@@ -320,26 +314,31 @@
     * @param code
     */
    private void bindPhoneWithOutLogin(String code, String mobile, String key) {
        ShoppingApi.bindPhoneWithOutLogin(LoginVerifyCodeActivity.this, code, mobile, key, new BasicTextHttpResponseHandler() {
        LoginManager.loginWithPhone(mobile, code, null, key, new LoginManager.LoginAndBindListener() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    Gson gson = new GsonBuilder().serializeNulls().create();
                    final UserInfo info = gson.fromJson(jsonObject.optJSONObject("data").optJSONObject("userInfo").toString(), new TypeToken<UserInfo>() {
                    }.getType());
                    tv_input_error.setVisibility(View.INVISIBLE);
                    SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
                    SharedPreferences.Editor editor = sp.edit();
                    editor.putBoolean("isLogin", true);
                    editor.putBoolean("isFirstInput", false);
                    editor.putString("uid", info.getId());
                    editor.putString("openid", info.getOpenid());
                    editor.putString("portrait", info.getPortrait());
                    editor.commit();
                    Toast.makeText(LoginVerifyCodeActivity.this, "绑定成功", Toast.LENGTH_SHORT).show();
                    setResult(100);
                    finish();
                } else if (jsonObject.optString("code").equalsIgnoreCase("2")) {
            public void onBindStart() {
                super.onLoginStart();
            }
            @Override
            public void onBindFinish() {
                super.onLoginFinish();
            }
            @Override
            public void onBindSuccess(UserInfo user) {
                super.onLoginSuccess(user);
                tv_input_error.setVisibility(View.INVISIBLE);
                UserUtil.loginSuccess(getApplicationContext(), user);
                Toast.makeText(LoginVerifyCodeActivity.this, "绑定成功", Toast.LENGTH_SHORT).show();
                setResult(100);
                finish();
            }
            @Override
            public void onBindFail(int code, String msg) {
                super.onLoginFail(code, msg);
                if (code == 2) {
                    AddZFBInfoDialog.Builder builder = new AddZFBInfoDialog.Builder(LoginVerifyCodeActivity.this);
                    builder.setTitle("号码已占用提示").setMessage("很抱歉,该手机号已被其他帐号占用," +
                            "若要继续完成本帐号手机号更换,请去取消占用或更换其他手机号,谢谢。\n")
@@ -352,14 +351,9 @@
                    setResult(100);
                } else {
                    tv_input_error.setVisibility(View.VISIBLE);
                    tv_input_error.setText(jsonObject.optString("msg"));
                    Toast.makeText(LoginVerifyCodeActivity.this, jsonObject.optString("msg"), Toast.LENGTH_SHORT).show();
                    tv_input_error.setText(msg);
                    Toast.makeText(LoginVerifyCodeActivity.this, msg, Toast.LENGTH_SHORT).show();
                }
            }
            @Override
            public void onFinish() {
                super.onFinish();
            }
        });
    }