node进阶(4)——node实现图片验证码接口

一、安装依赖

1.引入插件

cnpm i svg-captcha --save

  1. 在使用的地方导入

var svgCaptcha = require('svg-captcha');

  1. app.js中引入cookie-parase

const cookieParase = require('cookie-parser');
app.use(cookieParase());

二、随机字母验证码

router.get("/getCaptcha",function(req, res, next){
    var captcha = svgCaptcha.create({ 
      inverse: false, // 翻转颜色 
      fontSize: 48, // 字体大小 
      noise: 2, // 噪声线条数 
      width: 100, // 宽度 
      height: 40, // 高度 
      size: 4,// 验证码长度
      ignoreChars: '0o1i', // 验证码字符中排除 0o1i
    }); 
    // 保存到session,忽略大小写 
    req.session = captcha.text.toLowerCase(); 
    console.log(req.session); //0xtg 生成的验证码
    //保存到cookie 方便前端调用验证
    res.cookie('captcha', req.session); 
    res.setHeader('Content-Type', 'image/svg+xml');
    res.write(String(captcha.data));
    res.end();
})
node进阶(4)——node实现图片验证码接口_第1张图片
随机字母验证码

三、生成简单加法验证码

router.get("/getCaptcha",function(req, res, next){
    var captcha = svgCaptcha.createMathExpr({ 
      inverse: false, // 翻转颜色 
      fontSize: 48, // 字体大小 
      noise: 2, // 噪声线条数 
      width: 100, // 宽度 
      height: 40, // 高度 
      size: 4,// 验证码长度
      ignoreChars: '0o1i', // 验证码字符中排除 0o1i
      color: true,// 验证码的字符是否有颜色,默认没有,如果设定了背景,则默认有
      background: '#e8e3e3'// 验证码图片背景颜色
    })
    // 保存到session,忽略大小写 
    req.session = captcha.text.toLowerCase(); 
    console.log(req.session); //0xtg 生成的验证码
    //保存到cookie 方便前端调用验证
    res.cookie('captcha', req.session); 
    res.setHeader('Content-Type', 'image/svg+xml');
    res.write(String(captcha.data));
    res.end();
})
node进阶(4)——node实现图片验证码接口_第2张图片
加法验证码

你可能感兴趣的:(node进阶(4)——node实现图片验证码接口)