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
ae32b282
Commit
ae32b282
authored
Jun 02, 2021
by
yinjiacheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update 个人认证流程
parent
f11596b8
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
44 additions
and
25 deletions
+44
-25
LifeAccountPersonalAuthData.kt
...nghuoquan/newscontent/bean/LifeAccountPersonalAuthData.kt
+2
-1
LifeAccountIDCardAuthFragment.kt
...quan/newscontent/ui/auth/LifeAccountIDCardAuthFragment.kt
+27
-16
LifeAccountPersonalAuthActivity.kt
...an/newscontent/ui/auth/LifeAccountPersonalAuthActivity.kt
+2
-3
LifeAccountAuthIdentityInfoEditView.kt
...newscontent/widget/LifeAccountAuthIdentityInfoEditView.kt
+10
-3
LifeAccountAuthImageView.kt
...enghuoquan/newscontent/widget/LifeAccountAuthImageView.kt
+3
-2
No files found.
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/bean/LifeAccountPersonalAuthData.kt
View file @
ae32b282
...
@@ -22,5 +22,6 @@ class LifeAccountPersonalAuthData {
...
@@ -22,5 +22,6 @@ class LifeAccountPersonalAuthData {
var
validDateEnd
:
String
=
""
var
validDateEnd
:
String
=
""
var
issuedBy
:
String
=
""
var
issuedBy
:
String
=
""
var
isFaceAuthPass
:
Boolean
=
false
var
isFaceAuthPass
:
Boolean
=
false
var
isIDCardAuthPass
:
Boolean
=
false
var
isIDCardPortraitFaceUpload
:
Boolean
=
false
var
isIDCardNationalEmblemFaceUpload
:
Boolean
=
false
}
}
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/ui/auth/LifeAccountIDCardAuthFragment.kt
View file @
ae32b282
...
@@ -342,6 +342,7 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
...
@@ -342,6 +342,7 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
}
}
override
fun
onTaskSuccess
(
bucket
:
String
?,
objectKey
:
String
?)
{
override
fun
onTaskSuccess
(
bucket
:
String
?,
objectKey
:
String
?)
{
LifeAccountAuthDataManager
.
personalAuthData
.
isIDCardPortraitFaceUpload
=
true
objectKey
?.
let
{
objectKey
?.
let
{
LifeAccountAuthDataManager
.
personalAuthData
.
idCardPortraitFaceObjectKey
=
LifeAccountAuthDataManager
.
personalAuthData
.
idCardPortraitFaceObjectKey
=
it
it
...
@@ -366,6 +367,8 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
...
@@ -366,6 +367,8 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
}
}
override
fun
onTaskSuccess
(
bucket
:
String
?,
objectKey
:
String
?)
{
override
fun
onTaskSuccess
(
bucket
:
String
?,
objectKey
:
String
?)
{
LifeAccountAuthDataManager
.
personalAuthData
.
isIDCardNationalEmblemFaceUpload
=
true
objectKey
?.
let
{
objectKey
?.
let
{
LifeAccountAuthDataManager
.
personalAuthData
.
idCardNationalEmblemFaceObjectKey
=
LifeAccountAuthDataManager
.
personalAuthData
.
idCardNationalEmblemFaceObjectKey
=
it
it
...
@@ -408,8 +411,6 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
...
@@ -408,8 +411,6 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
}
}
override
fun
getIDCardOCRSuccess
(
result
:
GetIDCardOCRBean
.
Response
?)
{
override
fun
getIDCardOCRSuccess
(
result
:
GetIDCardOCRBean
.
Response
?)
{
// 存储认证使用的信息
LifeAccountAuthDataManager
.
personalAuthData
.
isIDCardAuthPass
=
true
result
?.
let
{
LifeAccountAuthDataManager
.
generatePersonalAuthData
(
it
)
}
result
?.
let
{
LifeAccountAuthDataManager
.
generatePersonalAuthData
(
it
)
}
// 回显OCR结果
// 回显OCR结果
viewBinding
.
evRealName
.
fillEditContent
(
result
?.
posit
?.
name
)
viewBinding
.
evRealName
.
fillEditContent
(
result
?.
posit
?.
name
)
...
@@ -417,8 +418,6 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
...
@@ -417,8 +418,6 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
// 此时身份证两面均已上传并OCR识别完成 删除本地临时存储文件
// 此时身份证两面均已上传并OCR识别完成 删除本地临时存储文件
File
(
cachePath
+
Constant
.
FILE_PATH_ID_CARD_PORTRAIT_FACE
).
delete
()
File
(
cachePath
+
Constant
.
FILE_PATH_ID_CARD_PORTRAIT_FACE
).
delete
()
File
(
cachePath
+
Constant
.
FILE_PATH_ID_CARD_NATIONAL_EMBLEM_FACE
).
delete
()
File
(
cachePath
+
Constant
.
FILE_PATH_ID_CARD_NATIONAL_EMBLEM_FACE
).
delete
()
// 检查下一步条件
(
activity
as
LifeAccountPersonalAuthActivity
).
checkNextCondition
()
}
}
override
fun
getIDCardOCRFailure
(
message
:
String
?)
{
override
fun
getIDCardOCRFailure
(
message
:
String
?)
{
...
@@ -426,7 +425,6 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
...
@@ -426,7 +425,6 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
Constant
.
LIFE_ACCOUNT_AUTH_TAG
,
Constant
.
LIFE_ACCOUNT_AUTH_TAG
,
"request id card ocr failure, message: $message"
"request id card ocr failure, message: $message"
)
)
LifeAccountAuthDataManager
.
personalAuthData
.
isIDCardAuthPass
=
false
}
}
override
fun
getTokenSuccess
(
t
:
HttpResult
<
AuthPersonalGetTokenBean
.
Response
?
>?)
{
override
fun
getTokenSuccess
(
t
:
HttpResult
<
AuthPersonalGetTokenBean
.
Response
?
>?)
{
...
@@ -576,16 +574,28 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
...
@@ -576,16 +574,28 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
)
)
}
}
override
fun
onImageClear
()
{
override
fun
onImageClear
(
from
:
LifeAccountAuthImageView
)
{
viewBinding
.
evRealName
.
clearEditContent
()
if
(
from
==
viewBinding
.
ivIdCardPortraitFace
)
{
viewBinding
.
evIdCardNumber
.
clearEditContent
()
LifeAccountAuthDataManager
.
personalAuthData
.
isIDCardPortraitFaceUpload
=
false
// 检查下一步状态
}
else
{
(
activity
as
LifeAccountPersonalAuthActivity
).
checkNextCondition
()
LifeAccountAuthDataManager
.
personalAuthData
.
isIDCardNationalEmblemFaceUpload
=
false
}
}
override
fun
onTextClear
(
from
:
LifeAccountAuthIdentityInfoEditView
)
{
if
(
from
==
viewBinding
.
evRealName
)
{
LifeAccountAuthDataManager
.
personalAuthData
.
realName
=
""
}
else
{
LifeAccountAuthDataManager
.
personalAuthData
.
idCardNum
=
""
}
}
}
override
fun
onTextClear
()
{
override
fun
onTextChange
(
from
:
LifeAccountAuthIdentityInfoEditView
,
text
:
String
)
{
// 检查下一步状态
if
(
from
==
viewBinding
.
evRealName
)
{
(
activity
as
LifeAccountPersonalAuthActivity
).
checkNextCondition
()
LifeAccountAuthDataManager
.
personalAuthData
.
realName
=
text
}
else
{
LifeAccountAuthDataManager
.
personalAuthData
.
idCardNum
=
text
}
}
}
/**
/**
...
@@ -608,13 +618,14 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
...
@@ -608,13 +618,14 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
/**
/**
* 本地校验是否可以进行人脸验证
* 本地校验是否可以进行人脸验证
* 必须同时满足真实姓名已填、身份证号已填、身份证两面已上传
* 必须同时满足真实姓名已填、身份证号已填、身份证两面已上传
、职业标签已选
*/
*/
private
fun
checkFaceAuthCondition
():
Boolean
{
private
fun
checkFaceAuthCondition
():
Boolean
{
// TODO: 6/2/21 添加职业标签校验
return
LifeAccountAuthDataManager
.
personalAuthData
.
realName
.
isNotEmpty
()
return
LifeAccountAuthDataManager
.
personalAuthData
.
realName
.
isNotEmpty
()
&&
LifeAccountAuthDataManager
.
personalAuthData
.
idCardNum
.
isNotEmpty
()
&&
LifeAccountAuthDataManager
.
personalAuthData
.
idCardNum
.
isNotEmpty
()
&&
LifeAccountAuthDataManager
.
personalAuthData
.
i
dCardPortraitFaceObjectKey
.
isNotEmpty
()
&&
LifeAccountAuthDataManager
.
personalAuthData
.
i
sIDCardPortraitFaceUpload
&&
LifeAccountAuthDataManager
.
personalAuthData
.
i
dCardNationalEmblemFaceObjectKey
.
isNotEmpty
()
&&
LifeAccountAuthDataManager
.
personalAuthData
.
i
sIDCardNationalEmblemFaceUpload
}
}
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/ui/auth/LifeAccountPersonalAuthActivity.kt
View file @
ae32b282
...
@@ -50,7 +50,6 @@ class LifeAccountPersonalAuthActivity : BaseActivity<ActivityLifeAccountPersonal
...
@@ -50,7 +50,6 @@ class LifeAccountPersonalAuthActivity : BaseActivity<ActivityLifeAccountPersonal
fun
checkNextCondition
()
{
fun
checkNextCondition
()
{
if
(
viewBind
.
cbProtocol
.
isChecked
if
(
viewBind
.
cbProtocol
.
isChecked
&&
LifeAccountAuthDataManager
.
personalAuthData
.
occupation
.
isNotEmpty
()
&&
LifeAccountAuthDataManager
.
personalAuthData
.
occupation
.
isNotEmpty
()
&&
LifeAccountAuthDataManager
.
personalAuthData
.
isIDCardAuthPass
&&
LifeAccountAuthDataManager
.
personalAuthData
.
isFaceAuthPass
&&
LifeAccountAuthDataManager
.
personalAuthData
.
isFaceAuthPass
)
{
)
{
viewBind
.
btnNext
.
alpha
=
1f
viewBind
.
btnNext
.
alpha
=
1f
...
@@ -65,10 +64,10 @@ class LifeAccountPersonalAuthActivity : BaseActivity<ActivityLifeAccountPersonal
...
@@ -65,10 +64,10 @@ class LifeAccountPersonalAuthActivity : BaseActivity<ActivityLifeAccountPersonal
when
(
v
?.
id
)
{
when
(
v
?.
id
)
{
R
.
id
.
iv_back
->
XPageManager
.
pop
(
null
)
R
.
id
.
iv_back
->
XPageManager
.
pop
(
null
)
R
.
id
.
sv_occupation
->
{
R
.
id
.
sv_occupation
->
{
// TODO: 5/27/21 跳转职业标签选择
// TODO: 5/27/21 跳转职业标签选择
选择完成后进行下一步检查
}
}
R
.
id
.
btn_next
->
{
R
.
id
.
btn_next
->
{
// TODO: 5/27/21 执行认证逻辑
// TODO: 5/27/21
首先执行身份信息入库(保证信息是最新的),再
执行认证逻辑
}
}
}
}
}
}
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/widget/LifeAccountAuthIdentityInfoEditView.kt
View file @
ae32b282
...
@@ -30,7 +30,7 @@ class LifeAccountAuthIdentityInfoEditView @JvmOverloads constructor(
...
@@ -30,7 +30,7 @@ class LifeAccountAuthIdentityInfoEditView @JvmOverloads constructor(
)
)
)
)
private
lateinit
var
callback
:
OnLifeAccountAuthIdentityInfoEditViewCallback
private
var
callback
:
OnLifeAccountAuthIdentityInfoEditViewCallback
?
=
null
init
{
init
{
val
typedArray
=
val
typedArray
=
...
@@ -60,6 +60,7 @@ class LifeAccountAuthIdentityInfoEditView @JvmOverloads constructor(
...
@@ -60,6 +60,7 @@ class LifeAccountAuthIdentityInfoEditView @JvmOverloads constructor(
if
(
viewBinding
.
tvErrorTips
.
visibility
==
View
.
VISIBLE
)
{
if
(
viewBinding
.
tvErrorTips
.
visibility
==
View
.
VISIBLE
)
{
viewBinding
.
tvErrorTips
.
visibility
=
View
.
GONE
viewBinding
.
tvErrorTips
.
visibility
=
View
.
GONE
}
}
callback
?.
onTextClear
(
this
)
}
}
/**
/**
...
@@ -90,6 +91,7 @@ class LifeAccountAuthIdentityInfoEditView @JvmOverloads constructor(
...
@@ -90,6 +91,7 @@ class LifeAccountAuthIdentityInfoEditView @JvmOverloads constructor(
override
fun
afterTextChanged
(
s
:
Editable
?)
{
override
fun
afterTextChanged
(
s
:
Editable
?)
{
// 处理一键清除按钮
// 处理一键清除按钮
viewBinding
.
ivClear
.
visibility
=
if
(
TextUtils
.
isEmpty
(
s
))
View
.
GONE
else
View
.
VISIBLE
viewBinding
.
ivClear
.
visibility
=
if
(
TextUtils
.
isEmpty
(
s
))
View
.
GONE
else
View
.
VISIBLE
callback
?.
onTextChange
(
this
,
s
.
toString
())
}
}
fun
setOnLifeAccountAuthIdentityInfoEditViewCallback
(
callback
:
OnLifeAccountAuthIdentityInfoEditViewCallback
)
{
fun
setOnLifeAccountAuthIdentityInfoEditViewCallback
(
callback
:
OnLifeAccountAuthIdentityInfoEditViewCallback
)
{
...
@@ -98,8 +100,13 @@ class LifeAccountAuthIdentityInfoEditView @JvmOverloads constructor(
...
@@ -98,8 +100,13 @@ class LifeAccountAuthIdentityInfoEditView @JvmOverloads constructor(
interface
OnLifeAccountAuthIdentityInfoEditViewCallback
{
interface
OnLifeAccountAuthIdentityInfoEditViewCallback
{
/**
/**
* 清除
文字
* 清除
内容
*/
*/
fun
onTextClear
()
fun
onTextClear
(
from
:
LifeAccountAuthIdentityInfoEditView
)
/**
* 内容修改
*/
fun
onTextChange
(
from
:
LifeAccountAuthIdentityInfoEditView
,
text
:
String
)
}
}
}
}
\ No newline at end of file
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/widget/LifeAccountAuthImageView.kt
View file @
ae32b282
...
@@ -28,7 +28,7 @@ class LifeAccountAuthImageView @JvmOverloads constructor(
...
@@ -28,7 +28,7 @@ class LifeAccountAuthImageView @JvmOverloads constructor(
)
)
)
)
private
lateinit
var
callback
:
OnLifeAccountAuthImageViewCallback
private
var
callback
:
OnLifeAccountAuthImageViewCallback
?
=
null
init
{
init
{
val
typeArray
=
val
typeArray
=
...
@@ -70,6 +70,7 @@ class LifeAccountAuthImageView @JvmOverloads constructor(
...
@@ -70,6 +70,7 @@ class LifeAccountAuthImageView @JvmOverloads constructor(
viewBinding
.
ivContent
.
setImageDrawable
(
null
)
viewBinding
.
ivContent
.
setImageDrawable
(
null
)
isEnabled
=
true
isEnabled
=
true
viewBinding
.
ivClear
.
isVisible
=
false
viewBinding
.
ivClear
.
isVisible
=
false
callback
?.
onImageClear
(
this
)
}
}
override
fun
onClick
(
v
:
View
?)
{
override
fun
onClick
(
v
:
View
?)
{
...
@@ -87,7 +88,7 @@ class LifeAccountAuthImageView @JvmOverloads constructor(
...
@@ -87,7 +88,7 @@ class LifeAccountAuthImageView @JvmOverloads constructor(
/**
/**
* 清除图片
* 清除图片
*/
*/
fun
onImageClear
()
fun
onImageClear
(
from
:
LifeAccountAuthImageView
)
}
}
}
}
\ No newline at end of file
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