a988ddc695bd4412813d263428af4d5508b01c53.svn-base 6.9 KB

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