@ha_tecno/react-native-sdk
Version:
React Native SDK for biometric authentication, liveness detection, and fingerprint recognition
56 lines (55 loc) • 1.68 kB
JavaScript
;
import { Platform } from 'react-native';
import { getModel } from 'react-native-device-info';
import { v4 as uuid } from 'uuid';
import { api } from "../http/api.js";
export const livenessService = {
lifeCertificate: async ({
videoPath,
uid,
exposure,
exposureMax,
exposureMin,
exposureScaleZeroToOne
}) => {
try {
const uuidv4 = uuid();
const deviceModel = getModel();
const formData = new FormData();
formData.append('video', {
uri: Platform.select({
ios: videoPath,
android: `file://${videoPath}`
}),
type: 'video/mp4',
name: `${uid}_${uuidv4}.mp4`
});
formData.append('video_key', uuidv4);
formData.append('person_id', uid);
formData.append('device_model', deviceModel);
formData.append('exposure', exposure.toString());
if (exposureMax !== undefined) {
formData.append('exposureMax', exposureMax.toString());
}
if (exposureMin !== undefined) {
formData.append('exposureMin', exposureMin.toString());
}
if (exposureScaleZeroToOne !== undefined) {
formData.append('exposureScaleZeroToOne', exposureScaleZeroToOne.toString());
}
const data = await api.postFormData('/v2/liveness', formData);
return {
code: data.code,
bpm: data.bpm,
message: data.message
};
} catch (error) {
console.error('[LifeCertificate Error]:', error);
return {
code: error?.status || 400,
message: error?.message || 'Erro ao processar prova de vida'
};
}
}
};
//# sourceMappingURL=livenessService.js.map