LoginVModel.kt 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package com.hdl.xl.vmodel
  2. import android.app.Activity
  3. import android.app.Application
  4. import android.text.TextUtils
  5. import android.util.Log
  6. import androidx.databinding.Bindable
  7. import androidx.lifecycle.MutableLiveData
  8. import androidx.lifecycle.viewModelScope
  9. import com.hdl.xl.BR
  10. import com.hdl.xl.R
  11. import com.hdl.xl.activity.ForgetPasswordActivity
  12. import com.hdl.xl.activity.MainActivity
  13. import com.hdl.xl.activity.RegisterActivity
  14. import com.hdl.xl.utils.net.NetEngine
  15. import com.tencent.mmkv.MMKV
  16. import com.ysnows.base.base.BRepository
  17. import com.ysnows.base.base.BViewModel
  18. import com.ysnows.base.utils.B
  19. import com.ysnows.base.utils.UiSwitch
  20. import com.hdl.xl.activity.ArticleDetailActivity
  21. import kotlinx.coroutines.launch
  22. open class LoginVModel(application: Application) : BViewModel<BRepository>(application) {
  23. var one = MutableLiveData<Boolean>(true)
  24. var eyes = MutableLiveData<Int>(0)//0闭眼 1睁眼
  25. @Bindable
  26. open var phone: String? = null
  27. set(value) {
  28. field = value
  29. notifyPropertyChanged(BR.phone)
  30. }
  31. @Bindable
  32. open var passWord: String? = null
  33. set(value) {
  34. field = value
  35. notifyPropertyChanged(BR.passWord)
  36. }
  37. fun toRegister() {
  38. UiSwitch.single(repository().context, RegisterActivity::class.java)
  39. }
  40. fun toForgetPassword() {
  41. UiSwitch.single(repository().context, ForgetPasswordActivity::class.java)
  42. }
  43. fun toAgree(a:Int){
  44. UiSwitch.bundle(repository().context, ArticleDetailActivity::class.java,
  45. B().putString("type","2")
  46. .putString("chose",a.toString())
  47. .ok())
  48. }
  49. fun login() {
  50. if (phone.isNullOrEmpty()) {
  51. toast(R.string.please_input_user_phone)
  52. return
  53. }
  54. if (passWord.isNullOrEmpty()) {
  55. toast(R.string.please_input_pwd)
  56. return
  57. }
  58. viewModelScope.launch {
  59. val it = repository().lreq { NetEngine.service.getLogin(phone, passWord) }
  60. if (it.ok(true)) {
  61. Log.d("shy", it.data.toString())
  62. MMKV.defaultMMKV().putString("token", it.data.toString())//保存
  63. // MMKV.defaultMMKV().putString("token", "test")//保存
  64. //读取数据
  65. //MMKV.defaultMMKV().decodeString("token", "")
  66. UiSwitch.single(repository().context, MainActivity::class.java)
  67. // RxBus.get().post(ConfigRx.CLOSE_LOGIN, "")
  68. (repository().context as Activity).finish()
  69. }
  70. }
  71. }
  72. // fun goRetrieveWord(){
  73. //
  74. // UiSwitch.bundle(repository().context as Activity, ForgetPasswordActivity::class.java,
  75. // B().putString("adminType",adminType).ok())
  76. //
  77. // }
  78. }