今天教大家一个简单又快捷的在egg.js中制作图片验证码接口的方法。
首先,在cmd或者是vscode的终端中输入以下命令安装svg-captcha组件
npm install --save svg-captcha
然后在controller里面创建一个user.js,代码如下:
const { Controller } = require('egg');
const svgCaptcha = require('svg-captcha');
class UserController extends Controller {
async captcha() {
// 使用svgCaptcha对象中的create方法创建验证码
const { ctx } = this;
const captcha1 = svgCaptcha.create({
ignoreChars: 'OoliPp', //这边的目的是为了避免验证码因为大小写问题导致验证错误
});
ctx.session.captcha = captcha1.text;
ctx.set('Content-Type', 'image/svg+xml');
ctx.body = captcha1.data;
}
}
module.exports = UserController;
在router.js中配置路由代码如下:
router.get('/api/captcha', controller.user.captcha);
然后运行就可以了,运行代码为
npm run dev