@4a/sms 中文文档教程

发布于 3年前 浏览 32 项目主页 更新于 3年前

SMS短信验证码

  • 阿里云短信验证码发送和验证
  • 腾讯云短信验证码发送和验证

Install

npm i @4a/sms
# or
yarn add @4a/sms

Options

interface Options {
    mode: Mode
    redis: Redis // ioredis
    debug?: boolean
    qqconfig?: QcloudConfig
    aliconfig?: AliyunConfig
}

enum Mode {
    aliyun = 'aliyun',
    qcloud = 'qcloud',
}

interface QcloudConfig {
    AppId: string
    accessKeyId: string
    accessKeySecret: string
    SignName: string
    TemplateId: string
    RegionId?: string // default = ap-guangzhou
}

interface AliyunConfig {
    accessKeyId: string
    accessKeySecret: string
    SignName: string
    TemplateId: string
    RegionId?: string // default = cn-hangzhou
}

Usage

短信验证码会被存储在redis中

  • 默认有效期:6分钟
  • 默认存储Key:app:sms:passcode:${tel}
import SMS from '@4a/sms'
const { SMS } = require('@4a/sms')
const { aliyunConfig, qcloudConfig } = require('./config')
const Redis = require('ioredis')
const redis = new Redis()

const client = new SMS({
    mode: 'aliyun',
    redis,
    debug: true,
    qqconfig: qcloudConfig,
    aliconfig: aliyunConfig,
})

// 创建一个短信验证码
// 模拟发送,可在测试环境使用该api
client.create(tel)

// 创建一个短信验证码
// 真实发送,生产环境使用该api
client.send(tel)


// 验证短信验证码是否合法
client.verify(tel, code)
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文