Commit ae32b282 authored by yinjiacheng's avatar yinjiacheng

update 个人认证流程

parent f11596b8
......@@ -22,5 +22,6 @@ class LifeAccountPersonalAuthData {
var validDateEnd: String = ""
var issuedBy: String = ""
var isFaceAuthPass: Boolean = false
var isIDCardAuthPass: Boolean = false
var isIDCardPortraitFaceUpload: Boolean = false
var isIDCardNationalEmblemFaceUpload: Boolean = false
}
......@@ -342,6 +342,7 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
}
override fun onTaskSuccess(bucket: String?, objectKey: String?) {
LifeAccountAuthDataManager.personalAuthData.isIDCardPortraitFaceUpload = true
objectKey?.let {
LifeAccountAuthDataManager.personalAuthData.idCardPortraitFaceObjectKey =
it
......@@ -366,6 +367,8 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
}
override fun onTaskSuccess(bucket: String?, objectKey: String?) {
LifeAccountAuthDataManager.personalAuthData.isIDCardNationalEmblemFaceUpload =
true
objectKey?.let {
LifeAccountAuthDataManager.personalAuthData.idCardNationalEmblemFaceObjectKey =
it
......@@ -408,8 +411,6 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
}
override fun getIDCardOCRSuccess(result: GetIDCardOCRBean.Response?) {
// 存储认证使用的信息
LifeAccountAuthDataManager.personalAuthData.isIDCardAuthPass = true
result?.let { LifeAccountAuthDataManager.generatePersonalAuthData(it) }
// 回显OCR结果
viewBinding.evRealName.fillEditContent(result?.posit?.name)
......@@ -417,8 +418,6 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
// 此时身份证两面均已上传并OCR识别完成 删除本地临时存储文件
File(cachePath + Constant.FILE_PATH_ID_CARD_PORTRAIT_FACE).delete()
File(cachePath + Constant.FILE_PATH_ID_CARD_NATIONAL_EMBLEM_FACE).delete()
// 检查下一步条件
(activity as LifeAccountPersonalAuthActivity).checkNextCondition()
}
override fun getIDCardOCRFailure(message: String?) {
......@@ -426,7 +425,6 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
Constant.LIFE_ACCOUNT_AUTH_TAG,
"request id card ocr failure, message: $message"
)
LifeAccountAuthDataManager.personalAuthData.isIDCardAuthPass = false
}
override fun getTokenSuccess(t: HttpResult<AuthPersonalGetTokenBean.Response?>?) {
......@@ -576,16 +574,28 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
)
}
override fun onImageClear() {
viewBinding.evRealName.clearEditContent()
viewBinding.evIdCardNumber.clearEditContent()
// 检查下一步状态
(activity as LifeAccountPersonalAuthActivity).checkNextCondition()
override fun onImageClear(from: LifeAccountAuthImageView) {
if (from == viewBinding.ivIdCardPortraitFace) {
LifeAccountAuthDataManager.personalAuthData.isIDCardPortraitFaceUpload = false
} else {
LifeAccountAuthDataManager.personalAuthData.isIDCardNationalEmblemFaceUpload = false
}
}
override fun onTextClear(from: LifeAccountAuthIdentityInfoEditView) {
if (from == viewBinding.evRealName) {
LifeAccountAuthDataManager.personalAuthData.realName = ""
} else {
LifeAccountAuthDataManager.personalAuthData.idCardNum = ""
}
}
override fun onTextClear() {
// 检查下一步状态
(activity as LifeAccountPersonalAuthActivity).checkNextCondition()
override fun onTextChange(from: LifeAccountAuthIdentityInfoEditView, text: String) {
if (from == viewBinding.evRealName) {
LifeAccountAuthDataManager.personalAuthData.realName = text
} else {
LifeAccountAuthDataManager.personalAuthData.idCardNum = text
}
}
/**
......@@ -608,13 +618,14 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
/**
* 本地校验是否可以进行人脸验证
* 必须同时满足真实姓名已填、身份证号已填、身份证两面已上传
* 必须同时满足真实姓名已填、身份证号已填、身份证两面已上传、职业标签已选
*/
private fun checkFaceAuthCondition(): Boolean {
// TODO: 6/2/21 添加职业标签校验
return LifeAccountAuthDataManager.personalAuthData.realName.isNotEmpty()
&& LifeAccountAuthDataManager.personalAuthData.idCardNum.isNotEmpty()
&& LifeAccountAuthDataManager.personalAuthData.idCardPortraitFaceObjectKey.isNotEmpty()
&& LifeAccountAuthDataManager.personalAuthData.idCardNationalEmblemFaceObjectKey.isNotEmpty()
&& LifeAccountAuthDataManager.personalAuthData.isIDCardPortraitFaceUpload
&& LifeAccountAuthDataManager.personalAuthData.isIDCardNationalEmblemFaceUpload
}
......
......@@ -50,7 +50,6 @@ class LifeAccountPersonalAuthActivity : BaseActivity<ActivityLifeAccountPersonal
fun checkNextCondition() {
if (viewBind.cbProtocol.isChecked
&& LifeAccountAuthDataManager.personalAuthData.occupation.isNotEmpty()
&& LifeAccountAuthDataManager.personalAuthData.isIDCardAuthPass
&& LifeAccountAuthDataManager.personalAuthData.isFaceAuthPass
) {
viewBind.btnNext.alpha = 1f
......@@ -65,10 +64,10 @@ class LifeAccountPersonalAuthActivity : BaseActivity<ActivityLifeAccountPersonal
when (v?.id) {
R.id.iv_back -> XPageManager.pop(null)
R.id.sv_occupation -> {
// TODO: 5/27/21 跳转职业标签选择
// TODO: 5/27/21 跳转职业标签选择 选择完成后进行下一步检查
}
R.id.btn_next -> {
// TODO: 5/27/21 执行认证逻辑
// TODO: 5/27/21 首先执行身份信息入库(保证信息是最新的),再执行认证逻辑
}
}
}
......
......@@ -30,7 +30,7 @@ class LifeAccountAuthIdentityInfoEditView @JvmOverloads constructor(
)
)
private lateinit var callback: OnLifeAccountAuthIdentityInfoEditViewCallback
private var callback: OnLifeAccountAuthIdentityInfoEditViewCallback? = null
init {
val typedArray =
......@@ -60,6 +60,7 @@ class LifeAccountAuthIdentityInfoEditView @JvmOverloads constructor(
if (viewBinding.tvErrorTips.visibility == View.VISIBLE) {
viewBinding.tvErrorTips.visibility = View.GONE
}
callback?.onTextClear(this)
}
/**
......@@ -90,6 +91,7 @@ class LifeAccountAuthIdentityInfoEditView @JvmOverloads constructor(
override fun afterTextChanged(s: Editable?) {
// 处理一键清除按钮
viewBinding.ivClear.visibility = if (TextUtils.isEmpty(s)) View.GONE else View.VISIBLE
callback?.onTextChange(this, s.toString())
}
fun setOnLifeAccountAuthIdentityInfoEditViewCallback(callback: OnLifeAccountAuthIdentityInfoEditViewCallback) {
......@@ -98,8 +100,13 @@ class LifeAccountAuthIdentityInfoEditView @JvmOverloads constructor(
interface OnLifeAccountAuthIdentityInfoEditViewCallback {
/**
* 清除文字
* 清除内容
*/
fun onTextClear()
fun onTextClear(from: LifeAccountAuthIdentityInfoEditView)
/**
* 内容修改
*/
fun onTextChange(from: LifeAccountAuthIdentityInfoEditView, text: String)
}
}
\ No newline at end of file
......@@ -28,7 +28,7 @@ class LifeAccountAuthImageView @JvmOverloads constructor(
)
)
private lateinit var callback: OnLifeAccountAuthImageViewCallback
private var callback: OnLifeAccountAuthImageViewCallback? = null
init {
val typeArray =
......@@ -70,6 +70,7 @@ class LifeAccountAuthImageView @JvmOverloads constructor(
viewBinding.ivContent.setImageDrawable(null)
isEnabled = true
viewBinding.ivClear.isVisible = false
callback?.onImageClear(this)
}
override fun onClick(v: View?) {
......@@ -87,7 +88,7 @@ class LifeAccountAuthImageView @JvmOverloads constructor(
/**
* 清除图片
*/
fun onImageClear()
fun onImageClear(from: LifeAccountAuthImageView)
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment