captcha-service.js 643 Bytes
/**
 * Created by TaoHuang on 2016/7/1.
 */

'use strict';

const _ = require('lodash');
const Captchapng = require('captchapng');

exports.generateCaptcha = (width, height, length) => {
    let min = Math.pow(10, (length - 1 || 1));
    let max = Math.pow(10, (length - 1 || 1)) * 9;
    let token = '' + _.random(min, max);

    let png = new Captchapng(width, height, token);//

    png.color(0, 0, 0, 0);  // First color: background (red, green, blue, alpha)
    png.color(80, 80, 80, 255); // Second color: paint (red, green, blue, alpha)

    return {
        image: new Buffer(png.getBase64(), 'base64'),
        text: token
    };
};