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

2020-04-05  本文已影响0人  时不我与_

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

自动生成代码
//同样我们也要把我们的配置文件给引入进去
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: '您的验证码已发送,请注意查收',
  }
})
//随机生成验证码
 get code () {
      return () => {
        return Math.random().toString().slice(2, 6).toUpperCase()
      }
    },
//过期时间的生成
    get expire () {
      return () => {
        // 过期时间为4个小时
        return new Date().getTime() + 60 * 60 * 1000 * 4
      }
    }

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


嘻嘻
上一篇 下一篇

猜你喜欢

热点阅读