62 lines
1.3 KiB
Go
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)
|
|
}
|
|
}
|