SVG 图形验证码
【Npm svg-captcha】:https://www.npmjs.com/package/svg-captcha
路由控制
- UserController.js
const express = require("express")
const UserController = express.Router();
const UserService = require("../services/UserService")
UserController.get("/captcha",UserService.createCaptcha)
module.exports = UserController
js
服务实现
- UserService.js
const validator = require("express-validator");
const svgCaptcha = require("svg-captcha")
export const createCaptcha = [
validator.query("captchaKey", "验证码Key不能为空").isLength({min: 1}),
(req, res, next) => {
//校验参数
let validationResult = validator.validationResult(req);
if (!validationResult.isEmpty()) return Result.result(res, Result.invalidParams(validationResult.array()))
let {captchaKey} = req.query
let captcha = svgCaptcha.create(SVGConfig);
RedisService().set(KEY.CAPTCHA + captchaKey, captcha.text)
res.type('svg');
res.status(200).send(captcha.data);
}]
js