From 582be4e9b7289358fcdafa21695d9c64fd1c99f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E5=A2=9E=E9=A3=9E?= <331023091@qq.com> Date: Mon, 5 Jan 2026 18:38:10 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=91=E5=AE=9A=E8=A7=A3=E7=BB=91=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E8=B0=83=E8=AF=95=EF=BC=9B=E5=85=B6=E5=AE=83=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sw/platecabinet/activity/BaseActivity.kt | 84 +++++++++++-------- .../activity/DeviceInitActivity.kt | 2 + .../fragment/BindPlateFragment.kt | 68 +++++++++------ .../fragment/UnBindPlateFragment.kt | 2 +- .../com/sw/platecabinet/model/ErrorInfo.kt | 2 +- .../platecabinet/model/request/BindParam.kt | 3 +- .../platecabinet/model/request/LoginParam.kt | 3 +- .../platecabinet/model/request/SearchParam.kt | 44 +++++----- .../model/response/EquipmentUserInfo.kt | 4 +- .../model/response/SearchResult.kt | 1 + .../model/response/UserFaceModel.kt | 2 +- .../sw/platecabinet/network/api/ApiService.kt | 9 +- .../repository/RemoteRepository.kt | 4 +- .../viewmodel/SettingViewModel.kt | 33 +++++--- .../platecabinet/viewmodel/UserViewModel.kt | 14 +++- .../main/res/layout/fragment_bind_plate.xml | 3 +- 16 files changed, 170 insertions(+), 108 deletions(-) diff --git a/app/src/main/java/com/sw/platecabinet/activity/BaseActivity.kt b/app/src/main/java/com/sw/platecabinet/activity/BaseActivity.kt index 39f17d7..3c4f449 100644 --- a/app/src/main/java/com/sw/platecabinet/activity/BaseActivity.kt +++ b/app/src/main/java/com/sw/platecabinet/activity/BaseActivity.kt @@ -200,10 +200,10 @@ abstract class BaseActivity : AppCompatActivity() { private fun disableSystemUICompletely() { Timber.d("disableSystemUICompletely") // 禁用系统手势(Android 10+) -// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { -// window.insetsController?.systemBarsBehavior = -// WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE -// } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + window.insetsController?.systemBarsBehavior = + WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE + } // 全屏+隐藏导航栏(所有版本通用) @@ -307,7 +307,7 @@ abstract class BaseActivity : AppCompatActivity() { // } } - private fun loadEquipmentList(items:List) { + private fun loadEquipmentList(items: List) { if (items.isEmpty()) return val unbindList = items.filter { !it.isBound() } if (unbindList.isEmpty()) { @@ -331,7 +331,7 @@ abstract class BaseActivity : AppCompatActivity() { open fun handleLoginSuccess(equipmentUserInfo: EquipmentUserInfo, isAdmin: Boolean) { Timber.d("handleLoginSuccess isAdmin = $isAdmin") equipmentUserInfo.isIntercept = false - val cardBalance = equipmentUserInfo.cardBalance?:0.toDouble() + val cardBalance = equipmentUserInfo.cardBalance ?: 0.toDouble() val balanceIsNotEnough = cardBalance <= 0.toDouble() if (balanceIsNotEnough && equipmentUserInfo.showBalanceNotEnoughDialog) { //提示余额不足弹窗 @@ -340,15 +340,15 @@ abstract class BaseActivity : AppCompatActivity() { return } viewModel.resetUserInfo() - if (equipmentUserInfo.isOtherEquipment()) { - MainActivity.start( - context, - pageType = PageType.PLATE_TIP, - equipmentUserInfo = equipmentUserInfo, - isAdmin - ) - return - } +// if (equipmentUserInfo.isOtherEquipment()) { +// MainActivity.start( +// context, +// pageType = PageType.PLATE_TIP, +// equipmentUserInfo = equipmentUserInfo, +// isAdmin +// ) +// return +// } if (equipmentUserInfo.equipmentBoxCode?.isNotEmpty() == true) { SerialApi.openPlate( equipmentUserInfo.equipmentBoxCode!!.toInt(), @@ -367,7 +367,7 @@ abstract class BaseActivity : AppCompatActivity() { }) } else { if (isAdmin) { - settingViewModel.getEquipmentList{ + settingViewModel.getEquipmentList { loadEquipmentList(it) } } else { @@ -394,31 +394,47 @@ abstract class BaseActivity : AppCompatActivity() { // private val initialDelay = 5 * 60 * 1000L // private val dealyMillis = 10 * 60 * 1000L - private val initialDelay = 60 * 1000L - private val dealyMillis = 30 * 1000L + private val initialDelay = 1 * 60 * 1000L + private val dealyMillis = 1 * 60 * 1000L private var taskPageNo = 1 fun startFaceTask() { faceTaskJob = intervalExecutor.startIntervalTaskWithInitialDelay(initialDelay, dealyMillis) { - val timestamp = SpTool.getLastFaceTimestamp() - if (timestamp == 0L) { - return@startIntervalTaskWithInitialDelay - } - settingViewModel.getFaceIncrementList( - pageNo = taskPageNo, - timestamp = timestamp - ) { list -> - runOnUiThread { - if (list.isEmpty()) { - return@runOnUiThread - } - SpTool.setLastFaceTimestamp(System.currentTimeMillis()) - updateFaceData(list) - } - } + getFaceIncrementList() } } + private var faceTimestamp = 0L + + private fun getFaceIncrementList() { + val timestamp = SpTool.getLastFaceTimestamp() + if (timestamp == 0L) { + return + } + settingViewModel.getFaceIncrementList( + pageNo = taskPageNo, + timestamp = timestamp + ) { list -> + runOnUiThread { + if (taskPageNo == 1 && list.isEmpty()) { + //未查询到增量数据 + return@runOnUiThread + } + updateFaceData(list) + if (list.size >= settingViewModel.PAGE_SIZE) { + faceTimestamp = list.last().faceUpdateTimestamp?:0 + taskPageNo++ + getFaceIncrementList() + return@runOnUiThread + } + if (list.isNotEmpty()) { + faceTimestamp = list.last().faceUpdateTimestamp?:0 + } + SpTool.setLastFaceTimestamp(faceTimestamp) + } + } + } + private val recognizeViewModel by viewModels() private fun updateFaceData(list: List) { Thread { diff --git a/app/src/main/java/com/sw/platecabinet/activity/DeviceInitActivity.kt b/app/src/main/java/com/sw/platecabinet/activity/DeviceInitActivity.kt index f6bde28..f3bd5a4 100644 --- a/app/src/main/java/com/sw/platecabinet/activity/DeviceInitActivity.kt +++ b/app/src/main/java/com/sw/platecabinet/activity/DeviceInitActivity.kt @@ -51,6 +51,8 @@ class DeviceInitActivity : BaseActivity() { if (deviceConfig == null) { hideWaitingDialog() ToastUtils.showToast("获取设备配置数据失败") + hideWaitingDialog() + goLoginActivity() return@runOnUiThread } GlobalData.appId = deviceConfig.arcsoftAppId ?: "" diff --git a/app/src/main/java/com/sw/platecabinet/fragment/BindPlateFragment.kt b/app/src/main/java/com/sw/platecabinet/fragment/BindPlateFragment.kt index 84a946f..8a29a2f 100644 --- a/app/src/main/java/com/sw/platecabinet/fragment/BindPlateFragment.kt +++ b/app/src/main/java/com/sw/platecabinet/fragment/BindPlateFragment.kt @@ -1,5 +1,6 @@ package com.sw.platecabinet.fragment +import android.annotation.SuppressLint import android.os.Bundle import android.text.Editable import android.text.TextUtils @@ -60,13 +61,18 @@ class BindPlateFragment : BaseFragment( } } + @SuppressLint("SetTextI18n") override fun initialize() { - arguments?.let { - info = it.getParcelable(KEY_ACTION_TYPE) + arguments?.let { args -> + info = args.getParcelable(KEY_ACTION_TYPE) info?.let { binding.tvNum.text = "${it.equipmentName}-${it.equipmentBoxCode}" if (!TextUtils.isEmpty(it.plateNumber)) { - binding.etCode.text = Editable.Factory.getInstance().newEditable(it.plateNumber) +// binding.etCode.text = Editable.Factory.getInstance().newEditable(it.plateNumber) + binding.etCode.apply { + setText(it.plateNumber) + setSelection(length()) + } } } } @@ -104,13 +110,27 @@ class BindPlateFragment : BaseFragment( } }) (activity as MainActivity).registerKeyEventInfo { - if (binding.etUserInfo.isFocused) return@registerKeyEventInfo - binding.etCode.text.clear() - binding.etCode.postDelayed({ - binding.etCode.text.clear() - binding.etCode.text = Editable.Factory.getInstance().newEditable(it) - binding.etUserInfo.requestFocus() - }, 50) +// binding.etCode.text.clear() +// binding.etCode.postDelayed({ +// binding.etCode.text.clear() +// binding.etCode.text = Editable.Factory.getInstance().newEditable(it) + activity?.runOnUiThread { + if (binding.etUserInfo.isFocused) { + return@runOnUiThread + } + binding.etCode.apply { + if (it.length > 6) { + setText(it.substring(0, 6)) + } else { + setText(it) + } + if (length() > 0) { + setSelection(length()) + } + } + binding.etUserInfo.requestFocus() + } +// }, 50) } } @@ -191,10 +211,10 @@ class BindPlateFragment : BaseFragment( return@setOnClickListener } val bindParam = BindParam( - equipmentId = info!!.equipmentId, - equipmentCode = info!!.equipmentCode!!, - equipmentBoxCode = info!!.equipmentBoxCode!!, - memberId = checkedItem!!.id!!, + equipmentId = info?.equipmentId, + equipmentCode = info?.equipmentCode, + equipmentBoxCode = info?.equipmentBoxCode, + faceId = checkedItem?.faceId, plateNumber = plateNumber ) viewModel.bindPlate(bindParam) { pair -> @@ -242,7 +262,7 @@ class BindPlateFragment : BaseFragment( //TODO 调用接口查询用户是否已绑盘 this@BindPlateFragment.equipmentBoxCode = null (activity as? MainActivity)?.showWaitingDialog("查询中,请稍后……") - userViewModel.getUserInfoById(memberId = item.id) { + userViewModel.getUserInfoById(memberId = item.faceId) { (activity as? MainActivity)?.hideWaitingDialog() this@BindPlateFragment.equipmentBoxCode = it?.equipmentBoxCode } @@ -269,14 +289,14 @@ class BindPlateFragment : BaseFragment( ToastUtils.showToast("数据异常") return } - if (errorInfo.equipmentUserInfo.isOtherEquipment()) { - MainActivity.start( - requireContext(), - pageType = PageType.PLATE_TIP, - equipmentUserInfo = errorInfo.equipmentUserInfo, - isAdmin = true - ) - } else { +// if (errorInfo.equipmentUserInfo.isOtherEquipment()) { +// MainActivity.start( +// requireContext(), +// pageType = PageType.PLATE_TIP, +// equipmentUserInfo = errorInfo.equipmentUserInfo, +// isAdmin = true +// ) +// } else { SerialApi.openPlate( errorInfo.equipmentUserInfo.equipmentBoxCode!!.toInt(), object : SerialPortManager.SendCallback { @@ -289,7 +309,7 @@ class BindPlateFragment : BaseFragment( ToastUtils.showToast("绑定失败") } }) - } +// } } else { ToastUtils.showToast(errorInfo.msg) } diff --git a/app/src/main/java/com/sw/platecabinet/fragment/UnBindPlateFragment.kt b/app/src/main/java/com/sw/platecabinet/fragment/UnBindPlateFragment.kt index bb51b26..dad507b 100644 --- a/app/src/main/java/com/sw/platecabinet/fragment/UnBindPlateFragment.kt +++ b/app/src/main/java/com/sw/platecabinet/fragment/UnBindPlateFragment.kt @@ -39,7 +39,7 @@ class UnBindPlateFragment private constructor() : BaseFragment if (result.resultCode == Activity.RESULT_OK) { - viewModel.unbindPlate(info!!.id!!) { pair -> + viewModel.unbindPlate(info?.id) { pair -> updateBindState(pair) } } diff --git a/app/src/main/java/com/sw/platecabinet/model/ErrorInfo.kt b/app/src/main/java/com/sw/platecabinet/model/ErrorInfo.kt index aa31d3c..b857e4c 100644 --- a/app/src/main/java/com/sw/platecabinet/model/ErrorInfo.kt +++ b/app/src/main/java/com/sw/platecabinet/model/ErrorInfo.kt @@ -6,7 +6,7 @@ import com.sw.platecabinet.model.response.EquipmentUserInfo * 错误信息 code == 200 成功 */ data class ErrorInfo( - val code: String = "200", + val code: String = "00000", val msg: String = "", val equipmentUserInfo: EquipmentUserInfo? = null ) { diff --git a/app/src/main/java/com/sw/platecabinet/model/request/BindParam.kt b/app/src/main/java/com/sw/platecabinet/model/request/BindParam.kt index 0a70260..a33de8f 100644 --- a/app/src/main/java/com/sw/platecabinet/model/request/BindParam.kt +++ b/app/src/main/java/com/sw/platecabinet/model/request/BindParam.kt @@ -18,7 +18,7 @@ data class BindParam( /** * 设备编号 */ - var equipmentCode: String = "", + var equipmentCode: String? = "", /** *设备盒子编号 */ @@ -28,6 +28,7 @@ data class BindParam( * 会员Id */ val memberId: String? = null, + val faceId: String? = null, /** *餐盘编号 */ diff --git a/app/src/main/java/com/sw/platecabinet/model/request/LoginParam.kt b/app/src/main/java/com/sw/platecabinet/model/request/LoginParam.kt index c5dbf79..6e923e9 100644 --- a/app/src/main/java/com/sw/platecabinet/model/request/LoginParam.kt +++ b/app/src/main/java/com/sw/platecabinet/model/request/LoginParam.kt @@ -17,7 +17,8 @@ data class LoginParam( /** * 会员信息 */ - val memberId: String? = null, +// val memberId: String? = null, + val faceId: String? = null, /** * 密码 */ diff --git a/app/src/main/java/com/sw/platecabinet/model/request/SearchParam.kt b/app/src/main/java/com/sw/platecabinet/model/request/SearchParam.kt index 0d66386..86f32cf 100644 --- a/app/src/main/java/com/sw/platecabinet/model/request/SearchParam.kt +++ b/app/src/main/java/com/sw/platecabinet/model/request/SearchParam.kt @@ -10,25 +10,27 @@ import kotlinx.parcelize.Parcelize */ @Parcelize data class SearchParam( - /** - * app版本号 - */ - var appVersion: String = "", - /** - * 设备ID - */ - @SerializedName("equipmentCode") - var equipmentCode: String = "", - @SerializedName("consumptionTime") - val consumptionTime: List? = listOf(), - @SerializedName("createTime") - val createTime: List? = listOf(), - @SerializedName("memberFrom") - val memberFrom: Int? = 0, - @SerializedName("pageNum") - val pageNum: Int? = 0, - @SerializedName("pageSize") - val pageSize: Int? = 0, - @SerializedName("param") - val `param`: String? = "" +// /** +// * app版本号 +// */ +// var appVersion: String = "", +// /** +// * 设备ID +// */ +// @SerializedName("equipmentCode") +// var equipmentCode: String = "", +// @SerializedName("consumptionTime") +// val consumptionTime: List? = listOf(), +// @SerializedName("createTime") +// val createTime: List? = listOf(), +// @SerializedName("memberFrom") +// val memberFrom: Int? = 0, +// @SerializedName("pageNum") + var pageNum: Int? = 0, +// @SerializedName("pageSize") + var pageSize: Int? = 0, +// @SerializedName("param") +// val `param`: String? = "", + var name:String?=null, + var phone:String?=null ) : Parcelable \ No newline at end of file diff --git a/app/src/main/java/com/sw/platecabinet/model/response/EquipmentUserInfo.kt b/app/src/main/java/com/sw/platecabinet/model/response/EquipmentUserInfo.kt index 4787a8c..5801b86 100644 --- a/app/src/main/java/com/sw/platecabinet/model/response/EquipmentUserInfo.kt +++ b/app/src/main/java/com/sw/platecabinet/model/response/EquipmentUserInfo.kt @@ -31,7 +31,7 @@ data class EquipmentUserInfo( /** * 会员Id */ - val memberId: String? = "", + val faceId: String? = "", /** * 餐盘编号 */ @@ -70,7 +70,7 @@ data class EquipmentUserInfo( * 是否已绑定 */ fun isBound(): Boolean { - return memberId != null + return faceId != null } /** diff --git a/app/src/main/java/com/sw/platecabinet/model/response/SearchResult.kt b/app/src/main/java/com/sw/platecabinet/model/response/SearchResult.kt index d356f7a..4ee8dca 100644 --- a/app/src/main/java/com/sw/platecabinet/model/response/SearchResult.kt +++ b/app/src/main/java/com/sw/platecabinet/model/response/SearchResult.kt @@ -78,6 +78,7 @@ data class SearchResult( // @SerializedName("topUpBalance") // val topUpBalance: String? = "" val id: String? = "", + val faceId: String? = "", val name: String? = "", val phone: String? = "", ) : Parcelable diff --git a/app/src/main/java/com/sw/platecabinet/model/response/UserFaceModel.kt b/app/src/main/java/com/sw/platecabinet/model/response/UserFaceModel.kt index 53f7eb6..2ed0dd4 100644 --- a/app/src/main/java/com/sw/platecabinet/model/response/UserFaceModel.kt +++ b/app/src/main/java/com/sw/platecabinet/model/response/UserFaceModel.kt @@ -25,6 +25,6 @@ data class UserFaceModel( val userId: String? = "", val faceFeatureStr: String? = "", - + val faceUpdateTimestamp:Long?=null, val faceDeleted: Boolean?=false ) : Parcelable \ No newline at end of file diff --git a/app/src/main/java/com/sw/platecabinet/network/api/ApiService.kt b/app/src/main/java/com/sw/platecabinet/network/api/ApiService.kt index 29f638d..453dccb 100644 --- a/app/src/main/java/com/sw/platecabinet/network/api/ApiService.kt +++ b/app/src/main/java/com/sw/platecabinet/network/api/ApiService.kt @@ -13,6 +13,7 @@ import com.sw.platecabinet.model.response.SearchResult import com.sw.platecabinet.model.response.UserFaceModel import retrofit2.http.Body import retrofit2.http.Field +import retrofit2.http.FormUrlEncoded import retrofit2.http.GET import retrofit2.http.Header import retrofit2.http.POST @@ -118,9 +119,10 @@ interface ApiService { * 餐盘解绑 */ @POST + @FormUrlEncoded suspend fun plateUnbind( @Url url: String = "${GlobalData.appBaseUrl}/terminal/neglect/sideboard/app/plateUnbind", - @Field("id") id: Long + @Field("id") id: Long? ): ApiResponse /** @@ -128,9 +130,10 @@ interface ApiService { */ @POST//("/shuwei-user/swclientUserInfoShop/selectList") suspend fun searchUser( - @Url url: String = "${GlobalData.appBaseUrl}/shuwei-user/swclientUserInfoShop/selectList", +// @Url url: String = "${GlobalData.appBaseUrl}/shuwei-user/swclientUserInfoShop/selectList", + @Url url: String = "${GlobalData.appBaseUrl}/terminal/neglect/common/app/getUserInfoByNameOrPhone", @Body param: SearchParam - ): ApiResponse + ): ApiResponse?> // /** // * 通过餐盘号获取信息 diff --git a/app/src/main/java/com/sw/platecabinet/repository/RemoteRepository.kt b/app/src/main/java/com/sw/platecabinet/repository/RemoteRepository.kt index f1762ef..cd99bf5 100644 --- a/app/src/main/java/com/sw/platecabinet/repository/RemoteRepository.kt +++ b/app/src/main/java/com/sw/platecabinet/repository/RemoteRepository.kt @@ -98,14 +98,14 @@ class RemoteRepository constructor( return safeApiCall { apiService.plateBind(param = param) } } - suspend fun plateUnbind(id: Long ): ApiResponse { + suspend fun plateUnbind(id: Long?): ApiResponse { return safeApiCall { apiService.plateUnbind(id = id) } } /** * 用户信息模糊搜索 */ - suspend fun searchUser(param: SearchParam): ApiResponse { + suspend fun searchUser(param: SearchParam): ApiResponse?> { return safeApiCall { apiService.searchUser(param = param) } } diff --git a/app/src/main/java/com/sw/platecabinet/viewmodel/SettingViewModel.kt b/app/src/main/java/com/sw/platecabinet/viewmodel/SettingViewModel.kt index 9a7ba76..d8c16de 100644 --- a/app/src/main/java/com/sw/platecabinet/viewmodel/SettingViewModel.kt +++ b/app/src/main/java/com/sw/platecabinet/viewmodel/SettingViewModel.kt @@ -1,5 +1,6 @@ package com.sw.platecabinet.viewmodel +import android.text.TextUtils import com.sw.inbound.utils.DateTimeUtils import com.sw.platecabinet.GlobalData import com.sw.platecabinet.GlobalData.globalEquipmentCode @@ -73,28 +74,36 @@ class SettingViewModel : BaseViewModel() { /** * 搜索会员信息列表 */ - fun getSearchMemberList(param: String, pageNum: Int = 1, pageSize: Int = 50) { + fun getSearchMemberList(param:String, pageNum: Int = 1, pageSize: Int = 50) { + if (TextUtils.isEmpty(param)) return currentPage = pageNum + var name ="" + var phone ="" + val num = param.toIntOrNull() + if (num != null) { + phone = param + } else { + name = param + } launch { - val param = SearchParam( - appVersion = GlobalData.appVersion, - param = param, + val searchParam = SearchParam( +// appVersion = GlobalData.appVersion, + name = name, + phone = phone, pageNum = pageNum, pageSize = pageSize ) isLoading = true - val response = repository.searchUser(param) + val response = repository.searchUser(searchParam) isLoading = false if (parseResponse(response)) { - response.data?.let { - canLoadMore = it.hasNextPage != false - val newList = it.list ?: emptyList() + response.data?.let { list -> if (pageNum == 1) { - _searchMemberList.value = newList + _searchMemberList.value = list } else { - _searchMemberList.value = _searchMemberList.value.plus(newList) + _searchMemberList.value = _searchMemberList.value.plus(list) } - currentPage++ + if (list.size >= pageSize) currentPage++ } } } @@ -149,7 +158,7 @@ class SettingViewModel : BaseViewModel() { // } // } - fun unbindPlate(id: Long, block:(Pair)-> Unit) { + fun unbindPlate(id: Long?, block:(Pair)-> Unit) { block(null to ErrorInfo()) launchWithLoading { val response = repository.plateUnbind(id) diff --git a/app/src/main/java/com/sw/platecabinet/viewmodel/UserViewModel.kt b/app/src/main/java/com/sw/platecabinet/viewmodel/UserViewModel.kt index 855b0a7..00ff265 100644 --- a/app/src/main/java/com/sw/platecabinet/viewmodel/UserViewModel.kt +++ b/app/src/main/java/com/sw/platecabinet/viewmodel/UserViewModel.kt @@ -66,26 +66,32 @@ class UserViewModel : BaseViewModel() { // 获取成功一次后缓存状态 SPUtil.getInstance().put(GlobalKey.KEY_FIRST_RUN, true) val list: List = response.data ?: emptyList() - if (list.isEmpty()) { + if (pageNo==1&&list.isEmpty()) { return@launchWithLoading } - - SpTool.setLastFaceTimestamp(System.currentTimeMillis()) val faceEntityList = list.map { FaceEntity(it.userId, null, Base64.decode(it.faceFeatureStr)) } withContext(Dispatchers.Default) { faceApi.updateFaceData(pageNo, faceEntityList) if (list.size >= pageSize) { + faceTimestamp = list.last().faceUpdateTimestamp?:0 currentPageNo++ getUserFaceCache(currentPageNo) + return@withContext } + if (list.isNotEmpty()) { + faceTimestamp = list.last().faceUpdateTimestamp?:0 + } + SpTool.setLastFaceTimestamp(faceTimestamp) //activeEngine() } } } } + private var faceTimestamp = 0L + /** * 激活人脸识别引擎 */ @@ -144,7 +150,7 @@ class UserViewModel : BaseViewModel() { fun getUserInfoById(memberId: String?, action:(EquipmentUserInfo?)->Unit={}) { _currentUserInfo.value = null launchWithLoading { - val loginParam = LoginParam(memberId = memberId) + val loginParam = LoginParam(faceId = memberId) val response = repository.equipmentBoxLogin(loginParam) if (parseResponse(response)) { _currentUserInfo.value = response.data diff --git a/app/src/main/res/layout/fragment_bind_plate.xml b/app/src/main/res/layout/fragment_bind_plate.xml index 4a783a3..f6ee20e 100644 --- a/app/src/main/res/layout/fragment_bind_plate.xml +++ b/app/src/main/res/layout/fragment_bind_plate.xml @@ -7,7 +7,8 @@ android:gravity="center_horizontal" android:orientation="vertical" android:paddingHorizontal="60dp" - tools:context=".fragment.BindPlateFragment"> + tools:context=".fragment.BindPlateFragment" + tools:background="@color/black">