De nombreux endroits où les codes de vérification sont nécessaires lors de l'utilisation du nœud pour le développement Web sont rencontrés. Auparavant, recherché sur GitHub, il y avait certaines bibliothèques de classe telles que Node-CaptCha, qui reposent toutes sur des bibliothèques de traitement graphiques tierces ou des logiciels. Par exemple, lorsque j'ai installé la bibliothèque graphique Cario, c'était beaucoup d'efforts, mais en fait, nous n'avons utilisé qu'un peu des petites fonctions de ces bibliothèques graphiques, telles que la modification et le recadrage de la taille de l'image, ou la production de codes de vérification.
Préduisons d'abord la bibliothèque graphique CIMG C ++. CIMG est une bibliothèque de traitement d'image C ++ multiplateforme qui fournit une série de fonctions telles que le chargement, le traitement, l'affichage et la sauvegarde. La chose la plus attrayante est que toute la bibliothèque graphique n'est qu'un fichier CIMG.h, il est donc très portable, vert et respectueux de l'environnement. Il peut être compilé et utilisé partout où vous allez sans installer une grande dépendance push. Je voulais donc utiliser cette bibliothèque graphique CIMG pour faire une démo simple, en commençant par la fonction d'implémentation du code de vérification, et bien sûr, je peux utiliser complètement cette bibliothèque pour faire d'autres fonctions telles que des images de recadrage.
Le module CCAP est basé sur l'encapsulation de la bibliothèque graphique CIMG, ce qui lui permet d'être utilisé par le nœud. En raison de la portabilité de la bibliothèque graphique CIMG, le module CCAP peut fonctionner de manière indépendante sans compter sur aucune autre bibliothèque graphique ou logiciel tiers. En d'autres termes, si vous souhaitez simplement générer un code de vérification simple, nécessitez simplement le module CCAP.
1. Installation:
Méthode générale: NPM Installer CCAP
Ou le téléchargez-le via github, adresse: https://github.com/doubespout/ccap
Remarque: il peut y avoir des erreurs pendant le processus d'installation. Veuillez installer le package de dépendance correspondant en fonction de l'invite d'erreur.
2. Performance:
La vitesse de génération de codes de vérification sur un serveur 2CPU Linux 64 bits peut atteindre 1200 fois / sec. L'image générée par le test est BMP. La vitesse de génération de code de vérification d'image JPEG est d'environ 600 fois / sec.
3. Méthode de déclaration:
La copie de code est la suivante:
var ccap = require ('ccap');
var captcha1 = ccap ();
var captcha2 = ccap (largeur, hauteur, décalage);
var captcha3 = ccap ({
Largeur: 256, // set largeur, la valeur par défaut est 256
Une classe CCAP peut être instanciée via le code ci-dessus. 1. Aucun paramètre n'est passé, tous les paramètres par défaut sont utilisés pour générer des codes de vérification. 2. Ne passe que la largeur, la hauteur et le décalage pour instancier, ajuster la taille de l'image et l'intervalle entre les caractères de l'image 3. Passez un objet. En plus de la largeur, de la hauteur et du décalage, il transmet également la qualité d'image et la méthode de génération de nombres aléatoires. Le module CCAP utilisera la chaîne renvoyée par la fonction personnalisée comme contenu du code de vérification d'image. La valeur par défaut est 0-9 et la chaîne 6 bits d'Az sera suivie.
En théorie, de nombreuses instances CCAP différentes peuvent être produites, et elles n'ont aucune influence les unes sur les autres, donc même si vous démarrez les nœuds multi-traitements par le cluster et produit des codes de vérification en même temps, il n'y a aucun impact sur les locaux.
La qualité d'image n'est valable que pour les images JPEG. Si aucune bibliothèque JPEG LIB n'est installée, vous ne pouvez utiliser que des graphiques BMP non compressés, qui est relativement grande, mais la vitesse de génération est relativement rapide.
4. Utiliser la méthode, get ():
La copie de code est la suivante:
Hauteur: 60, // réglage de la hauteur, la valeur par défaut est 60
Offset: 40, // Définir l'espacement du texte, la valeur par défaut est 40
Qualité: 100, // Définir la qualité de la photo, la valeur par défaut est 50
générer: function () {// personnaliser la fonction pour générer du texte captcha
// générer du texte captcha ici
Retour Texte; // Renvoie le texte CAPTCHA
}
});
Après avoir instancié la classe CCAP, vous obtiendrez l'objet captcha. Cet objet n'a qu'une seule méthode externe, get (). Chaque fois que cette méthode est appelée, elle renverra le tampon de code de vérification et le contenu de chaîne de texte correspondant, et l'enregistrera dans un tableau, avec une structure similaire à celle-ci:
La copie de code est la suivante:
["Texte Captcha", "Buffer d'image"]
5. Un exemple Web simple:
La copie de code est la suivante:
var http = require ('http');
var ccap = require ('ccap') (); // classe CCAP instanciée
http.createServer (fonction (demande, réponse) {
if (request.url == '/favicon.ico')return Response.end (' '); // Intercept request favicon.ico
var ary = ccap.get ();
var txt = ary [0];
var buf = ary [1];
réponse.end (buf);
console.log (txt);
}). écouter (8124);
console.log ('Server en cours d'exécution sur http://127.0.0.1:8124/');
Remarque: Certains paramètres de code peuvent être modifiés en fonction de leur propre environnement.