发送验证码 vue

<div>
  <button @click="obtain" v-if="countFind">获取验证码</button>
  <button disabled v-else="countFind">重新发送({{countdown}})</button>
</div>
countdown: 60,
countFind: true
obtain () {
  let that = this
  this.countFind = false
  var timer = setInterval(function () {
    if (that.countdown > 0) {
      that.countdown--
    } else {
      that.countdown = 0
      that.countFind = true
      that.countdown = 60
      clearInterval(timer)
    }
  }, 1000)
}

 

要实现发送验证码,需要借助后端接口来发送短信。以下是一个基于 Vue.js 的示例代码: 1. 首先,在 HTML 中添加一个表单: ```html <template> <div> <form @submit.prevent="sendVerificationCode"> <input type="text" v-model="phone" placeholder="请输入手机号码"> <button type="submit">发送验证码</button> </form> </div> </template> ``` 2. 在 Vue.js 中,定义一个 `sendVerificationCode` 方法来发送验证码: ```javascript <script> import axios from 'axios'; export default { data() { return { phone: '', }; }, methods: { sendVerificationCode() { axios.post('/api/sendVerificationCode', { phone: this.phone }) .then(response => { console.log(response.data); alert('验证码发送成功!'); }) .catch(error => { console.log(error.response.data); alert('验证码发送失败!'); }); }, }, }; </script> ``` 3. 在后端接口中,根据手机号码发送短信验证码。这里使用了 axios 库来发送 POST 请求,后端接口需要返回一个 JSON 格式的数据。 ```javascript const express = require('express'); const nexmo = require('nexmo'); const app = express(); const bodyParser = require('body-parser'); const nexmoClient = new nexmo({ apiKey: process.env.NEXMO_API_KEY, apiSecret: process.env.NEXMO_API_SECRET, applicationId: process.env.NEXMO_APPLICATION_ID, privateKey: process.env.NEXMO_PRIVATE_KEY_PATH, }); app.use(bodyParser.json()); app.post('/api/sendVerificationCode', (req, res) => { const { phone } = req.body; nexmoClient.verify.request({ number: phone, brand: 'My App', code_length: '4', }, (err, result) => { if (err) { console.error(err); res.status(500).send(err); } else { console.log(result); res.json(result); } }); }); app.listen(3000, () => { console.log('Server started on port 3000'); }); ``` 以上就是一个基于 Vue.js 和 Nexmo 的发送验证码示例,你可以根据自己的需求和后端接口来进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值