使用腾讯云TCB云函数实现生成随机验证码功能

2020-11-07 23:37:26

本文是云函数的有趣实践,主要功能为返回一个 svg 格式的随机验证码图片

最近在玩云函数,发现官方文档上说了 http 访问服务时可以使用集成响应返回二进制文件。

既然云函数可以返回图片,那么也可以直接返回一个验证码呀。说干就干。

实现思路

使用 svg-captcha 来生成随机验证码然后再 base64 编码之后返回给前端即可。

核心代码


'use strict';
const svgCaptcha = require('svg-captcha')
exports.main = async (event, context) => {
    var codeConfig = {
        size: 5,// 验证码长度
        ignoreChars: '0o1i', // 验证码字符中排除 0o1i
        noise: 2, // 干扰线条的数量
        height: 44
    }
    var captcha = svgCaptcha.create(codeConfig)
    var svgCon = captcha.data
    //svg转base64;
    let src = Buffer.from(svgCon).toString('base64')
    return {
        isBase64Encoded: true,
        statusCode: 200,
        headers: {
            "content-type": "image/svg+xml"
        },
        body: src
    }
};

实例效果


注意图中红框的报错,问了腾讯云开发(TCB)团队的大佬说是插件报错,函数是执行成功了的。

访问实例地址

http://tcb.xuedingmiao.com/verification_code

参考资料

本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0 许可协议。可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。

扫描下方二维码阅读当前文章

浏览器、微信扫码

评 论:

好文推荐
每天进步一点点~