lmw
2023-05-12 f67802a41f9e01444d1115f34ecc6e1beb05fc3b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package com.fuban.user.ui.mine
 
import android.app.Activity
import android.os.CountDownTimer
import androidx.core.os.bundleOf
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.dialog.TipDialog
import kotlinx.android.synthetic.main.activity_modify_phone.*
import org.jetbrains.anko.sdk27.coroutines.onClick
 
class ModifyPhoneActivity:TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.activity_modify_phone
 
    private val countDownTimer = object : CountDownTimer(60 * 1000, 1000) {
        override fun onFinish() {
            tv_get_code.text = "重新获取"
            tv_get_code.isEnabled = true
        }
 
        override fun onTick(millisUntilFinished: Long) {
            tv_get_code.text = String.format("%d秒后重新获取", millisUntilFinished / 1000)
        }
    }
    private val myPhone by lazy {
        intent.getStringExtra("myPhone")
    }
 
    override fun initClick() {
        tv_get_code.onClick {
            sendSms()
        }
        tv_action.onClick {
            val text = et_phone.text.toString()
            if (!text.isValidPhone()){
                myToast("请输入正确的手机号")
                return@onClick
            }
            if (text == myPhone){
                myToast("新手机号与原手机号不能相同")
                return@onClick
            }
            val s = et_code.text.toString()
            if (s.length != 4) {
                myToast("请输入4位验证码")
            } else {
                HttpManager.updatePhone(s,text).request(this@ModifyPhoneActivity){ _, data->
                    setResult(Activity.RESULT_OK)
                    val tipDialog = TipDialog()
                    tipDialog.arguments = bundleOf("msg" to "修改成功,请重新登录","isAlert" to true)
                    tipDialog.setDismissCallback(object :TipDialog.OnDismiss{
                        override fun onDismiss() {
                            finish()
                        }
                    })
                    tipDialog.show(supportFragmentManager,"login")
                }
            }
        }
    }
 
    private fun sendSms() {
        val text = et_phone.text.toString()
        if (!text.isValidPhone()){
            myToast("请输入正确的手机号")
            return
        }
        if (text == myPhone){
            myToast("新手机号与原手机号不能相同")
            return
        }
        showDialog()
        tv_get_code.isEnabled = false
        HttpManager.sendSms(text,1).request(this,success = { msg, _ ->
            myToast("发送成功")
            countDownTimer.start()
        }){_,_->
            tv_get_code.isEnabled = true
        }
    }
 
    override fun initView() {
        title = "修改手机号"
    }
 
}