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();
})
随机字母验证码

三、生成简单加法验证码

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();
})
加法验证码
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容