You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
package cfg
import (
"time"
)
// Config 短信验证码配置
type SMSConfig struct {
// 区域配置 +86/.../global
Regions map [ string ] RegionConfig ` json:"regions" `
Default RegionConfig ` json:"default" ` // 默认区域配置
// 全局配置
Global GlobalConfig ` json:"global" `
}
// RegionConfig 区域配置
type RegionConfig struct {
Provider string ` json:"provider" ` // aliyun, tencent
TemplateID string ` json:"template_id" ` // 模板ID
Key string ` json:"key" `
Secret string ` json:"secret" `
SignName string ` json:"sign_name" `
Endpoint string ` json:"endpoint" `
}
// GlobalConfig 全局配置
type GlobalConfig struct {
CodeLength int ` json:"code_length" usage:"验证码长度, 默认6位" `
CodeExpiry time . Duration ` json:"code_expiry" usage:"验证码有效期, 默认5分钟" `
SendInterval time . Duration ` json:"send_interval" usage:"发送间隔, 默认60秒" `
MaxAttempts int ` json:"max_attempts" usage:"最大重试次数, 默认3次" `
MaxDailyCount int ` json:"max_daily_count" usage:"每日最大发送次数, 默认100次,0禁用, -1不限制" `
}
// DefaultConfig 默认配置
func defaultSMS ( ) * SMSConfig {
return & SMSConfig {
Global : GlobalConfig {
CodeLength : 6 ,
CodeExpiry : 5 * time . Minute ,
SendInterval : 60 * time . Second ,
MaxAttempts : 3 ,
MaxDailyCount : 100 ,
} ,
Default : RegionConfig {
Provider : "aliyun" ,
} ,
}
}