现在用的HarmonyOS人脸,routeMode用的back模式,callback里取到的回调result里没有mPixelMap。
interactiveLiveness.startLivenessDetection(routerOptions,
(err: BusinessError, result: interactiveLiveness.InteractiveLivenessResult | undefined) => {
if (err.code !== 0 && !result) {
return;
}
const imagePackerApi: image.ImagePacker = image.createImagePacker();
let packOpts: image.PackingOption = { format: 'image/jpeg', quality: 100 };
console.log(JSON.stringify(this.result))
imagePackerApi.packing(this.result?.mPixelMap, packOpts).then((data: ArrayBuffer) => {
let buf: buffer.Buffer = buffer.from(data);
this.base64 = 'data:image/jpeg;base64,' + buf.toString('base64', 0, buf.length);
// let JnlNo:string = msg.Params as string;
let parmDic: Map<string, string> = new Map();
// parmDic['JnlNo'] = JnlNo;
parmDic['WsType'] = '2';
parmDic['states'] = 'success';
parmDic['FacePhoto'] = this.base64;
console.log(JSON.stringify(parmDic))
})
}
打印结果:
09-05 14:01:22.926 21147-21147 A03D00/JSAPP com.examp..._harmony I zyh{"livenessType":0}
使用getInteractiveLivenessResult拿到图片数据mPixelMap,人脸活体的这个验证结果返回,相关文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/vision-interactive-liveness-V5\#section19136935154313