Files
huangguo_server/common/sms/sms.go
T
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

62 lines
1.3 KiB
Go

package sms
import (
"strings"
"91porn-server/common/sms/fengniao"
"91porn-server/common/ysphone"
)
type Provider = int
const (
FengNiao Provider = 1 //蜂鸟
YunPian Provider = 2 //云片
)
type FengNiaoConfig struct {
Url string `json:"url"`
ChinaMercId string `json:"chinaMercId"`
ChinaSecret string `json:"chinaSecret"`
ChinaTmplId string `json:"chinaTmplId"`
InterMercId string `json:"interMercId"`
InterSecret string `json:"interSecret"`
InterTmplId string `json:"interTmplId"`
}
type Config struct {
FengNiao FengNiaoConfig `json:"fengNiao"`
}
var cfg Config
func Init(c Config) {
cfg = c
}
func sendByFengNiao(mobile string, code string) error {
newMobile := ysphone.FormatPhoneNumber(mobile)
fn := fengniao.FengNiao{
Url: cfg.FengNiao.Url,
MercId: cfg.FengNiao.InterMercId,
Secret: cfg.FengNiao.InterSecret,
Tmpl: cfg.FengNiao.InterTmplId,
}
if strings.HasPrefix(newMobile, "+86") {
fn.MercId = cfg.FengNiao.ChinaMercId
fn.Secret = cfg.FengNiao.ChinaSecret
fn.Tmpl = cfg.FengNiao.ChinaTmplId
}
return (&fn).Send(newMobile, code)
}
// Send 发送短信
func Send(p Provider, mobile string, code string) error {
switch p {
case FengNiao:
return sendByFengNiao(mobile, code)
default:
return sendByFengNiao(mobile, code)
}
}