package cn.daixiaodong.myapp.activity;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.avos.avoscloud.AVException;
import com.avos.avoscloud.AVUser;
import com.avos.avoscloud.RequestMobileCodeCallback;
import com.avos.avoscloud.UpdatePasswordCallback;
import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.ViewById;
import cn.daixiaodong.myapp.R;
import cn.daixiaodong.myapp.activity.common.BaseActivity;
/**
* 密码重置界面
*/
@EActivity(R.layout.activity_password_reset)
public class PasswordResetActivity extends BaseActivity {
@ViewById(R.id.id_et_phone_number)
EditText mViewPhoneNumber;
@ViewById(R.id.id_et_new_password)
EditText mViewNewPassword;
@ViewById(R.id.id_et_verify_code)
EditText mViewVerifyCode;
@ViewById(R.id.id_btn_password_reset)
Button mViewPasswordReset;
@ViewById(R.id.id_btn_verify_code)
Button mViewGetVerifyCode;
@Click(R.id.id_btn_password_reset)
void signUp() {
String phoneNumber = mViewPhoneNumber.getText().toString();
String newPassword = mViewNewPassword.getText().toString();
String verifyCode = mViewVerifyCode.getText().toString();
if (!checkData(phoneNumber, newPassword, verifyCode)) {
return;
}
AVUser.resetPasswordBySmsCodeInBackground(verifyCode, newPassword, new UpdatePasswordCallback() {
@Override
public void done(AVException e) {
if(e == null){
showToast("密码重置成功,返回登录");
finish();
}else{
e.printStackTrace();
}
}
});
}
@Click(R.id.id_btn_verify_code)
void getVerifyCode() {
String phoneNumber = mViewPhoneNumber.getText().toString();
if (phoneNumber.isEmpty()) {
showToast("请输入手机号码");
return;
}
if (phoneNumber.length() != 11) {
showToast("请输入正确的手机号码");
return;
}
AVUser.requestPasswordResetBySmsCodeInBackground(phoneNumber, new RequestMobileCodeCallback() {
@Override
public void done(AVException e) {
if(e==null){
showToast("验证码正在发送中");
}else{
e.printStackTrace();
}
}
});
}
/**
* 校验用户输入
*
* @param phoneNumber 手机号
* @param newPassword 密码
* @param verifyCode 验证码
*/
private boolean checkData(String phoneNumber, String newPassword, String verifyCode) {
if (phoneNumber.isEmpty()) {
showToast("请输入手机号码");
return false;
}
if (phoneNumber.length() != 11) {
showToast("请输入正确的手机号码");
return false;
}
if (verifyCode.isEmpty()) {
showToast("请输入验证码");
return false;
}
if (newPassword.isEmpty()) {
Toast.makeText(this, "请输入新密码", Toast.LENGTH_SHORT).show();
return false;
}
if (newPassword.length() < 8 || newPassword.length() > 15) {
showToast("密码长度在8-15位");
return false;
}
return true;
}
}