New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@biopassid/face-sdk

Package Overview
Dependencies
Maintainers
0
Versions
58
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@biopassid/face-sdk

Componente web de integração do BioPass ID

  • 1.3.29
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
61
decreased by-72.77%
Maintainers
0
Weekly downloads
 
Created
Source

BioPass ID Face SDK Web

Componente web de integração do BioPass ID

Getting started

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.

Com um bundler

Intale a dependencia:

npm i --save @biopassid/face-sdk

Utilize no seu projeto

import { camera } from '@biopassid/face-sdk'

Através de CDN

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>

Modulos

  • camera

camera

O módulo camera oferece as seguintes funcionalidades.

Uso básico

import { camera } from '@biopassid/face-sdk'

const { takePicture } = camera();

async function handleTakePicture() {
    const resp = await takePicture({
        element: document.querySelector("#elementId"),
    })
}

Para um funcionamento ideal da biblioteca, certifique-se de que a aceleração de hardware do seu navegador esteja ativada.

Adicionando validação facial

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,
    })
}

Adicionando captura automática

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
            }
        },
    })
}

Internacionalização

É 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",
            moveFaceCloser: "Aproxime o rosto para mais perto",
            keepStill: "Mantenha o rosto parado",
        },
        options: {
            faceDetection: {
                autoCapture: true
            }
        },
    })
}

Options

O método takePicture() pode receber um parametro opcional "options", que possui as seguintes propriedades:

NomeTipoDescriçãoDefault
maskMaskOptionsDefine as propriedades da máscaranull
backButtonButtonOptionsDefine as propriedades do botão de voltarnull
captureButtonButtonOptionsDefine as propriedades do botão de capturar a fotonull
cancelButtonButtonOptionsDefine as propriedades do botão de cancelar fotonull
confirmButtonButtonOptionsDefine as propriedades do botão de confirmar fotonull
switchButtonButtonOptionsDefine as propriedades do botão de trocar câmeranull
loadingLoadingOptionsDefine as propriedades do loadingnull
legendLegendOptionsDefine as propriedades da legenda com as informações da capturanull
faceDetectionFaceDetectionOptionsDefine as propriedades do detector facialnull
widthstringLargura do container'100%'
heightstringAltura do container'100%'
modelsDirectorystringDiretório dos models de reconhecimento facial'/models'
cameraPresetsCameraPresetsDefine as propriedades da cameranull
fontFamilystringFonte padrão dos textos'inherit'
formatImage'image/png' | 'image/jpeg' | 'image/webp'Define o formato da foto capturada'image/png'

Interfaces

MaskOptions

PropriedadesTipoDescriçãoDefault
enabledbooleanElemento ativotrue
type'face' | 'square' | 'ellipsis'Formato da máscara"face"
backgroundColorstringCor da máscara'black'
backgroundOpacitynumberOpacidade da mascara.6
frameColorstringCor do frame"white"
frameThicknessnumberEspessura do frame3

ButtonOptions

PropriedadesTipoDescrição
enabledbooleanElemento ativo
sizestringTamanho do botão
backgroundColorstringCor do botão
labelTextOptionsOpções do Label do botão
iconIconOptionsOpções do ícone do botão
paddingnumberEspaçamento lateral do botão

TextOptions

PropriedadesTipoDescrição
enabledbooleanElemento ativo
contentstringConteúdo do texto
fontSizestringTamanho da fonte
fontWeightnumberPeso da fonte
colorstringCor da fonte

IconOptions

PropriedadesTipoDescrição
enabledbooleanElemento ativo
sourcestringURL da imagem
colorstringCor do ícone (Funciona apenas de source não estiver definidio)
sizestringTamanho do ícone

CameraPresets

PropriedadesTipoDescrição
aspectRationumberAspecto da camera ideal
preferredResolutionnumberResolução da câmera ideal
deviceIdstringID padrão do dispositivo
facingModestringModo da câmera default ("environment" para câmera traseira, se ouver)

LegendOptions

PropriedadesTipoDescrição
enabledbooleanElemento ativo
titlebooleanTítulo da legenda
subtitlenumberSubtítulo da legenda

FaceDetectionOptions

PropriedadesTipoDescrição
enabledbooleanElemento ativo
autoCapturebooleanAtiva a captura automática
timeToCapturenumberTempo para realizar a captura automática em milisegundos
timeToCaptureFeedbackColorstringCor do feedback de deteção facial
multipleFacesEnabledbooleanPermite a captura de foto com duas ou mais faces
scoreThresholdnumberLimite mínimo de confiança para uma detecção ser considerada válida. Deve ser um número entre 0 e 1, onde 0.1 apresente um nível de confiaça para detecção de rosto menor e 0.9 seria um maior nível de confiança. Default: 0.5

Exemplo com todas as propriedades

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",
            multipleFacesEnabled: true,
            scoreThreshold: 0.1
        },
        width: '100%',
        height: '100%',
        modelsDirectory: '/models',
        cameraPresets: {
            aspectRatio: 16/9,
            preferredResolution: 480,
            deviceId: null,
            facingMode: "environment"
        },
        fontFamily: 'inherit',
        formatImage: 'image/jpeg'
    }
})

Changelog

1.3.24

Breaking Changes

  • Ao utilizar o plugin via CDN as funções são armazenadas em um objeto de nome faceSdk.
<!-- 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>

Keywords

FAQs

Package last updated on 22 Aug 2024

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc