瀏覽代碼

添加指纹登录功能

Frankensteinly 8 月之前
父節點
當前提交
7a7bc96221
共有 1 個文件被更改,包括 25 次插入0 次删除
  1. 25 0
      app/src/main/java/com/grkj/iscs/view/presenter/LoginPresenter.kt

+ 25 - 0
app/src/main/java/com/grkj/iscs/view/presenter/LoginPresenter.kt

@@ -1,18 +1,22 @@
 package com.grkj.iscs.view.presenter
 package com.grkj.iscs.view.presenter
 
 
 import android.content.Context
 import android.content.Context
+import android.graphics.Bitmap
 import com.grkj.iscs.BusinessManager
 import com.grkj.iscs.BusinessManager
 import com.grkj.iscs.R
 import com.grkj.iscs.R
 import com.grkj.iscs.extentions.removeLeadingZeros
 import com.grkj.iscs.extentions.removeLeadingZeros
 import com.grkj.iscs.extentions.toHexStrings
 import com.grkj.iscs.extentions.toHexStrings
 import com.grkj.iscs.modbus.ModBusController
 import com.grkj.iscs.modbus.ModBusController
 import com.grkj.iscs.model.DeviceConst.DEVICE_TYPE_CARD
 import com.grkj.iscs.model.DeviceConst.DEVICE_TYPE_CARD
+import com.grkj.iscs.model.vo.FileStreamReqParam
 import com.grkj.iscs.model.vo.card.CardInfoRespVO
 import com.grkj.iscs.model.vo.card.CardInfoRespVO
 import com.grkj.iscs.model.vo.user.UserInfoRespVO
 import com.grkj.iscs.model.vo.user.UserInfoRespVO
+import com.grkj.iscs.util.CommonUtils
 import com.grkj.iscs.util.Executor
 import com.grkj.iscs.util.Executor
 import com.grkj.iscs.util.NetApi
 import com.grkj.iscs.util.NetApi
 import com.grkj.iscs.util.SPUtils
 import com.grkj.iscs.util.SPUtils
 import com.grkj.iscs.util.ToastUtils
 import com.grkj.iscs.util.ToastUtils
+import com.grkj.iscs.util.log.LogUtil
 import com.grkj.iscs.view.base.BasePresenter
 import com.grkj.iscs.view.base.BasePresenter
 import com.grkj.iscs.view.iview.ILoginView
 import com.grkj.iscs.view.iview.ILoginView
 
 
@@ -63,6 +67,27 @@ class LoginPresenter : BasePresenter<ILoginView>() {
         }
         }
     }
     }
 
 
+    fun fingerprintLogin(bitmap: Bitmap, callBack: (Boolean, CardInfoRespVO?, UserInfoRespVO?) -> Unit) {
+        NetApi.loginByFingerprint(mutableListOf(FileStreamReqParam("file", CommonUtils.bitmapToByteArray(bitmap), ".bmp"))) {
+            if (it) {
+                NetApi.getUserInfo { userInfo ->
+                    NetApi.getCardInfoByLoginUser { itInfo ->
+                        Executor.runOnMain {
+                            itInfo?.let { info ->
+                                SPUtils.setLoginUser(mContext!!, info)
+                            }
+                            callBack.invoke(it, itInfo, userInfo)
+                        }
+                    }
+                }
+            } else {
+                Executor.runOnMain {
+                    callBack.invoke(false, null, null)
+                }
+            }
+        }
+    }
+
     fun registerListener() {
     fun registerListener() {
         BusinessManager.registerStatusListener(this) { dockBean ->
         BusinessManager.registerStatusListener(this) { dockBean ->
             dockBean.deviceList.forEach { deviceBean ->
             dockBean.deviceList.forEach { deviceBean ->