package com.fuban.user.ui.login
|
|
import android.os.CountDownTimer
|
import cn.sinata.xldutils.utils.LengthFilter
|
import cn.sinata.xldutils.utils.isValidPassword
|
import cn.sinata.xldutils.utils.isValidPhone
|
import cn.sinata.xldutils.utils.myToast
|
import com.fuban.user.R
|
import com.fuban.user.network.HttpManager
|
import com.fuban.user.network.request
|
import com.fuban.user.ui.TransparentStatusBarActivity
|
import com.fuban.user.utils.DisableSpaceInputFilter
|
import kotlinx.android.synthetic.main.activity_forget.*
|
|
class ForgetActivity:TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_forget
|
private val timer by lazy {
|
object : CountDownTimer(60000, 1000) {
|
override fun onFinish() {
|
tv_code.text = "获取验证码"
|
tv_code.isEnabled = true
|
}
|
|
override fun onTick(millisUntilFinished: Long) {
|
tv_code.text = "已发送${millisUntilFinished / 1000}s"
|
}
|
}
|
}
|
|
override fun initClick() {
|
tv_code.setOnClickListener {
|
val phone = et_phone.text.toString()
|
if (!phone.isValidPhone()) {
|
myToast("请输入正确的手机号码")
|
return@setOnClickListener
|
}
|
tv_code.isEnabled = false
|
HttpManager.sendSms(phone,4).request(this,success = { _, _ ->
|
timer.start()
|
myToast("发送成功")
|
},error = {_,_->
|
tv_code.isEnabled = true
|
})
|
}
|
|
tv_action.setOnClickListener {
|
val phone = et_phone.text.toString()
|
if (!phone.isValidPhone()) {
|
myToast("请输入正确的手机号码")
|
return@setOnClickListener
|
}
|
val code = et_code.text.toString()
|
if (code.isEmpty()) {
|
myToast("请输入短信验证码")
|
return@setOnClickListener
|
}
|
if (code.length<4) {
|
myToast("请输入4位数验证码")
|
return@setOnClickListener
|
}
|
val pwd = et_pwd.text.toString()
|
if(!pwd.isValidPassword()){
|
myToast("密码必须包含大小字母、数字、特称字符,至少8个字符,最多30个字符")
|
return@setOnClickListener
|
}
|
showDialog()
|
HttpManager.forgetPassword(code,pwd,phone).request(this){_,_->
|
myToast("密码已重置")
|
finish()
|
}
|
}
|
}
|
|
override fun initView() {
|
title = "忘记密码"
|
et_pwd.filters = arrayOf(DisableSpaceInputFilter(),LengthFilter(18))
|
}
|
}
|