feat:增加掌静脉相关功能
This commit is contained in:
parent
ed52a5b901
commit
7f498b6b62
105
api.js
105
api.js
@ -455,6 +455,7 @@ export function addFaceRequest(data) {
|
|||||||
/**
|
/**
|
||||||
* 人脸-更新(永久/限时/单次/循环)
|
* 人脸-更新(永久/限时/单次/循环)
|
||||||
*
|
*
|
||||||
|
* @param data.lockId 锁id(必填)
|
||||||
* @param data.faceId 人脸id(必填)
|
* @param data.faceId 人脸id(必填)
|
||||||
* @param data.faceType 人脸类型(必填)
|
* @param data.faceType 人脸类型(必填)
|
||||||
* @param data.faceName 人脸昵称
|
* @param data.faceName 人脸昵称
|
||||||
@ -528,4 +529,108 @@ export function getFaceListRequest(data) {
|
|||||||
method: 'POST',
|
method: 'POST',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 掌静脉-添加(永久/限时/循环)
|
||||||
|
*
|
||||||
|
* @param data.lockId 锁id
|
||||||
|
* @param data.palmVeinType 掌静脉类型
|
||||||
|
* @param data.addType 新增类型,1蓝牙,2远程,3发卡器
|
||||||
|
* @param data.palmVeinName 掌静脉昵称
|
||||||
|
* @param data.palmVeinNumber 掌静脉序号
|
||||||
|
* @param data.startDate 开始时间
|
||||||
|
* @param data.endDate 结束时间
|
||||||
|
* @param data.weekDay 循环周期
|
||||||
|
* @param data.isCoerced 是否胁迫卡
|
||||||
|
* @param data.palmVeinRight 是否授权管理员
|
||||||
|
* @param data.palmVeinUserNo 掌静脉UserNo
|
||||||
|
* @returns {Promise<unknown>}
|
||||||
|
*/
|
||||||
|
export function addPalmVeinRequest(data) {
|
||||||
|
return request({
|
||||||
|
url: '/v1/palmVein/add',
|
||||||
|
method: 'POST',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 掌静脉-更新
|
||||||
|
*
|
||||||
|
* @param data.lockId 锁id
|
||||||
|
* @param data.palmVeinId 掌静脉id(必填)
|
||||||
|
* @param data.palmVeinType 掌静脉类型(必填)
|
||||||
|
* @param data.palmVeinName 掌静脉昵称
|
||||||
|
* @param data.startDate 开始时间
|
||||||
|
* @param data.endDate 结束时间
|
||||||
|
* @param data.weekDay 循环周期
|
||||||
|
* @param data.palmVeinRight 是否授权管理员
|
||||||
|
* @param data.isCoerced 胁迫掌静脉,1-胁迫人脸,2-非胁迫人脸
|
||||||
|
* @returns {Promise<unknown>}
|
||||||
|
*/
|
||||||
|
export function updatePalmVeinRequest(data) {
|
||||||
|
return request({
|
||||||
|
url: '/v1/palmVein/update',
|
||||||
|
method: 'POST',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 掌静脉-删除
|
||||||
|
* @param data.lockId 锁id
|
||||||
|
* @param data.palmVeinId 掌静脉id
|
||||||
|
* @returns {Promise<unknown>}
|
||||||
|
*/
|
||||||
|
export function deletePalmVeinRequest(data) {
|
||||||
|
return request({
|
||||||
|
url: '/v1/palmVein/delete',
|
||||||
|
method: 'POST',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除所有掌静脉
|
||||||
|
* @param data.lockId 锁id
|
||||||
|
* @returns {Promise<unknown>}
|
||||||
|
*/
|
||||||
|
export function clearAllPalmVein(data) {
|
||||||
|
return request({
|
||||||
|
url: '/v1/palmVein/clear',
|
||||||
|
method: 'POST',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检查人脸姓名是否重复
|
||||||
|
* @param data.lockId 锁id
|
||||||
|
* @param data.palmVeinName 卡姓名
|
||||||
|
* @returns {Promise<unknown>}
|
||||||
|
*/
|
||||||
|
export function checkRepeatPalmVeinName(data) {
|
||||||
|
return request({
|
||||||
|
url: '/v1/palmVein/checkPalmVeinName',
|
||||||
|
method: 'POST',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取掌静脉列表
|
||||||
|
* @param data.lockId 锁id
|
||||||
|
* @param data.pageNo 页码(选填)
|
||||||
|
* @param data.pageSize 每页显示数(选填)
|
||||||
|
* @returns {Promise<unknown>}
|
||||||
|
*/
|
||||||
|
export function getPalmVeinListRequest(data) {
|
||||||
|
return request({
|
||||||
|
url: '/v1/palmVein/list',
|
||||||
|
method: 'POST',
|
||||||
|
data
|
||||||
|
})
|
||||||
}
|
}
|
||||||
77
common.js
77
common.js
@ -18,14 +18,14 @@ import {
|
|||||||
import {
|
import {
|
||||||
addCustomPasswordRequest, addFaceRequest,
|
addCustomPasswordRequest, addFaceRequest,
|
||||||
addFingerprintRequest,
|
addFingerprintRequest,
|
||||||
addIcCardRequest,
|
addIcCardRequest, addPalmVeinRequest,
|
||||||
changeAdminKeyboardPwdRequest, clearAllFace,
|
changeAdminKeyboardPwdRequest, clearAllFace,
|
||||||
clearAllFingerprint,
|
clearAllFingerprint,
|
||||||
clearAllIcCard,
|
clearAllIcCard, clearAllPalmVein,
|
||||||
deleteFaceRequest,
|
deleteFaceRequest,
|
||||||
deleteFingerprintRequest,
|
deleteFingerprintRequest,
|
||||||
deleteIcCardRequest,
|
deleteIcCardRequest,
|
||||||
deleteLockRequest,
|
deleteLockRequest, deletePalmVeinRequest,
|
||||||
deletePasswordRequest,
|
deletePasswordRequest,
|
||||||
getLastRecordTimeRequest,
|
getLastRecordTimeRequest,
|
||||||
getLockNetTokenRequest,
|
getLockNetTokenRequest,
|
||||||
@ -35,14 +35,14 @@ import {
|
|||||||
updateFaceRequest,
|
updateFaceRequest,
|
||||||
updateFingerprintRequest,
|
updateFingerprintRequest,
|
||||||
updateIcCardRequest,
|
updateIcCardRequest,
|
||||||
updateLockUserNoRequest,
|
updateLockUserNoRequest, updatePalmVeinRequest,
|
||||||
updatePasswordRequest,
|
updatePasswordRequest,
|
||||||
uploadRecordRequest
|
uploadRecordRequest
|
||||||
} from './api'
|
} from './api'
|
||||||
import {
|
import {
|
||||||
buildNumber,
|
buildNumber,
|
||||||
emitRegisterCardConfirmEvent, emitRegisterFaceConfirmEvent, emitRegisterFaceProcessEvent,
|
emitRegisterCardConfirmEvent, emitRegisterFaceConfirmEvent, emitRegisterFaceProcessEvent,
|
||||||
emitRegisterFingerprintConfirmEvent, emitRegisterFingerprintProcessEvent,
|
emitRegisterFingerprintConfirmEvent, emitRegisterFingerprintProcessEvent, emitRegisterPalmVeinConfirmEvent,
|
||||||
getStorage,
|
getStorage,
|
||||||
setStorage,
|
setStorage,
|
||||||
version
|
version
|
||||||
@ -1152,6 +1152,73 @@ export async function parsingCharacteristicValue(binaryData) {
|
|||||||
await this.disconnectDevice()
|
await this.disconnectDevice()
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case subCmdIds.registerPalmVein:
|
||||||
|
if (decrypted[2] === Result.Success.code) {
|
||||||
|
// 锁版应答成功
|
||||||
|
switch (this.requestParams.operate) {
|
||||||
|
case 1:
|
||||||
|
// 修改
|
||||||
|
const updateResult = await updatePalmVeinRequest({
|
||||||
|
...this.requestParams,
|
||||||
|
palmVeinId: this.requestParams.palmVeinId,
|
||||||
|
palmVeinRight: this.requestParams.isAdmin,
|
||||||
|
lockId: this.lockInfo.lockId,
|
||||||
|
palmVeinNumber: this.requestParams.palmVeinNumber,
|
||||||
|
palmVeinType: this.requestParams.palmVeinType,
|
||||||
|
palmVeinNo: this.requestParams.palmVeinNo
|
||||||
|
})
|
||||||
|
this.characteristicValueCallback(updateResult)
|
||||||
|
await this.disconnectDevice()
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
// 删除
|
||||||
|
const deleteResult = await deletePalmVeinRequest({
|
||||||
|
palmVeinId: this.requestParams.palmVeinId,
|
||||||
|
lockId: this.lockInfo.lockId,
|
||||||
|
})
|
||||||
|
this.characteristicValueCallback(deleteResult)
|
||||||
|
await this.disconnectDevice()
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
// 删除全部
|
||||||
|
const deleteAllResult = await clearAllPalmVein({
|
||||||
|
lockId: this.lockInfo.lockId,
|
||||||
|
})
|
||||||
|
this.characteristicValueCallback(deleteAllResult)
|
||||||
|
await this.disconnectDevice()
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
this.characteristicValueCallback(new Result(decrypted[2]))
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case subCmdIds.registerPalmVeinConfirm:
|
||||||
|
// 收到锁版回复判断操作类型进行对应api操作
|
||||||
|
if (decrypted[2] === Result.Success.code) {
|
||||||
|
switch (this.requestParams.operate) {
|
||||||
|
case 0:
|
||||||
|
// 注册
|
||||||
|
const addResult = await addPalmVeinRequest({
|
||||||
|
...this.requestParams,
|
||||||
|
isCoerced: this.requestParams.isForce,
|
||||||
|
palmVeinRight: this.requestParams.isAdmin,
|
||||||
|
lockId: this.lockInfo.lockId,
|
||||||
|
palmVeinNumber: this.requestParams.palmVeinNumber,
|
||||||
|
palmVeinUserNo: this.requestParams.palmVeinUserNo
|
||||||
|
})
|
||||||
|
if (addResult.code === Result.Success.code) {
|
||||||
|
// 增加返回一个卡序号
|
||||||
|
addResult.data.palmVeinNumber = decrypted[6] * 256 + decrypted[7];
|
||||||
|
}
|
||||||
|
// 触发卡片确认事件
|
||||||
|
emitRegisterPalmVeinConfirmEvent(addResult)
|
||||||
|
// 断开蓝牙连接
|
||||||
|
await this.disconnectDevice()
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|||||||
@ -76,6 +76,8 @@ export const eventKeys = {
|
|||||||
registerFaceProcess: 'registerFaceProcess',
|
registerFaceProcess: 'registerFaceProcess',
|
||||||
// 注册人脸确认
|
// 注册人脸确认
|
||||||
registerFaceConfirm: 'registerFaceConfirm',
|
registerFaceConfirm: 'registerFaceConfirm',
|
||||||
|
// 注册掌纹确认
|
||||||
|
registerPalmVeinConfirm: 'registerPalmVeinConfirm',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
18
export.js
18
export.js
@ -1,13 +1,13 @@
|
|||||||
import {
|
import {
|
||||||
emitRegisterCardConfirmEventUni, emitRegisterFaceConfirmEventUni, emitRegisterFaceProcessEventUni,
|
emitRegisterCardConfirmEventUni, emitRegisterFaceConfirmEventUni, emitRegisterFaceProcessEventUni,
|
||||||
emitRegisterFingerprintConfirmEventUni, emitRegisterFingerprintProcessEventUni,
|
emitRegisterFingerprintConfirmEventUni, emitRegisterFingerprintProcessEventUni, emitRegisterPalmVeinConfirmEventUni,
|
||||||
getStorageUni,
|
getStorageUni,
|
||||||
removeStorageUni,
|
removeStorageUni,
|
||||||
setStorageUni
|
setStorageUni
|
||||||
} from './uni/storage'
|
} from './uni/storage'
|
||||||
import {
|
import {
|
||||||
emitRegisterCardConfirmEventWeb, emitRegisterFaceConfirmEventWeb, emitRegisterFaceProcessEventWeb,
|
emitRegisterCardConfirmEventWeb, emitRegisterFaceConfirmEventWeb, emitRegisterFaceProcessEventWeb,
|
||||||
emitRegisterFingerprintConfirmEventWeb, emitRegisterFingerprintProcessEventWeb,
|
emitRegisterFingerprintConfirmEventWeb, emitRegisterFingerprintProcessEventWeb, emitRegisterPalmVeinConfirmEventWeb,
|
||||||
getStorageWeb,
|
getStorageWeb,
|
||||||
removeStorageWeb,
|
removeStorageWeb,
|
||||||
setStorageWeb
|
setStorageWeb
|
||||||
@ -140,4 +140,18 @@ export const emitRegisterFaceConfirmEvent = resultData => {
|
|||||||
if (starCloudInstance.platform === 2) {
|
if (starCloudInstance.platform === 2) {
|
||||||
return emitRegisterFaceConfirmEventWeb(resultData)
|
return emitRegisterFaceConfirmEventWeb(resultData)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 触发掌静脉注册确认事件
|
||||||
|
* @param resultData 事件响应数据
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
export const emitRegisterPalmVeinConfirmEvent = resultData => {
|
||||||
|
if (starCloudInstance.platform === 1) {
|
||||||
|
return emitRegisterPalmVeinConfirmEventUni(resultData)
|
||||||
|
}
|
||||||
|
if (starCloudInstance.platform === 2) {
|
||||||
|
return emitRegisterPalmVeinConfirmEventWeb(resultData)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -3,7 +3,7 @@ import {cmdIds, Result, subCmdIds} from '../constant'
|
|||||||
import {convertWeekdaysToNumber, createPackageEnd, md5Encrypt, parseTimeToList, timestampToArray} from "../format.js";
|
import {convertWeekdaysToNumber, createPackageEnd, md5Encrypt, parseTimeToList, timestampToArray} from "../format.js";
|
||||||
import {sm4} from "sm-crypto";
|
import {sm4} from "sm-crypto";
|
||||||
import {
|
import {
|
||||||
checkRepeatCardName, checkRepeatFaceName, checkRepeatFingerprintName,
|
checkRepeatCardName, checkRepeatFaceName, checkRepeatFingerprintName, checkRepeatPalmVeinName,
|
||||||
clearAllIcCard,
|
clearAllIcCard,
|
||||||
deleteIcCardRequest, getFingerprintListRequest,
|
deleteIcCardRequest, getFingerprintListRequest,
|
||||||
getIcCardListRequest,
|
getIcCardListRequest,
|
||||||
@ -57,6 +57,10 @@ function _checkRequiredFields(params, requiredFields) {
|
|||||||
* @param {string} params.faceNumber - 指纹序号,仅当 type 为 'face' 时需要
|
* @param {string} params.faceNumber - 指纹序号,仅当 type 为 'face' 时需要
|
||||||
* @param {number} params.faceType - 指纹类型,1:永久,2:期限,4:循环,仅当 type 为 'face' 时需要
|
* @param {number} params.faceType - 指纹类型,1:永久,2:期限,4:循环,仅当 type 为 'face' 时需要
|
||||||
* @param {number} params.faceUserNo - 指纹UserNo,仅当 type 为 'face' 时需要 (选填)
|
* @param {number} params.faceUserNo - 指纹UserNo,仅当 type 为 'face' 时需要 (选填)
|
||||||
|
* @param {number} params.palmVeinName - 人脸名,仅当 type 为 'palmVein' 时需要
|
||||||
|
* @param {string} params.palmVeinNumber - 指纹序号,仅当 type 为 'palmVein' 时需要
|
||||||
|
* @param {number} params.palmVeinType - 指纹类型,1:永久,2:期限,4:循环,仅当 type 为 'palmVein' 时需要
|
||||||
|
* @param {number} params.palmVeinUserNo - 指纹UserNo,仅当 type 为 'palmVein' 时需要 (选填)
|
||||||
* @returns {Promise<Result>} - 返回注册结果的 Promise 对象
|
* @returns {Promise<Result>} - 返回注册结果的 Promise 对象
|
||||||
*/
|
*/
|
||||||
export async function registerExtendedProducts(params) {
|
export async function registerExtendedProducts(params) {
|
||||||
@ -169,6 +173,40 @@ export async function registerExtendedProducts(params) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 如果是掌静脉的话需要增加的参数
|
||||||
|
if (params.type === 'palmVein') {
|
||||||
|
if (params.operate === 0) {
|
||||||
|
const cardRequiredFields = ['palmVeinName', 'palmVeinNumber', 'palmVeinType'];
|
||||||
|
const missingField = _checkRequiredFields(params, cardRequiredFields);
|
||||||
|
if (missingField) {
|
||||||
|
return new Result(Result.NotMoreData, null, `掌静脉信息不完整: ${missingField}`);
|
||||||
|
}
|
||||||
|
// 检查卡昵称是否重复
|
||||||
|
const checkRepeatFaceNameResult = await checkRepeatPalmVeinName({
|
||||||
|
lockId: this.lockInfo.lockId,
|
||||||
|
palmVeinName: params.palmVeinName
|
||||||
|
})
|
||||||
|
if (checkRepeatFaceNameResult.code !== Result.Success.code) {
|
||||||
|
return checkRepeatFaceNameResult
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改指纹时的参数校验
|
||||||
|
if (params.operate === 1 || params.operate === 2) {
|
||||||
|
let cardRequiredFields = ['palmVeinId'];
|
||||||
|
if (params.operate === 1) {
|
||||||
|
cardRequiredFields.push('palmVeinType')
|
||||||
|
}
|
||||||
|
if (params.operate === 2) {
|
||||||
|
cardRequiredFields.push('palmVeinNumber')
|
||||||
|
}
|
||||||
|
const missingField = _checkRequiredFields(params, cardRequiredFields);
|
||||||
|
if (missingField) {
|
||||||
|
return new Result(Result.NotMoreData, null, `掌静脉信息不完整: ${missingField}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 添加类型:1蓝牙,2远程,3发卡器
|
// 添加类型:1蓝牙,2远程,3发卡器
|
||||||
params.addType = 1;
|
params.addType = 1;
|
||||||
// 操作后不断开蓝牙
|
// 操作后不断开蓝牙
|
||||||
|
|||||||
@ -60,4 +60,13 @@ export function emitRegisterFaceProcessEventUni(resultData) {
|
|||||||
*/
|
*/
|
||||||
export function emitRegisterFaceConfirmEventUni(resultData) {
|
export function emitRegisterFaceConfirmEventUni(resultData) {
|
||||||
uni.$emit(eventKeys.registerFaceConfirm, resultData)
|
uni.$emit(eventKeys.registerFaceConfirm, resultData)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 触发掌静脉认事件
|
||||||
|
* @param resultData 事件响应数据
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
export function emitRegisterPalmVeinConfirmEventUni(resultData) {
|
||||||
|
uni.$emit(eventKeys.registerPalmVeinConfirm, resultData)
|
||||||
}
|
}
|
||||||
@ -61,4 +61,13 @@ export function emitRegisterFaceProcessEventWeb(resultData) {
|
|||||||
*/
|
*/
|
||||||
export function emitRegisterFaceConfirmEventWeb(resultData) {
|
export function emitRegisterFaceConfirmEventWeb(resultData) {
|
||||||
// TODO 待实现web端触发事件
|
// TODO 待实现web端触发事件
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 触发掌静脉认事件
|
||||||
|
* @param resultData 事件响应数据
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
export function emitRegisterPalmVeinConfirmEventWeb(resultData) {
|
||||||
|
// TODO 待实现web端触发事件
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user