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
package com.sinata.xqmuse.ui.login
 
import android.text.method.HideReturnsTransformationMethod
import android.text.method.PasswordTransformationMethod
import androidx.core.os.bundleOf
import cn.sinata.xldutils.utils.SPUtils
import cn.sinata.xldutils.utils.isValidPwd
import cn.sinata.xldutils.utils.md5
import cn.sinata.xldutils.utils.showAllowingStateLoss
import com.sinata.xqmuse.MainActivity
import com.sinata.xqmuse.R
import com.sinata.xqmuse.dialog.MsgDialog
import com.sinata.xqmuse.network.HttpManager
import com.sinata.xqmuse.network.request
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
import com.sinata.xqmuse.utils.Const
import com.sinata.xqmuse.utils.event.EmptyEvent
import kotlinx.android.synthetic.main.activity_set_pwd.*
import org.greenrobot.eventbus.EventBus
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.toast
 
class SetPwdActivity:TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.activity_set_pwd
 
    private val secret by lazy { intent.getStringExtra("secret")?:"" }
    private val phone by lazy { intent.getStringExtra("phone")?:"" }
 
    override fun initClick() {
        cb_pwd_visible.setOnCheckedChangeListener { _, isChecked ->
            if (isChecked)
                et_pwd.transformationMethod = HideReturnsTransformationMethod.getInstance()
            else
                et_pwd.transformationMethod = PasswordTransformationMethod.getInstance()
            et_pwd.setSelection(et_pwd.text.length)
        }
 
        tv_action.setOnClickListener {
            val pwd = et_pwd.text.toString()
            if (!pwd.isValidPwd()){
                toast("密码至少8个字符,不能全是字母或数字")
                return@setOnClickListener
            }
            tv_action.isEnabled = false
            HttpManager.forgetPassword(phone,pwd.md5(),secret).request(this,success = {_,data->
                val msgDialog = MsgDialog()
                msgDialog.arguments = bundleOf("msg" to "您的密码已修改成功,快去登录账户吧","title" to "修改成功")
                msgDialog.setDismissCallback(object :MsgDialog.OnDismiss{
                    override fun onDismiss() {
                        if (!SPUtils.instance().getString(Const.User.TOKEN).isNullOrEmpty()){
                            SPUtils.instance().put(Const.User.TOKEN, "").apply()
                            EventBus.getDefault().post(EmptyEvent(Const.EventCode.CHANGE_USER))
                            startActivity<MainActivity>()
                            startActivity<LoginActivity>()
                        }else{
                            startActivity<LoginActivity>()
                            finish()
                        }
                    }
                })
                msgDialog.showAllowingStateLoss(supportFragmentManager,"suc")
            }){_,_->
                tv_action.isEnabled = true
            }
        }
    }
 
    override fun initView() {
        if (!SPUtils.instance().getString(Const.User.TOKEN).isNullOrEmpty())
            title = "修改密码"
    }
 
}