vue3 使用腾讯云验证码

在index引入js

  <script type='text/javascript' src="https://ssl.captcha.qq.com/TCaptcha.js"></script>

使用

 <el-button class="button" type="primary" size="medium" @click="verificationCode">查询</el-button>

方法

function  verificationCode() {
    let captchaId = 'xxxxxxxx'
    // 腾讯滑块验证码appid生成一个滑块验证码对象
    var captcha = new TencentCaptcha(captchaId, function(res) {
        if (res.ret === 0) {
            // 页面上滑动正确,请求自己的业务接口
            // 记得把验证成功的票据和随机字符带到自己接口中去腾讯验证票据的真实性
            // _this.searchData.ticket = res.ticket
            // _this.searchData.randStr = res.randstr
            // _this.getSearchResult()
            console.log(res, '腾讯云验证码')
        }
    })
    captcha.langFun()
    // 滑块显示
    captcha.show()
}

后端集成地址

https://console.cloud.tencent.com/api/explorer?Product=captcha&Version=2019-07-22&Action=DescribeCaptchaResult&SignVersion=
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Vue使用阿里云验证码,需要在后端实现验证逻辑。 以下是一个基于Node.js的示例代码: ```javascript const https = require('https'); const querystring = require('querystring'); const ACCESS_KEY_ID = 'your_access_key_id'; const ACCESS_SECRET = 'your_access_secret'; const APP_KEY = 'your_app_key'; // 验证验证码 function verifyCode(code, sessionId) { return new Promise((resolve, reject) => { const data = { Code: code, SessionId: sessionId, Sig: '', Token: '', }; const content = querystring.stringify(data); const path = `/v2/verify`; const date = new Date().toUTCString(); // 计算签名 const signature = `POST\napplication/x-www-form-urlencoded\n${date}\n${path}`; const hmac = crypto.createHmac('sha1', ACCESS_SECRET); hmac.update(signature); const sig = hmac.digest('base64'); // 发起请求 const options = { hostname: 'captcha.aliyuncs.com', path: path, method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': content.length, 'Date': date, 'Authorization': `ACS ${ACCESS_KEY_ID}:${sig}`, 'x-acs-version': '2019-01-22', 'x-acs-region-id': 'cn-hangzhou', }, }; const req = https.request(options, (res) => { res.setEncoding('utf8'); let rawData = ''; res.on('data', (chunk) => { rawData += chunk; }); res.on('end', () => { try { const parsedData = JSON.parse(rawData); if (parsedData.Code === 'OK') { resolve(true); } else { resolve(false); } } catch (e) { reject(e); } }); }); req.on('error', (e) => { reject(e); }); req.write(content); req.end(); }); } // 在路由中使用 router.post('/verifyCode', async (req, res) => { const code = req.body.code; const sessionId = req.body.sessionId; const isValid = await verifyCode(code, sessionId); if (isValid) { // 验证成功,继续处理业务逻辑 } else { // 验证失败,返回错误信息 } }); ``` 在上面的代码中,我们使用了Node.js中的https模块来发起HTTPS请求,并使用阿里云提供的API来验证验证码。首先,我们需要准备一些必要的参数,包括ACCESS_KEY_ID、ACCESS_SECRET和APP_KEY。然后,我们使用这些参数来计算签名,并在请求头中添加签名和其他必要的参数。最后,我们发起请求并解析返回的结果。 在Vue中,我们可以使用Axios库来发起请求并将验证码和sessionId传递给后端。以下是一个简单的代码示例: ```javascript // 在Vue组件中使用 async function verifyCode() { const response = await axios.post('/api/verifyCode', { code: 'your_code', sessionId: 'your_session_id', }); if (response.data === true) { // 验证成功,继续处理业务逻辑 } else { // 验证失败,返回错误信息 } } ``` 在上面的代码中,我们使用Axios库来发送POST请求,并将验证码和sessionId作为参数传递给后端。如果验证码验证成功,后端将返回true;否则,返回false。根据返回结果,我们可以继续处理业务逻辑或者显示错误信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

淡忘_cx

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

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

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

打赏作者

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

抵扣说明:

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

余额充值