Checkpoint: Implémentation du QR code dédié pour l'émargement formateur avec signature tactile
- Création de la page /emargement-formateur/:token avec formulaire simplifié - Procédure backend presences.validerFormateur dédiée - Deux boutons QR code dans l'interface formateur (apprenants + formateur) - Génération automatique des URL distinctes pour chaque type d'utilisateur - Déploiement réussi sur le VPS de production
This commit is contained in:
@@ -38,6 +38,35 @@ export async function generateQRCodeDataURL(token: string): Promise<string> {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Générer un QR code formateur en base64 à partir d'un token
|
||||
* @param token Le token unique de la séquence
|
||||
* @returns Une image QR code en base64 (data URL) pour l'émargement formateur
|
||||
*/
|
||||
export async function generateQRCodeFormateurDataURL(token: string): Promise<string> {
|
||||
// URL complète pour scanner le QR code formateur
|
||||
const parametres = await getParametres();
|
||||
const url = `${parametres.urlPublique}/emargement-formateur/${token}`;
|
||||
|
||||
try {
|
||||
const qrCodeDataURL = await QRCode.toDataURL(url, {
|
||||
errorCorrectionLevel: "H",
|
||||
type: "image/png",
|
||||
width: 400,
|
||||
margin: 2,
|
||||
color: {
|
||||
dark: "#000000",
|
||||
light: "#FFFFFF",
|
||||
},
|
||||
});
|
||||
|
||||
return qrCodeDataURL;
|
||||
} catch (error) {
|
||||
console.error("Erreur lors de la génération du QR code formateur:", error);
|
||||
throw new Error("Impossible de générer le QR code formateur");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Générer un QR code en buffer PNG
|
||||
* @param token Le token unique de la séquence
|
||||
|
||||
Reference in New Issue
Block a user