package com.hjx.parent; import android.content.Intent; import android.os.Bundle; import android.telephony.PhoneNumberUtils; import android.text.InputType; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import androidx.annotation.Nullable; import com.google.gson.Gson; import com.hjq.permissions.OnPermissionCallback; import com.hjq.permissions.Permission; import com.hjq.permissions.XXPermissions; import com.hjx.parent.bean.RegisterBean; import com.prws.common.base.BaseActivity; import com.prws.common.base.BasePresenter; import com.prws.common.bean.BaseEntity; import com.prws.common.net.NetWorks; import com.prws.common.utils.GsonUtil; import com.prws.common.utils.LogUtil; import com.prws.common.utils.SharedPreferencesUtil; import com.uuzuche.lib_zxing.activity.CaptureActivity; import com.uuzuche.lib_zxing.activity.CodeUtils; import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import okhttp3.ResponseBody; public class RegisterActivity extends BaseActivity { EditText et_phone; EditText et_pwd; EditText et_pwd_2; ImageView iv_show; ImageView iv_show_2; ImageView iv_delete; Button btn_reg; TextView tv_log; CheckBox cb_1; TextView tv_user; TextView tv_ys; @Override protected int layoutResId() { return R.layout.activity_register; } @Override public Object getContract() { return null; } @Override public BasePresenter getPresenter() { return null; } @Override protected void initView() { et_phone = findViewById(R.id.et_phone); et_pwd = findViewById(R.id.et_pwd); iv_show = findViewById(R.id.iv_4); iv_show_2 = findViewById(R.id.iv_6); et_pwd_2 = findViewById(R.id.et_pwd_2); iv_delete = findViewById(R.id.iv_2); btn_reg = findViewById(R.id.btn_1); tv_log = findViewById(R.id.tv_2); cb_1 = findViewById(R.id.cb_1); tv_user = findViewById(R.id.tv_4); tv_ys = findViewById(R.id.tv_6); } @Override protected void initListener() { iv_delete.setOnClickListener(view -> { et_phone.setText(""); }); iv_show.setOnClickListener(view -> { if (iv_show.getBackground().getConstantState().equals(getDrawable(R.mipmap.xs).getConstantState())) { iv_show.setBackgroundResource(R.mipmap.yc); et_pwd.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); } else { iv_show.setBackgroundResource(R.mipmap.xs); et_pwd.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); } }); iv_show_2.setOnClickListener(view -> { if (iv_show_2.getBackground().getConstantState().equals(getDrawable(R.mipmap.xs).getConstantState())) { iv_show_2.setBackgroundResource(R.mipmap.yc); et_pwd_2.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); } else { iv_show_2.setBackgroundResource(R.mipmap.xs); et_pwd_2.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); } }); btn_reg.setOnClickListener(view -> { String phone = et_phone.getText().toString().trim(); String pwd = et_pwd.getText().toString().trim(); String pwd2 = et_pwd_2.getText().toString().trim(); if (phone.isEmpty() || pwd.isEmpty() || phone.length() == 0 || pwd.length() == 0) { Toast.makeText(this, "手机号以及密码不能为空", Toast.LENGTH_SHORT).show(); return; } if (!PhoneNumberUtils.isGlobalPhoneNumber(et_phone.getText().toString())) { Toast.makeText(this, "请输入正确的手机号码", Toast.LENGTH_SHORT).show(); return; } if (!cb_1.isChecked()) { Toast.makeText(this, "请勾选协议", Toast.LENGTH_SHORT).show(); return; } if (!pwd.equals(pwd2)) { Toast.makeText(this, "两次密码需要一致", Toast.LENGTH_SHORT).show(); return; } reg(phone, pwd); }); tv_log.setOnClickListener(view -> { startActivity(LoginActivity.class); finish(); }); tv_ys.setOnClickListener(view -> { startActivity(YinsiActivity.class); }); tv_user.setOnClickListener(view -> { startActivity(UserActivity.class); }); } public void reg(final String phone, String pwd) { Map map = new HashMap(); map.put("username", phone); map.put("password", pwd); NetWorks.registerParent(NetWorks.getMapRequestBody(map), new Observer() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(ResponseBody responseBody) { String str = null; try { str = responseBody.string(); } catch (IOException e) { e.printStackTrace(); } if (str == null || str.length() == 0) { Toast.makeText(RegisterActivity.this, "服务器繁忙", Toast.LENGTH_SHORT).show(); return; } RegisterBean registerBean = new Gson().fromJson(str, RegisterBean.class); if (!registerBean.isSuccess()) { Toast.makeText(RegisterActivity.this, registerBean.getMsg(), Toast.LENGTH_SHORT).show(); return; } if (registerBean.getData().getUserName() != null && registerBean.getData().getUserName().length() > 0) { SharedPreferencesUtil.putData("phone",phone); SharedPreferencesUtil.putData("role",registerBean.getData().getUserName()); SharedPreferencesUtil.putData("userId",registerBean.getData().getUserName()); //进入扫码界面 goQRView(); } } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }); } public void goQRView() { if (!XXPermissions.isGranted(this, Permission.CAMERA)) { XXPermissions.with(this) // 申请多个权限 .permission(Permission.CAMERA) .request(new OnPermissionCallback() { @Override public void onGranted(List permissions, boolean all) { if (all) { //开启扫码界面 startQRView(); } else { Toast.makeText(RegisterActivity.this, "需要相机权限", Toast.LENGTH_SHORT).show(); } } @Override public void onDenied(List permissions, boolean never) { XXPermissions.startPermissionActivity(RegisterActivity.this, permissions); } }); } else { startQRView(); } } public void startQRView() { startActivity(QRActivity.class); finish(); } @Override protected void initData() { } @Override public void onNetChanged(int netWorkState) { } }