在Koa项目中使用短信发送功能

前面我们讲解了在Koa项目中如何使用ES6的语法进行项目的开发,接下来我们就通过Koa进行接口的制作

  • 首先作者使用的服务器为腾讯云的服务器,具体服务器根据厂商的API来操作即可。
    首先该链接为腾讯云发送短信的代码链接地址
自动生成代码
  • 如图所示,我们通过腾讯云的功能即可在该位置自动生成NodeJS的接口代码。
  • 然后我们只需要在左边输入框中填入对应的账户SecretID以及SecretKey即可,具体可以通过如下图所示的位置找到


    id&key
//同样我们也要把我们的配置文件给引入进去
import SmsConfig from '../../dbs/config'
const router = new Router({
  prefix: '/sendcode'
})
//定义请求数据的BaseURL
let Store = new Redis().client
//将Redis实例化,后期我们需要存储我们的验证码到Redis中。这样方便我们进行校验

*****
//省略部分复制粘贴的代码
*****

req.PhoneNumberSet = [`+86${phone}`]
const saveExpire = await Store.hget(`nodeSms:${phone}`,'expire')
  if (saveExpire && new Date().getTime() - saveExpire < 0) {
    ctx.body = {
      code: -1,
      msg: '验证码已发送,请勿频繁操作'
    }
    return false
  }
  await client.SendSms(req, (err,respones) => {
      if (err) {
          console.log(err);
          return;
      }
Store.hmset(`nodeSms:${SmsCode.user}`,'code',SmsCode.code,'expire',SmsCode.expire,'phone',phone)
  });
//通过Redis 的hmset方法进行哈希的存储数据
//下方为返回数据格式以及信息
  ctx.body = {
    code: 0,
    msg: '您的验证码已发送,请注意查收',
  }
})
  • config.js部分配置如下
//随机生成验证码
 get code () {
      return () => {
        return Math.random().toString().slice(2, 6).toUpperCase()
      }
    },
//过期时间的生成
    get expire () {
      return () => {
        // 过期时间为4个小时
        return new Date().getTime() + 60 * 60 * 1000 * 4
      }
    }

这样我们就完成了使用腾讯云的短信功能发送验证码啦。


嘻嘻

你可能感兴趣的:(在Koa项目中使用短信发送功能)