cfd58dba23980edd8d41f31a6d935a337d537e52.svn-base 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. package eVVM.apk.ui.login;
  2. import android.content.Intent;
  3. import android.text.TextUtils;
  4. import android.util.Log;
  5. import android.view.View;
  6. import android.widget.Button;
  7. import android.widget.TextView;
  8. import com.hjq.permissions.OnPermission;
  9. import com.hjq.permissions.Permission;
  10. import com.hjq.permissions.XXPermissions;
  11. import com.hjq.widget.ClearEditText;
  12. import java.util.List;
  13. import butterknife.BindView;
  14. import butterknife.OnClick;
  15. import eVVM.apk.R;
  16. import eVVM.apk.helper.ConversionUtil;
  17. import eVVM.apk.helper.InputTextHelper;
  18. import eVVM.apk.helper.MD5;
  19. import eVVM.apk.helper.SPUtils;
  20. import eVVM.apk.mvp.MvpActivity;
  21. import eVVM.apk.ui.My.ExamineActivity;
  22. import eVVM.apk.ui.bean.LoginBean;
  23. import eVVM.apk.ui.home.FactorAdminActivity;
  24. import eVVM.apk.ui.home.FactoryOperatorActivity;
  25. import eVVM.apk.ui.home.HomeActivity;
  26. import eVVM.apk.ui.launcher.LikeActivity;
  27. import eVVM.apk.ui.login.login.LoginContract;
  28. import eVVM.apk.ui.login.login.LoginPresenter;
  29. public class LoginActivity extends MvpActivity<LoginPresenter> implements LoginContract.View {
  30. @BindView(R.id.login_et_phone)
  31. ClearEditText loginEtPhone;
  32. @BindView(R.id.login_et_pwd)
  33. ClearEditText loginEtPwd; //密码输入框
  34. @BindView(R.id.login_tv_forgetpwd)
  35. TextView loginTvForgetpwd; //忘记密码
  36. @BindView(R.id.login_btn_login)
  37. Button loginBtnLogin; //登录
  38. @BindView(R.id.login_tv_goregist)
  39. TextView loginTvGoregist; //去注册
  40. private String getMD5Pwd;
  41. private String userPhone;
  42. @Override
  43. protected int getLayoutId() {
  44. return R.layout.activity_login;
  45. }
  46. @Override
  47. protected int getTitleId() {
  48. return 0;
  49. }
  50. @Override
  51. protected void initView() {
  52. new InputTextHelper.Builder(this)
  53. .setMain(loginBtnLogin)
  54. .addView(loginEtPhone)
  55. .addView(loginEtPwd)
  56. .build();
  57. }
  58. @Override
  59. protected void initData() {
  60. getPermissions();
  61. String user_phone = (String) SPUtils.get("USER_PHONE", "");
  62. String user_pwd = (String) SPUtils.get("USER_PWD", "");
  63. if (TextUtils.isEmpty(user_phone) && TextUtils.isEmpty(user_pwd)) {
  64. //用户没有登录过
  65. } else {
  66. if (!checkGpsAndNfc()) {
  67. return;
  68. }
  69. showLoading();
  70. //登陆过 进行自动登录
  71. userPhone = user_phone;
  72. getMD5Pwd = user_pwd;
  73. getPresenter().login(user_phone, user_pwd);
  74. }
  75. }
  76. private void getPermissions() {
  77. // 联系人
  78. String[] CONTACTS = new String[]{
  79. Permission.CAMERA,
  80. Permission.RECEIVE_SMS,
  81. Permission.READ_SMS,
  82. Permission.READ_EXTERNAL_STORAGE,
  83. Permission.WRITE_EXTERNAL_STORAGE,
  84. Permission.ACCESS_FINE_LOCATION,
  85. Permission.ACCESS_COARSE_LOCATION,
  86. Permission.REQUEST_INSTALL_PACKAGES};
  87. XXPermissions.with(LoginActivity.this)
  88. //.constantRequest() //可设置被拒绝后继续申请,直到用户授权或者永久拒绝
  89. //.permission(Permission.SYSTEM_ALERT_WINDOW, Permission.REQUEST_INSTALL_PACKAGES) //支持请求6.0悬浮窗权限8.0请求安装权限
  90. .permission(CONTACTS) //不指定权限则自动获取清单中的危险权限
  91. .request(new OnPermission() {
  92. @Override
  93. public void hasPermission(List<String> granted, boolean isAll) {
  94. /*if (isAll) {
  95. toast("获取权限成功");
  96. }else {
  97. toast("获取权限成功,部分权限未正常授予");
  98. }*/
  99. }
  100. @Override
  101. public void noPermission(List<String> denied, boolean quick) {
  102. /*if(quick) {
  103. toast("被永久拒绝授权,请手动授予权限");
  104. //如果是被永久拒绝就跳转到应用权限系统设置页面
  105. XXPermissions.gotoPermissionSettings(LoginActivity.this);
  106. }else {
  107. //toast("获取权限失败,部分功能可能无法使用");
  108. }*/
  109. }
  110. });
  111. }
  112. @OnClick({R.id.login_tv_forgetpwd, R.id.login_btn_login, R.id.login_tv_goregist})
  113. public void onViewClicked(View view) {
  114. if (!checkGpsAndNfc()) {
  115. return;
  116. }
  117. switch (view.getId()) {
  118. case R.id.login_tv_forgetpwd:
  119. startActivity(PasswordForgetActivity.class);
  120. break;
  121. case R.id.login_btn_login:
  122. if (loginEtPhone.getText().toString().length() != 11) {
  123. toast(getString(R.string.common_phone_input_error));
  124. } else {
  125. //登录 密码进行md5加密
  126. getMD5Pwd = MD5.GetMD5Code(loginEtPwd.getText().toString().trim());
  127. userPhone = loginEtPhone.getText().toString().trim();
  128. getPresenter().login(userPhone, getMD5Pwd);
  129. showLoading();
  130. }
  131. break;
  132. case R.id.login_tv_goregist:
  133. startActivity(RegisterActivity.class);
  134. break;
  135. }
  136. }
  137. @Override
  138. protected LoginPresenter createPresenter() {
  139. return new LoginPresenter();
  140. }
  141. @Override
  142. public void loginError(String msg) {
  143. showComplete();
  144. toast(msg);
  145. }
  146. @Override
  147. public void loginSuccess(LoginBean data) {
  148. // 处理登录
  149. showComplete();
  150. LoginBean.DataBean userData = data.getData();
  151. SPUtils.put("USER_ID", userData.getId() + "");
  152. SPUtils.put("USER_TOKEN", userData.getToken() + "");
  153. if (userData.getStatus() == 1) {//状态(0禁用 1正常 2删除 3未审核 4审核未通过 5未完成注册 6未同意协议)
  154. Log.e("userData", "" + userData.getPassword());
  155. //保存用户数据
  156. SPUtils.put("USER_PHONE", userPhone + "");
  157. SPUtils.put("USER_PWD", getMD5Pwd + "");
  158. SPUtils.put("USER_ROLEID", userData.getRoleId() + "");
  159. SPUtils.put("USER_FACTORY_ID", userData.getFactoryId() + "");
  160. SPUtils.put("USER_NAME", userData.getUserName() + "");
  161. SPUtils.put("PHONE_MODEL", userData.getPhoneModel());
  162. SPUtils.put("USER_EMAIL", userData.getEmail());
  163. SPUtils.put("USER_CALLNUM", userData.getTelephone());
  164. switch (userData.getRoleId()) { //根据不同角色 跳转进入不同的页面
  165. case 2: //医生
  166. startActivityFinish(HomeActivity.class);
  167. break;
  168. case 3: //医药企业管理员
  169. startActivityFinish(FactorAdminActivity.class);
  170. break;
  171. case 4: //医药企业操作员
  172. startActivityFinish(FactoryOperatorActivity.class);
  173. break;
  174. }
  175. } else if (userData.getStatus() == 0) {
  176. toast("当前账号已被禁用");
  177. } else if (userData.getStatus() == 2) {
  178. toast("当前账号已被删除");
  179. } else if (userData.getStatus() == 3) {
  180. Intent in= new Intent(this,ExamineActivity.class);
  181. in.putExtra("LoginStatusCode",3);
  182. startActivity(in);
  183. //toast("您的账号正在审核中,请耐心等待");
  184. } else if (userData.getStatus() == 4) {
  185. Intent in= new Intent(this,ExamineActivity.class);
  186. in.putExtra("LoginStatusCode",4);
  187. startActivity(in);
  188. //toast("审核未通过");
  189. } else if (userData.getStatus() == 5) {
  190. // toast("未完成注册");
  191. Intent in = new Intent(this,AuthenticationActivity.class);
  192. in.putExtra("registerUserId",data.getData().getId()+"");
  193. startActivity(in);
  194. } else if (userData.getStatus() == 6) {
  195. Intent in= new Intent(this,ExamineActivity.class);
  196. in.putExtra("LoginStatusCode",6);
  197. startActivity(in);
  198. }
  199. }
  200. }