Node.js 制作验证码API

利用 svg-captcha 插件制作验证码,首先安装 svg-captcha 插件:

  1. npm i --save svg-captcha

然后在建一个 svgCaptcha.js 文件,文件内容:

  1. // 获取验证码
  2. const svgCaptcha = require('svg-captcha');
  3. module.exports = callback => {
  4.     let codeConfig = {
  5.         size: 5,// 验证码长度
  6.         ignoreChars: '0o1i', // 验证码字符中排除 0o1i
  7.         noise: 2, // 干扰线条的数量
  8.         height: 45
  9.     }
  10.     let captcha = svgCaptcha.create(codeConfig);
  11.     let sessionCaptcha = captcha.text.toLowerCase(); //存session用于验证接口获取文字码
  12.     let codeData = {
  13.         img:captcha.data
  14.     }
  15.     callback(sessionCaptcha,codeData);
  16. }

callback返回验证码 (sessionCaptcha) 和验证码svg图片 (codeData) ;

使用在需要的API文件里:

  1. const getCode = require('../model/svgCaptcha.js');
  2. // 获取验证码
  3. exports.getCode = (req, res, next) => {
  4.     getCode(function (code,img) {
  5.         //存session用于验证接口获取文字码
  6.         req.session.captcha = code;
  7.         let data = {};
  8.         if (code && img){
  9.             data = {
  10.                 code: 200,
  11.                 msg: '获取成功',
  12.                 data: img
  13.             }
  14.         } else {
  15.             data = {
  16.                 code: 400,
  17.                 msg: '获取失败',
  18.                 data: img
  19.             }
  20.         }
  21.         res.json(data);
  22.     })
  23. }

Node.js 制作验证码API

黄良钵

博客站长,前端开发工程师

Leave a Reply

Your email address will not be published. Required fields are marked *

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

Node.js 制作验证码API
返回顶部
网站稳定运行 : {{ diffYears }}年 零 {{ diffDays }}天 {{ diffHours }} 小时 {{ diffMinutes }} 分钟 {{ diffSeconds }} 秒

显示

忘记密码?

显示

显示

获取验证码

Close