1. npm i --save svg-captcha
然后在建一个 svgCaptcha.js 文件,文件内容:
1. // 获取验证码
2. const svgCaptcha = require('svg-captcha');
3.
4. module.exports = callback => {
5. let codeConfig = {
6. size: 5,// 验证码长度
7. ignoreChars: '0o1i', // 验证码字符中排除 0o1i
8. noise: 2, // 干扰线条的数量
9. height: 45
10. }
11. let captcha = svgCaptcha.create(codeConfig);
12. let sessionCaptcha = captcha.text.toLowerCase(); //存session用于验证接口获取文字码
13. let codeData = {
14. img:captcha.data
15. }
16. callback(sessionCaptcha,codeData);
17. }
callback返回验证码 (sessionCaptcha) 和验证码svg图片 (codeData) ;
使用在需要的API文件里:
1. const getCode = require('../model/svgCaptcha.js');
2.
3. // 获取验证码
4. exports.getCode = (req, res, next) => {
5. getCode(function (code,img) {
6. //存session用于验证接口获取文字码
7. req.session.captcha = code;
8. let data = {};
9. if (code && img){
10. data = {
11. code: 200,
12. msg: '获取成功',
13. data: img
14. }
15. } else {
16. data = {
17. code: 400,
18. msg: '获取失败',
19. data: img
20. }
21. }
22.
23. res.json(data);
24. })
25. }