From e7d5826a2a739ec4f14c6e19838fdae3598365a0 Mon Sep 17 00:00:00 2001 From: liyi Date: Sat, 8 Mar 2025 10:17:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0=E4=BA=BA=E8=84=B8?= =?UTF-8?q?=E8=93=9D=E7=89=99=E5=BA=94=E7=AD=94=E5=90=8E=E7=9A=84api?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common.js | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 84 insertions(+), 6 deletions(-) diff --git a/common.js b/common.js index 4323ad0..2e441ba 100644 --- a/common.js +++ b/common.js @@ -16,22 +16,32 @@ import { writeBLECharacteristicValue } from './uni/basic' import { - addCustomPasswordRequest, addFingerprintRequest, addIcCardRequest, - changeAdminKeyboardPwdRequest, clearAllFingerprint, clearAllIcCard, deleteFingerprintRequest, deleteIcCardRequest, + addCustomPasswordRequest, addFaceRequest, + addFingerprintRequest, + addIcCardRequest, + changeAdminKeyboardPwdRequest, clearAllFace, + clearAllFingerprint, + clearAllIcCard, + deleteFaceRequest, + deleteFingerprintRequest, + deleteIcCardRequest, deleteLockRequest, deletePasswordRequest, getLastRecordTimeRequest, getLockNetTokenRequest, getStarCloudToken, getUserNoListRequest, - updateElectricQuantityRequest, updateFingerprintRequest, updateIcCardRequest, + updateElectricQuantityRequest, + updateFaceRequest, + updateFingerprintRequest, + updateIcCardRequest, updateLockUserNoRequest, updatePasswordRequest, uploadRecordRequest } from './api' import { buildNumber, - emitRegisterCardConfirmEvent, + emitRegisterCardConfirmEvent, emitRegisterFaceConfirmEvent, emitRegisterFaceProcessEvent, emitRegisterFingerprintConfirmEvent, emitRegisterFingerprintProcessEvent, getStorage, setStorage, @@ -1003,7 +1013,6 @@ export async function parsingCharacteristicValue(binaryData) { } break; case subCmdIds.registerFingerprint: - console.log('注册指纹开始回调', decrypted) if (decrypted[2] === Result.Success.code) { // 锁版应答成功 switch (this.requestParams.operate) { @@ -1048,7 +1057,6 @@ export async function parsingCharacteristicValue(binaryData) { } break; case subCmdIds.registerFingerprintProcess: - console.log('注册指纹过程回调', decrypted) emitRegisterFingerprintProcessEvent({ status: decrypted[5], process: decrypted[6] @@ -1074,6 +1082,76 @@ export async function parsingCharacteristicValue(binaryData) { await this.disconnectDevice() } break; + case subCmdIds.registerFace: + if (decrypted[2] === Result.Success.code) { + // 锁版应答成功 + switch (this.requestParams.operate) { + case 0: + // 注册开始返回最大注册次数 + this.characteristicValueCallback(new Result(Result.Success.code, { + maxRegCount: decrypted[11], + }, Result.Success.message)) + await this.disconnectDevice() + break; + case 1: + // 修改 + const updateResult = await updateFaceRequest({ + ...this.requestParams, + faceId: this.requestParams.faceId, + faceRight: this.requestParams.isAdmin + }) + this.characteristicValueCallback(updateResult) + await this.disconnectDevice() + break; + case 2: + // 删除 + const deleteResult = await deleteFaceRequest({ + faceId: this.requestParams.faceId, + lockId: this.lockInfo.lockId, + }) + this.characteristicValueCallback(deleteResult) + await this.disconnectDevice() + break; + case 3: + // 删除全部 + const deleteAllResult = await clearAllFace({ + lockId: this.lockInfo.lockId, + }) + this.characteristicValueCallback(deleteAllResult) + await this.disconnectDevice() + break; + default: + this.characteristicValueCallback(new Result(decrypted[2])) + break; + } + } + break; + case subCmdIds.registerFaceProcess: + emitRegisterFaceProcessEvent({ + status: decrypted[5], + process: decrypted[6] + }) + break; + case subCmdIds.registerFaceConfirm: + if (this.requestParams.operate === 0) { + const addResult = await addFaceRequest({ + ...this.requestParams, + isCoerced: this.requestParams.isForce, + fingerRight: this.requestParams.isAdmin, + lockId: this.lockInfo.lockId, + faceNumber: this.requestParams.no || this.requestParams.faceNumber, + faceUserNo: this.requestParams.faceUserNo + }) + if (addResult.code === Result.Success.code) { + // 增加返回一个序号 + addResult.data.faceNumber = decrypted[9] * 256 + decrypted[10]; + } + // 触发事件 + emitRegisterFaceConfirmEvent(addResult) + // 断开蓝牙连接 + await this.disconnectDevice() + } + break; default: break }