package com.quansu.heifengwuliu.vmodel import android.app.Activity import android.app.Application import android.text.TextUtils import androidx.databinding.Bindable import androidx.lifecycle.MutableLiveData import com.hwangjr.rxbus.RxBus import com.quansu.heifengwuliu.BR import com.quansu.heifengwuliu.activity.HomeActivity import com.quansu.heifengwuliu.config.ConfigRx import com.quansu.heifengwuliu.model.Idcard import com.quansu.heifengwuliu.model.LoginBean import com.quansu.heifengwuliu.model.User import com.quansu.heifengwuliu.repository.PersonalVerifyRepository import com.quansu.heifengwuliu.utils.ChosePhotoUtils import com.quansu.heifengwuliu.utils.VerifyUtils import com.quansu.heifengwuliu.utils.net.NetEngine import com.tencent.mmkv.MMKV import com.ysnows.base.base.BViewModel import com.ysnows.base.utils.UiSwitch class PersonalVerityVModel(application: Application) : BViewModel(application) { //https://cdnheifengwuliu.qs110.com/idcard/xuzgomb3/android/v/mmexport1599207639412.jpg var imgIDMan: MutableLiveData = MutableLiveData("") var imgIDEmblem: MutableLiveData = MutableLiveData("") var type:String="1"//1:身份证正面 2:身份证背面 var isShow: MutableLiveData = MutableLiveData(true) var nameID:String="" var iDNumberID:String="" @Bindable var name: String? = null set(value) { field = value notifyPropertyChanged(BR.name) } @Bindable var iDNumber: String? = null set(value) { field = value notifyPropertyChanged(BR.iDNumber) } fun choseImg(type:Int){ if(!isShow.value!!){ return } //选择照片 this.type=type.toString() ChosePhotoUtils.getChosePhoto(view()!!.context(), 1) } fun toSubmit(){ if(TextUtils.isEmpty(imgIDMan.value)){ toast("请上传身份证人像面图片") return } if(TextUtils.isEmpty(imgIDEmblem.value)){ toast("请上传国徽面图片") return } if(TextUtils.isEmpty(name)){ toast("请输入姓名") return } //验证姓名的格式 if(!VerifyUtils.isLegalName(name!!)){ toast("姓名格式不对,请核实!") return } //判断是否和图片上的一致 if(!TextUtils.isEmpty(nameID)&&(!name.equals(nameID))){ toast("输入姓名和身份证上姓名不一致,请核实!") return } if(TextUtils.isEmpty(iDNumber)){ toast("请输入身份证号") return } if(!VerifyUtils.isLegalId(iDNumber!!)){ toast("身份证格式不对,请核实!") return } //判断是否和图片上的一致 if(!TextUtils.isEmpty(iDNumberID)&&(!iDNumber.equals(iDNumberID))){ toast("输入身份证号和身份证上的身份证号不一致,请核实!") return } repository().rxLreq(NetEngine.service.setInfo(imgIDMan.value, imgIDEmblem.value,name,iDNumber)) .doOnNext { if (it.ok(true)) { var user = User.get() user!!.is_info = 2 user.save() RxBus.get().post(ConfigRx.REFRESH_USER, "") (repository().context as Activity).finish() } } .subscribe() } fun getInfo(){ //获取个人信息 repository().rxPreq(NetEngine.service.getInfo("1")) .doOnNext { if (it.ok(false)) { var bean=it.data() if(null!=bean){ isShow.value = bean.status != "2" //设置值 imgIDMan.value=bean.idcard_z imgIDEmblem.value=bean.idcard_f name=bean.name iDNumber=bean.idcard } } } .subscribe() } fun discernID(img:String){//识别身份证 repository().rxLreq(NetEngine.service.cvIdcard(img)) .doOnNext { if (it.ok(true)) { var bean=it.data() as Idcard name=bean.name iDNumber=bean.id nameID=bean.name iDNumberID=bean.id } } .subscribe() } override fun createRepository(): PersonalVerifyRepository { return PersonalVerifyRepository() } }