This commit is contained in:
mazengfei
2026-03-04 14:56:16 +08:00
parent eef13ff56e
commit b96f9872cb
4 changed files with 42 additions and 3 deletions
@@ -441,6 +441,12 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {
runOnUiThread {
if (pageNo == 1 && list.isEmpty()) {
//未查询到增量数据
// Thread{
// val faceDao = FaceDatabase.getInstance(this).faceDao()
// if (faceDao.getFaceCount() == 0) {
// FaceEntity("-1", null, byteArrayOf(-1)).also { it.userType = "-1" }
// }
// }.start()
return@runOnUiThread
}
updateFaceData(list)
@@ -470,6 +476,9 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {
if (model.faceDeleted == true) {
//删除数据
faceDao.deleteFaceById(model.userId)
// if (faceDao.getFaceCount() == 0) {
// FaceEntity("-1", null, byteArrayOf(-1)).also { it.userType = "-1" }
// }
} else {
val faceData = faceDao.queryByUserName(model.userId)
if (faceData == null) {
@@ -518,6 +527,10 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {
val faceDao = FaceDatabase.getInstance(App.getContext()).faceDao()
faceDao.deleteAll()
faceDao.resetId()
// faceDao.insert(
// FaceEntity("-1", null, byteArrayOf(-1)).also { it.userType = "-1" }
// )
recognizeViewModel.refreshFaceList()
runOnUiThread { block() }
}.start()
}
@@ -858,7 +858,20 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
loadLogInfo("collectFace,saveFaceInfo: ----------10,人脸数据保存完成-----------")
recognizeViewModel.refreshFaceList()
loadLogInfo("collectFace,saveFaceInfo: ----------11,刷新人脸数据-----------")
runOnUiThread { recognizeViewModel.onPreviewFrame(emptyFrame, true) }
val faceCount = faceDao.getFaceCount()
isRecognition = false
runOnUiThread {
ToastUtils.showToast("采集完成")
recognizeViewModel.onPreviewFrame(emptyFrame, true)
if (faceCount == 1) {
//数据库的第一条数据,刚采集完成
binding.dualCameraFaceRectView.clearFaceInfo()
recognizeViewModel.clearLeftFace(facePreviewInfoList)
binding.root.postDelayed({
isRecognition = true
}, 1500)
}
}
loadLogInfo("---------------------------------")
collectCount = 0
block()
@@ -79,10 +79,16 @@ class UserViewModel : BaseViewModel() {
return@launchWithLoading
}
val faceEntityList = list.map {
FaceEntity(it.userId, null, Base64.decode(it.faceFeatureStr))
FaceEntity(it.userId, null, Base64.decode(it.faceFeatureStr)).apply {
userType = if (it.isMember) "1" else "2"
}
}
withContext(Dispatchers.Default) {
faceApi.updateFaceData(pageNo, faceEntityList)
if (currentPageNo == 1) {
//第一页数据删除本地数据库
faceApi.clearFaceData()
}
faceApi.updateFaceData( pageNo, faceEntityList)
if (list.size >= pageSize) {
faceTimestamp = list.last().faceUpdateTimestamp ?: 0
currentPageNo++
@@ -103,6 +109,7 @@ class UserViewModel : BaseViewModel() {
private var faceTimestamp = 0L
/**
* 激活人脸识别引擎
*/