package com.hjx.parent; 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.appcompat.app.AppCompatActivity; 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.LogUtil; import com.prws.common.utils.SharedPreferencesUtil; import com.prws.common.utils.acmanager.ActivityManager; import org.json.JSONObject; import java.io.IOException; import java.util.HashMap; import java.util.Map; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import okhttp3.ResponseBody; public class LoginActivity extends BaseActivity { EditText et_phone; EditText et_pwd; ImageView iv_show; ImageView iv_delete; Button btn_login; TextView tv_reg; CheckBox cb_1; TextView tv_user; TextView tv_ys; @Override protected int layoutResId() { return R.layout.activity_login; } @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_delete = findViewById(R.id.iv_2); btn_login = findViewById(R.id.btn_1); tv_reg = 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); String role = (String) SharedPreferencesUtil.getData("role",""); if (role != null && role.length()> 0){ LogUtil.e(TAG,"role 不是空----"); startActivity(MainActivity.class); finish(); return; }else { LogUtil.e(TAG,"role 是空----"); } } @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); } }); btn_login.setOnClickListener(view -> { String phone = et_phone.getText().toString().trim(); String pwd = et_pwd.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; } login(phone,pwd); }); tv_reg.setOnClickListener(view -> { startActivity(RegisterActivity.class); finish(); }); tv_ys.setOnClickListener(view -> { startActivity(YinsiActivity.class); }); tv_user.setOnClickListener(view -> { startActivity(UserActivity.class); }); } public void login(final String phone ,String pwd){ Map map = new HashMap(); map.put("username",phone); map.put("password",pwd); NetWorks.login(NetWorks.getMapRequestBody(map), new Observer() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(ResponseBody responseBody) { try { String str = responseBody.string().toString(); LogUtil.e(TAG,"----"+str); JSONObject jo = new JSONObject(str); boolean isSucceed = jo.getBoolean("success"); if (isSucceed){ JSONObject jo2 = jo.getJSONObject("data"); SharedPreferencesUtil.putData("phone",phone); SharedPreferencesUtil.putData("role",jo2.getString("role")); SharedPreferencesUtil.putData("userId",jo2.getString("userId")); SharedPreferencesUtil.putData("token",jo2.getString("token")); startActivity(MainActivity.class); }else { Toast.makeText(LoginActivity.this, jo.getString("msg"), Toast.LENGTH_SHORT).show(); } }catch (Exception e){ e.printStackTrace(); Toast.makeText(LoginActivity.this,"服务繁忙,请重试",Toast.LENGTH_SHORT).show(); } } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }); } @Override protected void initData() { } @Override public void onNetChanged(int netWorkState) { } }