egg验证码svg-captcha插件
安装
$ npm install svg-captcha --save
egg中使用
定义router路由=>定义一个处理该路由的Controller=>Controller把生成验证码交给Service来做=>Service调用svg-captcha生成一张svg二维码返回给controller
router部分
module.exports = app => {
const { router, controller } = app;
router.post('/verify', controller.login.verify);
}
Controller部分
const Controller = require('egg').Controller;
class LoginController extends Controller {
async verify() {
const { ctx } = this;
let captcha = await this.service.verifyTools.captcha();
ctx.response.type = 'image/svg+xml';
ctx.body = captcha.data;
}
}
module.exports = LoginController;
Service部分
'use strict';
const Service = require('egg').Service;
const svgCaptcha = require('svg-captcha');
const options = {
size: 5,
fontSize: 100,
width: 500,
height: 200,
background: '#cc9966',
};
class VerifyToolsService extends Service {
async captcha() {
const captcha = svgCaptcha.create(options);
this.ctx.session.code = captcha.text;
return captcha;
}
}
module.exports = VerifyToolsService;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!