Skip to content

sms — 短信工具 ​

sms 模块提供了短信发送和辅助功能。

引入方式 ​

javascript
var sms = require("sms")

Builder 构建模式 ​

javascript
var client = sms.New()
    .Provider("aliyun")
    .Config({
        AccessKeyId: "your-access-key-id",
        AccessKeySecret: "your-access-key-secret",
        SignName: "SSS-RUN",
        TemplateCode: "SMS_123456"
    })
    .Build()

支持的提供商 ​

aliyun、tencent、huawei、twilio、aws_sns、qiniu、yunpian、ronglian、ucpaas

发送短信 ​

Send — 发送短信 ​

javascript
client.Send({
    Phone: "13800138000",
    Params: { code: "123456" }
})

SendBatch — 批量发送 ​

javascript
client.SendBatch({
    Phones: ["13800138000", "13900139000"],
    Params: { message: "系统维护通知" }
})

辅助方法 ​

javascript
var smsUtil = sms.New()

// 验证手机号
smsUtil.ValidatePhone("13800138000")     // true

// 手机号脱敏
smsUtil.MaskPhone("13800138000")          // "138****8000"

// 生成验证码
var code = smsUtil.GenerateCode(6)         // "123456"

// 列出提供商
smsUtil.ListProviders()                    // ["aliyun", "tencent", ...]

完整示例 ​

javascript
var sms = require("sms")

// 创建阿里云短信客户端
var client = sms.New()
    .Provider("aliyun")
    .Config({
        AccessKeyId: env.Get("SMS_ACCESS_KEY_ID"),
        AccessKeySecret: env.Get("SMS_ACCESS_KEY_SECRET"),
        SignName: "SSS-RUN",
        TemplateCode: "SMS_123456"
    })
    .Build()

// 发送验证码
var phone = request.Input("phone")
var code = Math.floor(Math.random() * 900000 + 100000).toString()

client.Send({
    Phone: phone,
    Params: { code: code }
})

// 缓存验证码
redis.Set("sms:" + phone, code, 300)
response.Success({ message: "验证码已发送" })

版权所有.