Appearance
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: "验证码已发送" })