Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
ShenghuoquanBusiness
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bp
ShenghuoquanBusiness
Commits
a474415c
Commit
a474415c
authored
Jun 03, 2021
by
yinjiacheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update 身份证OCR接口 人脸验证成功后锁定输入状态
parent
9edd9334
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
73 additions
and
5 deletions
+73
-5
LifeAccountPersonalAuthData.kt
...nghuoquan/newscontent/bean/LifeAccountPersonalAuthData.kt
+2
-0
Constant.kt
.../com/yidian/shenghuoquan/newscontent/constant/Constant.kt
+4
-0
GetIDCardOCRBean.kt
...henghuoquan/newscontent/http/httpbean/GetIDCardOCRBean.kt
+7
-3
LifeAccountIDCardAuthFragment.kt
...quan/newscontent/ui/auth/LifeAccountIDCardAuthFragment.kt
+19
-1
IDCardTestActivity.kt
.../shenghuoquan/newscontent/ui/idcard/IDCardTestActivity.kt
+15
-1
LifeAccountAuthBusinessInfoEditView.kt
...newscontent/widget/LifeAccountAuthBusinessInfoEditView.kt
+9
-0
LifeAccountAuthIdentityInfoEditView.kt
...newscontent/widget/LifeAccountAuthIdentityInfoEditView.kt
+9
-0
LifeAccountAuthImageView.kt
...enghuoquan/newscontent/widget/LifeAccountAuthImageView.kt
+8
-0
No files found.
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/bean/LifeAccountPersonalAuthData.kt
View file @
a474415c
...
@@ -10,6 +10,8 @@ class LifeAccountPersonalAuthData {
...
@@ -10,6 +10,8 @@ class LifeAccountPersonalAuthData {
var
idCardNum
:
String
=
""
var
idCardNum
:
String
=
""
var
idCardPortraitFaceObjectKey
:
String
=
""
var
idCardPortraitFaceObjectKey
:
String
=
""
var
idCardNationalEmblemFaceObjectKey
:
String
=
""
var
idCardNationalEmblemFaceObjectKey
:
String
=
""
var
idCardPortraitFaceBucket
:
String
=
""
var
idCardNationalEmblemFaceBucket
:
String
=
""
var
liveDetectBizToken
:
String
=
""
var
liveDetectBizToken
:
String
=
""
var
liveDetectObjectKey
:
String
=
""
var
liveDetectObjectKey
:
String
=
""
var
idCardPortraitFaceCompleteness
:
Int
=
-
1
var
idCardPortraitFaceCompleteness
:
Int
=
-
1
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/constant/Constant.kt
View file @
a474415c
...
@@ -40,4 +40,8 @@ object Constant {
...
@@ -40,4 +40,8 @@ object Constant {
const
val
TYPE_STILL
=
"still"
// 静默活体
const
val
TYPE_STILL
=
"still"
// 静默活体
const
val
TYPE_FLASH
=
"flash"
// 炫彩活体,通过打光进行活体验证,炫彩活体相较于静默活体安全性更高,但通过率会略有降低
const
val
TYPE_FLASH
=
"flash"
// 炫彩活体,通过打光进行活体验证,炫彩活体相较于静默活体安全性更高,但通过率会略有降低
const
val
TYPE_RAW_IMAGE
=
"raw_image"
// 不进行活体验证,仅使用上传的图片进行后续的比对
const
val
TYPE_RAW_IMAGE
=
"raw_image"
// 不进行活体验证,仅使用上传的图片进行后续的比对
// 服务端error message
const
val
error_message_id_card_number
=
"身份证号码有误"
const
val
error_message_real_name
=
"姓名缺失"
}
}
\ No newline at end of file
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/http/httpbean/GetIDCardOCRBean.kt
View file @
a474415c
...
@@ -7,8 +7,10 @@ package com.yidian.shenghuoquan.newscontent.http.httpbean
...
@@ -7,8 +7,10 @@ package com.yidian.shenghuoquan.newscontent.http.httpbean
*/
*/
class
GetIDCardOCRBean
(
val
request
:
Request
,
val
response
:
Response
)
{
class
GetIDCardOCRBean
(
val
request
:
Request
,
val
response
:
Response
)
{
data class
Request
(
data class
Request
(
val
posit_image_objectid
:
String
?,
val
posit_image_objectid
:
String
,
val
back_image_objectid
:
String
?
val
back_image_objectid
:
String
,
val
posit_bucket
:
String
?,
val
back_bucket
:
String
?
)
)
data class
Response
(
data class
Response
(
...
@@ -19,7 +21,9 @@ class GetIDCardOCRBean(val request: Request, val response: Response) {
...
@@ -19,7 +21,9 @@ class GetIDCardOCRBean(val request: Request, val response: Response) {
data class
Back
(
data class
Back
(
val
issued_by
:
String
,
val
issued_by
:
String
,
val
valid_date_end
:
String
,
val
valid_date_end
:
String
,
val
valid_date_start
:
String
val
valid_date_start
:
String
,
val
completeness
:
Int
,
val
legality
:
Legality
)
)
data class
Posit
(
data class
Posit
(
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/ui/auth/LifeAccountIDCardAuthFragment.kt
View file @
a474415c
...
@@ -347,6 +347,9 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
...
@@ -347,6 +347,9 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
LifeAccountAuthDataManager
.
personalAuthData
.
idCardPortraitFaceObjectKey
=
LifeAccountAuthDataManager
.
personalAuthData
.
idCardPortraitFaceObjectKey
=
it
it
}
}
bucket
?.
let
{
LifeAccountAuthDataManager
.
personalAuthData
.
idCardPortraitFaceBucket
=
it
}
KS3Core
.
INSTANCE
.
uploadObject
(
KS3Core
.
INSTANCE
.
uploadObject
(
File
(
cachePath
+
Constant
.
FILE_PATH_ID_CARD_NATIONAL_EMBLEM_FACE
),
File
(
cachePath
+
Constant
.
FILE_PATH_ID_CARD_NATIONAL_EMBLEM_FACE
),
KS3Core
.
ObjectType
.
IMAGE
,
object
:
KS3Core
.
OnKS3TaskListener
{
KS3Core
.
ObjectType
.
IMAGE
,
object
:
KS3Core
.
OnKS3TaskListener
{
...
@@ -373,6 +376,10 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
...
@@ -373,6 +376,10 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
LifeAccountAuthDataManager
.
personalAuthData
.
idCardNationalEmblemFaceObjectKey
=
LifeAccountAuthDataManager
.
personalAuthData
.
idCardNationalEmblemFaceObjectKey
=
it
it
}
}
bucket
?.
let
{
LifeAccountAuthDataManager
.
personalAuthData
.
idCardNationalEmblemFaceBucket
=
it
}
startIDCardOCR
()
startIDCardOCR
()
}
}
...
@@ -405,7 +412,9 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
...
@@ -405,7 +412,9 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
this
,
this
,
GetIDCardOCRBean
.
Request
(
GetIDCardOCRBean
.
Request
(
LifeAccountAuthDataManager
.
personalAuthData
.
idCardPortraitFaceObjectKey
,
LifeAccountAuthDataManager
.
personalAuthData
.
idCardPortraitFaceObjectKey
,
LifeAccountAuthDataManager
.
personalAuthData
.
idCardNationalEmblemFaceObjectKey
LifeAccountAuthDataManager
.
personalAuthData
.
idCardNationalEmblemFaceObjectKey
,
LifeAccountAuthDataManager
.
personalAuthData
.
idCardPortraitFaceBucket
,
LifeAccountAuthDataManager
.
personalAuthData
.
idCardNationalEmblemFaceBucket
)
)
)
)
}
}
...
@@ -454,6 +463,11 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
...
@@ -454,6 +463,11 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
ApiService
.
authLiveIdentity
(
this
)
ApiService
.
authLiveIdentity
(
this
)
// 检查下一步条件
// 检查下一步条件
(
activity
as
LifeAccountPersonalAuthActivity
).
checkNextCondition
()
(
activity
as
LifeAccountPersonalAuthActivity
).
checkNextCondition
()
// 锁定当前输入状态 即完成人脸验证后无法修改身份证照片、姓名、身份证号
viewBinding
.
ivIdCardPortraitFace
.
disableModify
()
viewBinding
.
ivIdCardNationalEmblemFace
.
disableModify
()
viewBinding
.
evRealName
.
disableModify
()
viewBinding
.
evIdCardNumber
.
disableModify
()
}
}
}
}
...
@@ -577,6 +591,10 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
...
@@ -577,6 +591,10 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
override
fun
onImageClear
(
from
:
LifeAccountAuthImageView
)
{
override
fun
onImageClear
(
from
:
LifeAccountAuthImageView
)
{
if
(
from
==
viewBinding
.
ivIdCardPortraitFace
)
{
if
(
from
==
viewBinding
.
ivIdCardPortraitFace
)
{
LifeAccountAuthDataManager
.
personalAuthData
.
isIDCardPortraitFaceUpload
=
false
LifeAccountAuthDataManager
.
personalAuthData
.
isIDCardPortraitFaceUpload
=
false
viewBinding
.
evRealName
.
clearEditContent
()
viewBinding
.
evIdCardNumber
.
clearEditContent
()
LifeAccountAuthDataManager
.
personalAuthData
.
realName
=
""
LifeAccountAuthDataManager
.
personalAuthData
.
idCardNum
=
""
}
else
{
}
else
{
LifeAccountAuthDataManager
.
personalAuthData
.
isIDCardNationalEmblemFaceUpload
=
false
LifeAccountAuthDataManager
.
personalAuthData
.
isIDCardNationalEmblemFaceUpload
=
false
}
}
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/ui/idcard/IDCardTestActivity.kt
View file @
a474415c
...
@@ -39,6 +39,8 @@ class IDCardTestActivity : BaseActivity<ActivityIdcardBinding>() {
...
@@ -39,6 +39,8 @@ class IDCardTestActivity : BaseActivity<ActivityIdcardBinding>() {
private
var
idCardBack
:
Bitmap
?
=
null
private
var
idCardBack
:
Bitmap
?
=
null
private
lateinit
var
idCardFrontObjectKey
:
String
private
lateinit
var
idCardFrontObjectKey
:
String
private
lateinit
var
idCardBackObjectKey
:
String
private
lateinit
var
idCardBackObjectKey
:
String
private
lateinit
var
idCardFrontBucket
:
String
private
lateinit
var
idCardBackBucket
:
String
override
fun
createViewBinding
():
ActivityIdcardBinding
{
override
fun
createViewBinding
():
ActivityIdcardBinding
{
return
ActivityIdcardBinding
.
inflate
(
layoutInflater
)
return
ActivityIdcardBinding
.
inflate
(
layoutInflater
)
...
@@ -97,6 +99,9 @@ class IDCardTestActivity : BaseActivity<ActivityIdcardBinding>() {
...
@@ -97,6 +99,9 @@ class IDCardTestActivity : BaseActivity<ActivityIdcardBinding>() {
if
(
objectKey
!=
null
)
{
if
(
objectKey
!=
null
)
{
idCardFrontObjectKey
=
objectKey
idCardFrontObjectKey
=
objectKey
}
}
if
(
bucket
!=
null
)
{
idCardFrontBucket
=
bucket
}
KS3Core
.
INSTANCE
.
uploadObject
(
backFile
,
object
:
KS3Core
.
OnKS3TaskListener
{
KS3Core
.
INSTANCE
.
uploadObject
(
backFile
,
object
:
KS3Core
.
OnKS3TaskListener
{
override
fun
onTaskStart
()
{
override
fun
onTaskStart
()
{
...
@@ -118,7 +123,16 @@ class IDCardTestActivity : BaseActivity<ActivityIdcardBinding>() {
...
@@ -118,7 +123,16 @@ class IDCardTestActivity : BaseActivity<ActivityIdcardBinding>() {
if
(
objectKey
!=
null
)
{
if
(
objectKey
!=
null
)
{
idCardBackObjectKey
=
objectKey
idCardBackObjectKey
=
objectKey
}
}
val
request
=
GetIDCardOCRBean
.
Request
(
idCardFrontObjectKey
,
idCardBackObjectKey
)
if
(
bucket
!=
null
)
{
idCardBackBucket
=
bucket
}
val
request
=
GetIDCardOCRBean
.
Request
(
idCardFrontObjectKey
,
idCardBackObjectKey
,
idCardFrontBucket
,
idCardBackBucket
)
ApiService
.
getIDCardOCR
(
object
:
IGetIDCardOCRCallback
{
ApiService
.
getIDCardOCR
(
object
:
IGetIDCardOCRCallback
{
override
fun
getIDCardOCRSuccess
(
result
:
GetIDCardOCRBean
.
Response
?)
{
override
fun
getIDCardOCRSuccess
(
result
:
GetIDCardOCRBean
.
Response
?)
{
Log
.
d
(
KS3Core
.
TAG
,
"name: ${result?.posit?.name}, id num: ${result?.posit?.idcard_number}"
)
Log
.
d
(
KS3Core
.
TAG
,
"name: ${result?.posit?.name}, id num: ${result?.posit?.idcard_number}"
)
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/widget/LifeAccountAuthBusinessInfoEditView.kt
View file @
a474415c
...
@@ -6,6 +6,7 @@ import android.text.TextUtils
...
@@ -6,6 +6,7 @@ import android.text.TextUtils
import
android.text.TextWatcher
import
android.text.TextWatcher
import
android.util.AttributeSet
import
android.util.AttributeSet
import
android.view.View
import
android.view.View
import
androidx.core.view.isVisible
import
com.yidian.nightmode.widget.YdConstraintLayout
import
com.yidian.nightmode.widget.YdConstraintLayout
import
com.yidian.shenghuoquan.newscontent.R
import
com.yidian.shenghuoquan.newscontent.R
import
com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountAuthBusinessInfoEditBinding
import
com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountAuthBusinessInfoEditBinding
...
@@ -70,6 +71,14 @@ class LifeAccountAuthBusinessInfoEditView @JvmOverloads constructor(
...
@@ -70,6 +71,14 @@ class LifeAccountAuthBusinessInfoEditView @JvmOverloads constructor(
}
}
}
}
/**
* 禁止修改
*/
fun
disableModify
()
{
viewBinding
.
ivClear
.
isVisible
=
false
isEnabled
=
false
}
override
fun
onClick
(
v
:
View
?)
{
override
fun
onClick
(
v
:
View
?)
{
if
(
v
?.
id
==
R
.
id
.
iv_clear
)
{
if
(
v
?.
id
==
R
.
id
.
iv_clear
)
{
// 清除输入框中的内容
// 清除输入框中的内容
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/widget/LifeAccountAuthIdentityInfoEditView.kt
View file @
a474415c
...
@@ -6,6 +6,7 @@ import android.text.TextUtils
...
@@ -6,6 +6,7 @@ import android.text.TextUtils
import
android.text.TextWatcher
import
android.text.TextWatcher
import
android.util.AttributeSet
import
android.util.AttributeSet
import
android.view.View
import
android.view.View
import
androidx.core.view.isVisible
import
com.yidian.nightmode.widget.YdConstraintLayout
import
com.yidian.nightmode.widget.YdConstraintLayout
import
com.yidian.shenghuoquan.newscontent.R
import
com.yidian.shenghuoquan.newscontent.R
import
com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountAuthIdentityInfoEditBinding
import
com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountAuthIdentityInfoEditBinding
...
@@ -73,6 +74,14 @@ class LifeAccountAuthIdentityInfoEditView @JvmOverloads constructor(
...
@@ -73,6 +74,14 @@ class LifeAccountAuthIdentityInfoEditView @JvmOverloads constructor(
}
}
}
}
/**
* 禁止修改
*/
fun
disableModify
()
{
viewBinding
.
ivClear
.
isVisible
=
false
isEnabled
=
false
}
override
fun
onClick
(
v
:
View
?)
{
override
fun
onClick
(
v
:
View
?)
{
if
(
v
?.
id
==
R
.
id
.
iv_clear
)
{
if
(
v
?.
id
==
R
.
id
.
iv_clear
)
{
// 清除输入框中的内容
// 清除输入框中的内容
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/widget/LifeAccountAuthImageView.kt
View file @
a474415c
...
@@ -73,6 +73,14 @@ class LifeAccountAuthImageView @JvmOverloads constructor(
...
@@ -73,6 +73,14 @@ class LifeAccountAuthImageView @JvmOverloads constructor(
callback
?.
onImageClear
(
this
)
callback
?.
onImageClear
(
this
)
}
}
/**
* 禁止修改
*/
fun
disableModify
()
{
viewBinding
.
ivClear
.
isVisible
=
false
isEnabled
=
false
}
override
fun
onClick
(
v
:
View
?)
{
override
fun
onClick
(
v
:
View
?)
{
if
(
v
?.
id
==
R
.
id
.
iv_clear
)
{
if
(
v
?.
id
==
R
.
id
.
iv_clear
)
{
// 清除填充的图片
// 清除填充的图片
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment