lmw
2025-04-24 718f31c92e2029d05260810435a2c70cef6e6ce5
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
91
92
93
94
package com.sinata.xqmuse.ui.login
 
import android.content.Intent
import android.os.CountDownTimer
import cn.sinata.xldutils.utils.isValidPhone
import cn.sinata.xldutils.utils.myToast
import com.sinata.xqmuse.R
import com.sinata.xqmuse.dialog.LoginRuleDialog
import com.sinata.xqmuse.network.HttpManager
import com.sinata.xqmuse.network.request
import com.sinata.xqmuse.ui.H5Activity
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
import com.sinata.xqmuse.utils.extention.clickDelay
import kotlinx.android.synthetic.main.activity_bind_phone.*
import org.jetbrains.anko.sdk27.coroutines.onClick
import org.jetbrains.anko.startActivityForResult
 
class BindPhoneActivity : TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.activity_bind_phone
    private lateinit var timer: CountDownTimer
 
    private val openid by lazy { intent.getStringExtra("openid") }
    private val token by lazy { intent.getStringExtra("token") }
 
    override fun initClick() {
        tv_action.onClick {
            if (!cb_rule.isChecked) {
                myToast("请阅读并同意用户协议和隐私协议")
                return@onClick
            }
            val phone = et_phone.text.toString()
            if (!phone.isValidPhone()){
                myToast("请输入正确的手机号")
                return@onClick
            }
            val code = et_code.text.toString()
            if (code.length!=6){
                myToast("请输入6位验证码")
                return@onClick
            }
            HttpManager.verifyCellPhone(token?:"",phone,code,openid?:"").request(this@BindPhoneActivity){_,data->
                val result = Intent()
                result.putExtra("token",data?.accessToken?:"")
                setResult(RESULT_OK,result)
                finish()
            }
        }
 
        tv_code.onClick {
            val phone = et_phone.text.toString()
            if (!phone.isValidPhone())
                myToast("请输入正确的手机号")
            else{
                tv_code.isEnabled = false
                HttpManager.getCode(phone,4 ).request(this@BindPhoneActivity,success = { _, _->
                    timer.start()
                }){_,_->
                    tv_code.isEnabled = true
                }
            }
        }
 
        tv_privacy_rule.clickDelay {
            HttpManager.getH5(LoginRuleDialog.TYPE_PRIVACY).request(this){ _, data->
                data?.let {
                    startActivityForResult<H5Activity>(1,"title" to "隐私协议","url" to it)
                }
            }
        }
 
        tv_user_rule.clickDelay {
            HttpManager.getH5(LoginRuleDialog.TYPE_USER).request(this){ _, data->
                data?.let {
                    startActivityForResult<H5Activity>(2,"title" to "用户协议","url" to it)
                }
            }
        }
    }
 
    override fun initView() {
        timer = object :CountDownTimer(60000,1000){
            override fun onFinish() {
                tv_code.isEnabled = true
                tv_code.text = "获取验证码"
            }
 
            override fun onTick(millisUntilFinished: Long) {
                tv_code.text = "${millisUntilFinished / 1000}s后可重新获取"
            }
        }
 
    }
 
}