node与验证码

最近用node做了一个简易后台系统,遇到了很多坑,拿出来分享分享。

先上图,我们还是按套路出牌。
1298851-20180608115045999-178223578.gif

因为long long ago也用php写过后台,php可以自己绘制验证码。所以马上百度一波。
然而发现node貌似没有类似的骚操作。

所以选择了网上大多数人用的插件svg-captcha

来来来,上代码:
api.js:

var svgCaptcha = require('svg-captcha');//引入插件(验证码) ps:可以放在公用的app.js中,我是单独放在api.js中

router.post('/captcha',function(req,res,next){
    var code = svgCaptcha.create({  
        // 翻转颜色  
        inverse: false,  
        ignoreChars: '0o1i',
         // 验证码字符中排除 0o1i
        // 字体大小  
        fontSize: 36,  
        // 噪声线条数  
        noise: 2,  
        // 宽度 
        width: 120,  
        // 高度  
        height: 29,  
        color: 'red',
    }); 
    req.session.captcha = code.text.toLowerCase();  // 特别注意:这里需要你先自己定义session,否则会报错
    res.send(code.data);
});

下面代码是前端实现渲染:
login.ejs:

$.ajax({ 
    url: "/api/captcha",
    type: 'post',
    success: function(data) { 
        $(".yzm_pic").html(data); //关键代码
    },
    error: function(err) {
        console.log(err);
    }
})

到这里,恭喜!你就大功告成。

转载于:https://www.cnblogs.com/lafitewu/p/9154859.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值