package eVVM.apk.ui.login; import android.text.TextUtils; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.hjq.permissions.OnPermission; import com.hjq.permissions.Permission; import com.hjq.permissions.XXPermissions; import com.hjq.widget.ClearEditText; import java.util.List; import butterknife.BindView; import butterknife.OnClick; import eVVM.apk.R; import eVVM.apk.helper.InputTextHelper; import eVVM.apk.helper.MD5; import eVVM.apk.helper.SPUtils; import eVVM.apk.mvp.MvpActivity; import eVVM.apk.ui.bean.LoginBean; import eVVM.apk.ui.home.FactorAdminActivity; import eVVM.apk.ui.home.FactoryOperatorActivity; import eVVM.apk.ui.home.HomeActivity; import eVVM.apk.ui.login.login.LoginContract; import eVVM.apk.ui.login.login.LoginPresenter; public class LoginActivity extends MvpActivity implements LoginContract.View { @BindView(R.id.login_et_phone) ClearEditText loginEtPhone; @BindView(R.id.login_et_pwd) ClearEditText loginEtPwd; //密码输入框 @BindView(R.id.login_tv_forgetpwd) TextView loginTvForgetpwd; //忘记密码 @BindView(R.id.login_btn_login) Button loginBtnLogin; //登录 @BindView(R.id.login_tv_goregist) TextView loginTvGoregist; //去注册 private String getMD5Pwd; private String userPhone; @Override protected int getLayoutId() { return R.layout.activity_login; } @Override protected int getTitleId() { return 0; } @Override protected void initView() { new InputTextHelper.Builder(this) .setMain(loginBtnLogin) .addView(loginEtPhone) .addView(loginEtPwd) .build(); } @Override protected void initData() { getPermissions(); String user_phone = (String) SPUtils.get("USER_PHONE", ""); String user_pwd = (String) SPUtils.get("USER_PWD", ""); if (TextUtils.isEmpty(user_phone) && TextUtils.isEmpty(user_pwd)) { //用户没有登录过 } else { if(!checkGpsAndNfc()){ return; } showLoading(); //登陆过 进行自动登录 userPhone = user_phone; getMD5Pwd = user_pwd; getPresenter().login(user_phone, user_pwd); } } private void getPermissions() { // 联系人 String[] CONTACTS = new String[]{ Permission.CAMERA, Permission.RECEIVE_SMS, Permission.READ_SMS, Permission.READ_EXTERNAL_STORAGE, Permission.WRITE_EXTERNAL_STORAGE, Permission.ACCESS_FINE_LOCATION, Permission.ACCESS_COARSE_LOCATION}; XXPermissions.with(LoginActivity.this) //.constantRequest() //可设置被拒绝后继续申请,直到用户授权或者永久拒绝 //.permission(Permission.SYSTEM_ALERT_WINDOW, Permission.REQUEST_INSTALL_PACKAGES) //支持请求6.0悬浮窗权限8.0请求安装权限 .permission(CONTACTS) //不指定权限则自动获取清单中的危险权限 .request(new OnPermission() { @Override public void hasPermission(List granted, boolean isAll) { /*if (isAll) { toast("获取权限成功"); }else { toast("获取权限成功,部分权限未正常授予"); }*/ } @Override public void noPermission(List denied, boolean quick) { /*if(quick) { toast("被永久拒绝授权,请手动授予权限"); //如果是被永久拒绝就跳转到应用权限系统设置页面 XXPermissions.gotoPermissionSettings(LoginActivity.this); }else { //toast("获取权限失败,部分功能可能无法使用"); }*/ } }); } @OnClick({R.id.login_tv_forgetpwd, R.id.login_btn_login, R.id.login_tv_goregist}) public void onViewClicked(View view) { if(!checkGpsAndNfc()){ return; } switch (view.getId()) { case R.id.login_tv_forgetpwd: startActivity(PasswordForgetActivity.class); break; case R.id.login_btn_login: if (loginEtPhone.getText().toString().length() != 11) { toast(getString(R.string.common_phone_input_error)); } else { //登录 密码进行md5加密 getMD5Pwd = MD5.GetMD5Code(loginEtPwd.getText().toString().trim()); userPhone = loginEtPhone.getText().toString().trim(); getPresenter().login(userPhone, getMD5Pwd); showLoading(); } break; case R.id.login_tv_goregist: startActivity(RegisterActivity.class); break; } } @Override protected LoginPresenter createPresenter() { return new LoginPresenter(); } @Override public void loginError(String msg) { showComplete(); toast(msg); } @Override public void loginSuccess(LoginBean data) { /*// 处理登录 Integer likesdata = (Integer) SPUtils.get(this, "LIKESDATA", 0); if (likesdata == 0){ startActivityFinish(LikeActivity.class); }else {*/ LoginBean.DataBean userData = data.getData(); Log.e("userData", "" + userData.getPassword()); //保存用户数据 SPUtils.put("USER_PHONE", userPhone + ""); SPUtils.put("USER_PWD", getMD5Pwd + ""); SPUtils.put("USER_ID", userData.getId() + ""); SPUtils.put("USER_TOKEN", userData.getToken() + ""); SPUtils.put("USER_ROLEID", userData.getRoleId() + ""); SPUtils.put("USER_FACTORY_ID", userData.getFactoryId() + ""); /* showLoading(); new Handler().postDelayed(new Runnable() { @Override public void run() { initSocketContent(); } }, 500);*/ showComplete(); switch (userData.getRoleId()) { case 2: //医生 startActivityFinish(FactorAdminActivity.class); break; case 3: //医药企业管理员 startActivityFinish(FactorAdminActivity.class); break; case 4: //医药企业操作员 startActivityFinish(FactoryOperatorActivity.class); break; } /*if (userData.getRoleId() == 2){ startActivityFinish(HomeActivity.class); }else { startActivityFinish(FactoryOperatorActivity.class); }*/ //} } }