![Create React App Officially Deprecated Amid React 19 Compatibility Issues](https://cdn.sanity.io/images/cgdhsj6q/production/04fa08cf844d798abc0e1a6391c129363cc7e2ab-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Create React App Officially Deprecated Amid React 19 Compatibility Issues
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
@biopassid/face-sdk
Advanced tools
Componente web de integração do BioPass ID
Primeiramente crie uma pasta chamada models no diretório de arquivos estáticos da sua aplicação, e adicione os arquivos tiny_face_detector_model-shard1 e tiny_face_detector_model-weights_manifest.json. Sua estrutura de pastas ficará semelhante a isso:
/assets
/js
/css
/models
- tiny_face_detector_model-shard1
- tiny_face_detector_model-weights_manifest.json
/index.html
Após isso basta instalar o pacote.
Intale a dependencia:
npm i --save @biopassid/face-sdk
Utilize no seu projeto
import { camera } from '@biopassid/face-sdk'
Adicione o script ao projeto e os módulos serão injetados dentro de um objeto chamado faceSdk;
<script src="https://cdn.jsdelivr.net/npm/@biopassid/face-sdk/unpkg/face-sdk.min.js"></script>
<script>
const { takePicture } = faceSdk.camera();
</script>
O módulo camera oferece as seguintes funcionalidades.
import { camera } from '@biopassid/face-sdk'
const { takePicture } = camera();
async function handleTakePicture() {
const resp = await takePicture({
element: document.querySelector("#elementId"),
})
}
A função takePicture possui um argumento chamado "faceDetectionAdapter", que é uma função responsável por realizar o processamento da validação, o FaceSDK possui um adapter padrão para a detecção facial. Também é necessário executar a função responsável pelo carregamento dos modelos
import { camera, faceDetectionAdapter, loadFaceDetectorModels } from '@biopassid/face-sdk'
const { takePicture } = camera();
async function handleTakePicture() {
await loadFaceDetectorModels(); // Carregamento dos modelos
const resp = await takePicture({
element: document.querySelector("#elementId"),
faceDetectionAdapter: faceDetectionAdapter,
})
}
Para adicionar a captura automática, basta ativar a funcionalidade dentro do parâmetro de opções.
import { camera, faceDetectionAdapter, loadFaceDetectorModels } from '@biopassid/face-sdk'
const { takePicture } = camera();
async function handleTakePicture() {
await loadFaceDetectorModels();
const resp = await takePicture({
element: document.querySelector("#elementId"),
faceDetectionAdapter: faceDetectionAdapter,
options: {
faceDetection: {
autoCapture: true
}
},
})
}
É possível definir os textos apresentados durante a detecção facial através do parâmetro i18n.
import { camera, faceDetectionAdapter } from '@biopassid/face-sdk'
const { takePicture } = camera();
async function handleTakePicture() {
const resp = await takePicture({
element: document.querySelector("#elementId"),
faceDetectionAdapter: faceDetectionAdapter,
i18n: {
noFacesDetected: "Nenhuma face detectada",
multipleFacesDetected: "Multiplas faces detectadas",
moveFaceLeft: "Mova o rosto para a esquerda",
moveFaceRight: "Mova o rosto para a direita",
moveFaceUp: "Mova o rosto para cima",
moveFaceDown: "Mova o rosto para baixo",
keepStill: "Mantenha o rosto parado",
},
options: {
faceDetection: {
autoCapture: true
}
},
})
}
O método takePicture() pode receber um parametro opcional "options", que possui as seguintes propriedades:
Nome | Tipo | Descrição | Default |
---|---|---|---|
mask | MaskOptions | Define as propriedades da máscara | null |
backButton | ButtonOptions | Define as propriedades do botão de voltar | null |
captureButton | ButtonOptions | Define as propriedades do botão de capturar a foto | null |
cancelButton | ButtonOptions | Define as propriedades do botão de cancelar foto | null |
confirmButton | ButtonOptions | Define as propriedades do botão de confirmar foto | null |
switchButton | ButtonOptions | Define as propriedades do botão de trocar câmera | null |
loading | LoadingOptions | Define as propriedades do loading | null |
legend | LegendOptions | Define as propriedades da legenda com as informações da captura | null |
faceDetection | FaceDetectionOptions | Define as propriedades do detector facial | null |
width | string | Largura do container | '100%' |
height | string | Altura do container | '100%' |
modelsDirectory | string | Diretório dos models de reconhecimento facial | '/models' |
cameraPresets | CameraPresets | Define as propriedades da camera | null |
fontFamily | string | Fonte padrão dos textos | 'inherit' |
Propriedades | Tipo | Descrição | Default |
---|---|---|---|
enabled | boolean | Elemento ativo | true |
type | 'face' | 'square' | 'ellipsis' | Formato da máscara | "face" |
backgroundColor | string | Cor da máscara | 'black' |
backgroundOpacity | number | Opacidade da mascara | .6 |
frameColor | string | Cor do frame | "white" |
frameThickness | number | Espessura do frame | 3 |
Propriedades | Tipo | Descrição |
---|---|---|
enabled | boolean | Elemento ativo |
size | string | Tamanho do botão |
backgroundColor | string | Cor do botão |
label | TextOptions | Opções do Label do botão |
icon | IconOptions | Opções do ícone do botão |
padding | number | Espaçamento lateral do botão |
Propriedades | Tipo | Descrição |
---|---|---|
enabled | boolean | Elemento ativo |
content | string | Conteúdo do texto |
fontSize | string | Tamanho da fonte |
fontWeight | number | Peso da fonte |
color | string | Cor da fonte |
Propriedades | Tipo | Descrição |
---|---|---|
enabled | boolean | Elemento ativo |
source | string | URL da imagem |
color | string | Cor do ícone (Funciona apenas de source não estiver definidio) |
size | string | Tamanho do ícone |
Propriedades | Tipo | Descrição |
---|---|---|
aspectRatio | number | Aspecto da camera ideal |
preferredResolution | number | Resolução da câmera ideal |
deviceId | string | ID padrão do dispositivo |
Propriedades | Tipo | Descrição |
---|---|---|
enabled | boolean | Elemento ativo |
title | boolean | Título da legenda |
subtitle | number | Subtítulo da legenda |
Propriedades | Tipo | Descrição |
---|---|---|
enabled | boolean | Elemento ativo |
autoCapture | boolean | Ativa a captura automática |
timeToCapture | number | Tempo para realizar a captura automática em milisegundos |
timeToCaptureFeedbackColor | string | Cor do feedback de deteção facial |
Lembrando que todos os elementos são opcionais
const resp = await takePicture({
element: document.querySelector("#camera"),
options: {
mask: {
enabled: true,
type: 'face',
backgroundColor: 'black',
backgroundOpacity: .6,
frameColor: 'white',
frameThickness: 3,
},
backButton: {
enabled: true,
size: '30px',
backgroundColor: 'transparent',
label: {
enabled: false,
content: "",
fontSize: '1rem',
fontWeight: 'normal',
color: 'white',
},
icon: {
enabled: true,
source: null,
color: 'white',
size: '30px',
},
padding: "0",
},
captureButton: {
enabled: true,
size: '30px',
backgroundColor: 'white',
label: {
enabled: false,
content: "",
fontSize: '1rem',
fontWeight: 'normal',
color: 'black',
},
icon: {
enabled: true,
source: null,
color: 'black',
size: '30px',
},
padding: string,
},
cancelButton: {
enabled: true,
size: '30px',
backgroundColor: 'red',
label: {
enabled: false,
content: "",
fontSize: '1rem',
fontWeight: 'normal',
color: 'white',
},
icon: {
enabled: true,
source: null,
color: 'white',
size: '30px',
},
padding: "0",
},
confirmButton: {
enabled: true,
size: '30px',
backgroundColor: 'white',
label: {
enabled: false,
content: "",
fontSize: '1rem',
fontWeight: 'normal',
color: 'black',
},
icon: {
enabled: true,
source: null,
color: 'black',
size: '30px',
},
padding: string,
},
legend: {
title: {
enabled: true,
content: "Captura Facial",
fontSize: '1.5rem',
fontWeight: '600',
color: 'white',
},
subtitle: {
enabled: true,
content: "",
fontSize: '1rem',
fontWeight: 'normal',
color: 'white',
}
},
faceDetection: {
enabled: true,
autoCapture: false,
timeToCapture: 3000,
timeToCaptureFeedbackColor: "#FF0000",
},
width: '100%',
height: '100%',
modelsDirectory: '/models',
cameraPresets: {
aspectRatio: 16/9,
preferredResolution: 480,
deviceId: null,
},
fontFamily: 'inherit',
}
})
<!-- Forma atual -->
<script src="https://cdn.jsdelivr.net/npm/@biopassid/face-sdk/unpkg/face-sdk.min.js"></script>
<script>
const { takePicture } = faceSdk.camera();
</script>
<!-- Antes -->
<script src="https://cdn.jsdelivr.net/npm/@biopassid/face-sdk/unpkg/face-sdk.min.js"></script>
<script>
const { takePicture } = camera();
</script>
FAQs
Unknown package
The npm package @biopassid/face-sdk receives a total of 40 weekly downloads. As such, @biopassid/face-sdk popularity was classified as not popular.
We found that @biopassid/face-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.