diff --git a/star-cloud/generalExtend.js b/star-cloud/generalExtend.js index d5d9eea..f5ef77b 100644 --- a/star-cloud/generalExtend.js +++ b/star-cloud/generalExtend.js @@ -3,9 +3,9 @@ import {cmdIds, Result, subCmdIds} from '../constant' import {convertWeekdaysToNumber, createPackageEnd, md5Encrypt, parseTimeToList, timestampToArray} from "../format.js"; import {sm4} from "sm-crypto"; import { - checkRepeatCardName, + checkRepeatCardName, checkRepeatFingerprintName, clearAllIcCard, - deleteIcCardRequest, + deleteIcCardRequest, getFingerprintListRequest, getIcCardListRequest, updateIcCardRequest } from "../api.js"; @@ -99,10 +99,35 @@ export async function registerExtendedProducts(params) { // 如果是指纹的话需要增加的参数 if (params.type === 'fingerprint') { - const cardRequiredFields = ['fingerprintName', 'fingerprintNumber', 'fingerprintType']; - const missingField = _checkRequiredFields(params, cardRequiredFields); - if (missingField) { - return new Result(Result.NotMoreData, null, `指纹信息不完整: ${missingField}`); + if (params.operate === 0) { + const cardRequiredFields = ['fingerprintName', 'fingerprintNumber', 'fingerprintType']; + const missingField = _checkRequiredFields(params, cardRequiredFields); + if (missingField) { + return new Result(Result.NotMoreData, null, `指纹信息不完整: ${missingField}`); + } + // 检查卡昵称是否重复 + const checkRepeatCardNameResult = await checkRepeatFingerprintName({ + lockId: this.lockInfo.lockId, + fingerprintName: params.fingerprintName + }) + if (checkRepeatCardNameResult.code !== Result.Success.code) { + return checkRepeatCardNameResult + } + } + + // 修改指纹时的参数校验 + if (params.operate === 1 || params.operate === 2) { + let cardRequiredFields = ['fingerprintId']; + if (params.operate === 1) { + cardRequiredFields.push('fingerprintType') + } + if (params.operate === 2) { + cardRequiredFields.push('fingerprintNumber') + } + const missingField = _checkRequiredFields(params, cardRequiredFields); + if (missingField) { + return new Result(Result.NotMoreData, null, `指纹信息不完整: ${missingField}`); + } } } @@ -334,4 +359,15 @@ export async function registerExtendedProductsCancel(params) { */ export async function getIcCardList(params) { return await getIcCardListRequest(params) +} + +/** + * 获取指纹列表 + * @param params.lockId 锁id (必填) + * @param params.pageNo 页码(选填) + * @param params.pageSize 每页显示数(选填) + * @returns {Promise} + */ +export async function getFingerprintList(params) { + return await getFingerprintListRequest(params) } \ No newline at end of file