LoginActivity.java 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package com.android.chmo.ui.activity;
  2. import android.Manifest;
  3. import android.support.annotation.NonNull;
  4. import android.text.TextUtils;
  5. import android.widget.EditText;
  6. import com.android.chmo.R;
  7. import com.android.chmo.app.SpManager;
  8. import com.android.chmo.base.BaseActivity;
  9. import com.android.chmo.http.RequestCallback;
  10. import com.android.chmo.http.response.LoginRes;
  11. import com.android.chmo.http.service.UserService;
  12. import com.android.chmo.im.IMManager;
  13. import com.android.chmo.model.LoginUser;
  14. import com.android.chmo.ui.activity.me.ForgetPwdActivity;
  15. import com.android.chmo.utils.CommonUtils;
  16. import com.android.chmo.utils.LoginUtils;
  17. import com.google.gson.Gson;
  18. import com.netease.nim.uikit.support.permission.MPermission;
  19. import com.netease.nim.uikit.support.permission.annotation.OnMPermissionDenied;
  20. import com.netease.nim.uikit.support.permission.annotation.OnMPermissionGranted;
  21. import butterknife.BindView;
  22. import butterknife.OnClick;
  23. /**
  24. * Created by Administrator on 2018/7/30.
  25. */
  26. public class LoginActivity extends BaseActivity {
  27. @BindView(R.id.phone)
  28. EditText phoneEdit;
  29. @BindView(R.id.password)
  30. EditText passwordEdit;
  31. @Override
  32. protected int getContentResId() {
  33. return R.layout.activity_login;
  34. }
  35. @Override
  36. public void initView() {
  37. checkLocationPermission();
  38. }
  39. @Override
  40. protected void onResume() {
  41. super.onResume();
  42. String phone = SpManager.getInstance().getString("LoginPhone");
  43. String password = SpManager.getInstance().getString("LoginPwd");
  44. phoneEdit.setText(phone);
  45. passwordEdit.setText(password);
  46. }
  47. @OnClick(R.id.login)
  48. public void login() {
  49. final String phone = phoneEdit.getText().toString();
  50. final String password = passwordEdit.getText().toString();
  51. if(TextUtils.isEmpty(phone)) {
  52. showToast("请输入手机号");
  53. return;
  54. }
  55. if(!CommonUtils.isPhone(phone)) {
  56. showToast("手机号不正确");
  57. return;
  58. }
  59. if(TextUtils.isEmpty(password)) {
  60. showToast("请输入密码");
  61. return;
  62. }
  63. showLoading("登录中...");
  64. UserService.login(phone, password, new RequestCallback(){
  65. @Override
  66. public void onSuccess(String result) {
  67. hideLoading();
  68. LoginRes res = new Gson().fromJson(result, LoginRes.class);
  69. if(res.data != null) {
  70. LoginUser user = new LoginUser();
  71. user.setUser(res.data);
  72. LoginUtils.saveLoginUser(user);
  73. SpManager.getInstance().setString("LoginPhone", phone);
  74. SpManager.getInstance().setString("LoginPwd", password);
  75. IMManager.login();
  76. openPage(MainActivity.class);
  77. finish();
  78. }else {
  79. showToast(TextUtils.isEmpty(res.desc) ? "登录失败" : res.desc);
  80. }
  81. }
  82. @Override
  83. public void onFailure(String error) {
  84. hideLoading();
  85. showToast("登录失败");
  86. }
  87. });
  88. }
  89. @OnClick(R.id.forgetPwd)
  90. public void forgetPwd() {
  91. openPage(ForgetPwdActivity.class);
  92. }
  93. @OnClick(R.id.go_register)
  94. public void goRegister() {
  95. openPage(RegisterActivity.class);
  96. }
  97. @OnClick(R.id.container)
  98. public void containerClick() {
  99. CommonUtils.closeKeybord(phoneEdit,this);
  100. }
  101. private void checkLocationPermission() {
  102. MPermission.with(this)
  103. .setRequestCode(20)
  104. .permissions( new String[] {
  105. Manifest.permission.ACCESS_FINE_LOCATION,
  106. Manifest.permission.ACCESS_COARSE_LOCATION,
  107. Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS}).request();
  108. }
  109. @Override
  110. public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
  111. MPermission.onRequestPermissionsResult(this, requestCode, permissions, grantResults);
  112. }
  113. @OnMPermissionGranted(20)
  114. public void locationPermissionSuccess(){
  115. }
  116. @OnMPermissionDenied(20)
  117. public void locationPermissionFailed(){
  118. showToast("定位所需权限未授权");
  119. }
  120. }