nodejs 图片验证码

一:仅支持随机数字图片验证码

可设置图片背景颜色和数字颜色,图片为base64格式

二:需要引入captchapng模块

模块下载地址:https://github.com/GeorgeChan/captchapng

var captchapng = require('captchapng');

三:实现

nodejs:

/*
	 * 生成数字随机数图片验证码
	 * 
	 * @description 仅支持生成随机数字图片验证码,
	 * */
	getIcode (req,res,next){
		
		//返回统一格式赋值
		//var response = _.extend({},responseData);
		var response = {};

		console.log('开始获取图片验证码。。。。。。');
		
		var capt = new captchapng(80,30,parseInt(Math.random()*9000+1000)); // 图片宽度,图片高度,随机数字
        capt.color(0, 0, 0, 0);  // First color: 图片背景色 (red, green, blue, alpha)
        capt.color(80, 80, 80, 255); // Second color: 数字颜色 (red, green, blue, alpha)
		//转换成base64
        var icodeImg = capt.getBase64();
        response.data = {
        	'content': icodeImg
        };
        res.send(response);
	}
javascript:

/*
	 * 更新图片验证码
	 * 
	 * @param imgSrc {string} 验证码图片链接
	 * */
	function updateIcode(data){
		$('#icode-btn').empty().html('');
		console.log('图片验证码已更新');
	}
	
	/*
	 * 获取图片验证码
	 * 
	 * */
    async function getIcode(){
		//异步获取图片验证码  async事件
		//var data = await util.es6Get('/api/user/icode',{type: 'img'});
		
		var data = await $.ajax({
						url: '/api/user/icode',
						type: 'get',
						dataType: 'json',
						success: function(data){
							
						},
						error: function(e){
							
						}
					});
		//失败
		if(data.error === true){
			console.log('失败:'+ data.message);
			return false;
		}
		//成功
		//更新图片验证码
		updateIcode(data.data);
		
	}
html:

注册


效果:

nodejs 图片验证码_第1张图片



你可能感兴趣的:(nodejs)