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

本文是云函数的有趣实践,主要功能为返回一个 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

# 参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
微信开发提供了 WebSocket 函数的部署服务,可以方便地搭建 WebSocket 服务器。 以下是部署 WebSocket 服务器的步骤: 1. 在微信公众平台申请开通开发功能,并创建一个开发环境。 2. 在开发控制台中,创建一个函数。选择“WebSocket 函数”类型,并命名为“websocket-server”。 3. 在“websocket-server”函数的代码编辑器中,将以下代码复制进入: ```javascript const io = require('socket.io')(process.env.TCB_SOCKET_SERVER_SDK_SERVER_URL); exports.main = async (event, context) => { console.log('event:', event); console.log('context:', context); const { WebSocketServer } = require('ws'); const wss = new WebSocketServer({ port: 3000 }); wss.on('connection', function connection(ws) { console.log('client connected!'); ws.on('message', function incoming(message) { console.log('received: %s', message); ws.send(`server received: ${message}`); }); }); console.log(`websocket server is listening on port ${wss.options.port}`); return { code: 0, message: `websocket server is listening on port ${wss.options.port}` }; } ``` 4. 点击“部署”按钮,等待函数部署完成。 5. 在微信公众平台开发者工具中,创建一个新项目,并选择“开发快速启动模板”。 6. 进入项目根目录,创建一个名为“websockets.js”的文件,并将以下代码复制进入: ```javascript const socket = require('socket.io-client')(process.env.TCB_SOCKET_SERVER_SDK_CLIENT_URL); socket.on('connect', () => { console.log('connected to websocket server.'); }); socket.on('event', data => { console.log('event:', data); }); socket.on('disconnect', () => { console.log('disconnected from websocket server.'); }); socket.emit('message', 'hello'); socket.on('message', message => { console.log('received:', message); }); ``` 7. 在开发者工具中,右键点击“cloudfunctions”文件夹,选择“创建函数文件夹”。输入名称“websocket-server”。 8. 将“websockets.js”文件放入“websocket-server”文件夹中。 9. 点击“上传并部署”按钮,等待函数部署完成。 10. 在开发者工具中,点击“工具”菜单,选择“启动 WebSocket 调试服务”。等待启动完成后,点击“打开调试页面”按钮。 11. 在调试页面中,查看控制台输出,确认 WebSocket 连接成功,并能收到服务器发送的消息。 至此,WebSocket 服务器的部署就完成了。你可以在客户端中使用 socket.io 连接到服务器,进行实时通信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛定喵君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值