RegisterActivity.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. package com.android.chmo.ui.activity;
  2. import android.content.Intent;
  3. import android.text.TextUtils;
  4. import android.widget.EditText;
  5. import android.widget.ImageView;
  6. import android.widget.TextView;
  7. import com.android.chmo.R;
  8. import com.android.chmo.app.ChmoApplication;
  9. import com.android.chmo.app.SpManager;
  10. import com.android.chmo.base.BaseActivity;
  11. import com.android.chmo.http.RequestCallback;
  12. import com.android.chmo.http.response.RegisterRes;
  13. import com.android.chmo.http.service.UserService;
  14. import com.android.chmo.ui.activity.me.ProtocolActivity;
  15. import com.android.chmo.utils.CodeUtils;
  16. import com.android.chmo.utils.CommonUtils;
  17. import com.android.chmo.utils.VerifyCodeCounter;
  18. import com.google.gson.Gson;
  19. import butterknife.BindView;
  20. import butterknife.OnClick;
  21. /**
  22. * Created by Administrator on 2018/7/31.
  23. */
  24. public class RegisterActivity extends BaseActivity {
  25. @BindView(R.id.nickName)
  26. EditText nickNameEdit;
  27. @BindView(R.id.phone)
  28. EditText phoneEdit;
  29. @BindView(R.id.password)
  30. EditText passwordEdit;
  31. @BindView(R.id.confirm_password)
  32. EditText confirmPwdEdit;
  33. @BindView(R.id.code)
  34. EditText codeEdit;
  35. @BindView(R.id.getCode)
  36. TextView getCodeBtn;
  37. @BindView(R.id.checkbox)
  38. ImageView checkBox;
  39. private boolean protocolCheck = false;
  40. private VerifyCodeCounter codeCounter;
  41. private String code = ChmoApplication.getApp().getCode();
  42. @Override
  43. protected int getContentResId() {
  44. return R.layout.activity_register;
  45. }
  46. @Override
  47. public void initView() {
  48. }
  49. @OnClick(R.id.getCode)
  50. public void getCode() {
  51. String phone = phoneEdit.getText().toString();
  52. if (TextUtils.isEmpty(phone)) {
  53. showToast("请输入手机号");
  54. return;
  55. }
  56. if (!CommonUtils.isPhone(phone)) {
  57. showToast("手机号不正确");
  58. return;
  59. }
  60. code = CodeUtils.randomCode();
  61. String codeStr = CodeUtils.getCodeStr(0, code);
  62. showLoading();
  63. UserService.getCode(phone, code, new RequestCallback() {
  64. @Override
  65. public void onSuccess(String result) {
  66. hideLoading();
  67. ChmoApplication.getApp().setCode(code);
  68. codeCounter = new VerifyCodeCounter(60000, 1000, getCodeBtn);
  69. codeCounter.start();
  70. }
  71. @Override
  72. public void onFailure(String error) {
  73. hideLoading();
  74. showToast("获取验证码失败");
  75. }
  76. });
  77. }
  78. @OnClick(R.id.register)
  79. public void register() {
  80. String nickName = nickNameEdit.getText().toString();
  81. final String phone = phoneEdit.getText().toString();
  82. final String password = passwordEdit.getText().toString();
  83. String confirmPwd = confirmPwdEdit.getText().toString();
  84. String code = codeEdit.getText().toString();
  85. if (TextUtils.isEmpty(nickName)) {
  86. showToast("请输入昵称");
  87. return;
  88. }
  89. if (TextUtils.isEmpty(phone)) {
  90. showToast("请输入手机号");
  91. return;
  92. }
  93. if (!CommonUtils.isPhone(phone)) {
  94. showToast("手机号不正确");
  95. return;
  96. }
  97. if (TextUtils.isEmpty(password)) {
  98. showToast("请输入密码");
  99. return;
  100. }
  101. if (password.length() < 6) {
  102. showToast("密码长度不少于6位");
  103. return;
  104. }
  105. if (!password.equals(confirmPwd)) {
  106. showToast("确认密码不一致");
  107. return;
  108. }
  109. if (TextUtils.isEmpty(code)) {
  110. showToast("请输入验证码");
  111. return;
  112. }
  113. if (!code.equals(this.code)) {
  114. showToast("验证码不正确");
  115. return;
  116. }
  117. if (!protocolCheck) {
  118. showToast("请先阅读并同意“用户协议”和“隐私协议”");
  119. return;
  120. }
  121. showLoading();
  122. UserService.register(nickName, phone, password, new RequestCallback() {
  123. @Override
  124. public void onSuccess(String result) {
  125. hideLoading();
  126. RegisterRes res = new Gson().fromJson(result, RegisterRes.class);
  127. if (res.msg.equals("fail")) {
  128. showToast(TextUtils.isEmpty(res.value) ? "注册失败" : res.value);
  129. } else {
  130. //注册成功
  131. showToast("注册成功");
  132. SpManager.getInstance().setString("LoginPhone", phone);
  133. SpManager.getInstance().setString("LoginPwd", password);
  134. finish();
  135. }
  136. }
  137. @Override
  138. public void onFailure(String error) {
  139. hideLoading();
  140. showToast("注册失败");
  141. }
  142. });
  143. }
  144. @OnClick(R.id.container)
  145. public void containerClick() {
  146. CommonUtils.closeKeybord(phoneEdit, this);
  147. }
  148. @OnClick(R.id.protocol)
  149. public void checkProtocol() {
  150. protocolCheck = !protocolCheck;
  151. checkBox.setImageResource(protocolCheck ? R.mipmap.checked : R.mipmap.check);
  152. }
  153. @OnClick(R.id.user_protocol)
  154. public void userProtocol() {
  155. Intent intent = new Intent(this, ProtocolActivity.class);
  156. intent.putExtra("title", "用户协议");
  157. intent.putExtra("url", "file:///android_asset/user_protocol.html");
  158. openPage(intent);
  159. }
  160. @OnClick(R.id.privacy_protocol)
  161. public void privacyProtocol() {
  162. Intent intent = new Intent(this, ProtocolActivity.class);
  163. intent.putExtra("title", "隐私协议");
  164. intent.putExtra("url", "file:///android_asset/privacy_protocol.html");
  165. openPage(intent);
  166. }
  167. }