parent
e5ccc1dd36
commit
832871d49d
@ -0,0 +1,60 @@
|
|||||||
|
package register
|
||||||
|
|
||||||
|
import (
|
||||||
|
"Open_IM/pkg/common/config"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
openapi "github.com/alibabacloud-go/darabonba-openapi/client"
|
||||||
|
dysmsapi20170525 "github.com/alibabacloud-go/dysmsapi-20170525/v2/client"
|
||||||
|
"github.com/alibabacloud-go/tea/tea"
|
||||||
|
)
|
||||||
|
|
||||||
|
type AliSMS struct {
|
||||||
|
client *dysmsapi20170525.Client
|
||||||
|
}
|
||||||
|
|
||||||
|
func (a AliSMS) SendSms(code int, phoneNumber string) (resp interface{}, err error) {
|
||||||
|
sendSmsRequest := &dysmsapi20170525.SendSmsRequest{
|
||||||
|
PhoneNumbers: tea.String(phoneNumber),
|
||||||
|
SignName: tea.String(config.Config.Demo.AliSMSVerify.SignName),
|
||||||
|
TemplateCode: tea.String(config.Config.Demo.AliSMSVerify.VerificationCodeTemplateCode),
|
||||||
|
TemplateParam: tea.String(fmt.Sprintf("{\"code\":\"%d\"}", code)),
|
||||||
|
}
|
||||||
|
response, err := a.client.SendSms(sendSmsRequest)
|
||||||
|
if err != nil {
|
||||||
|
//log.NewError(params.OperationID, "sendSms error", account, "err", err.Error())
|
||||||
|
//c.JSON(http.StatusOK, gin.H{"errCode": constant.SmsSendCodeErr, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"})
|
||||||
|
return resp, err
|
||||||
|
}
|
||||||
|
if *response.Body.Code != "OK" {
|
||||||
|
//log.NewError(params.OperationID, "alibabacloud sendSms error", account, "err", response.Body.Code, response.Body.Message)
|
||||||
|
//c.JSON(http.StatusOK, gin.H{"errCode": constant.SmsSendCodeErr, "errMsg": "Enter the superCode directly in the verification code box, SuperCode can be configured in config.xml"})
|
||||||
|
//return
|
||||||
|
return resp, errors.New("alibabacloud sendSms error")
|
||||||
|
}
|
||||||
|
return resp, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewAliSMS() (*AliSMS, error) {
|
||||||
|
var a AliSMS
|
||||||
|
client, err := createClient(tea.String(config.Config.Demo.AliSMSVerify.AccessKeyID), tea.String(config.Config.Demo.AliSMSVerify.AccessKeySecret))
|
||||||
|
if err != nil {
|
||||||
|
return &a, err
|
||||||
|
}
|
||||||
|
a.client = client
|
||||||
|
return &a, nil
|
||||||
|
}
|
||||||
|
func createClient(accessKeyId *string, accessKeySecret *string) (result *dysmsapi20170525.Client, err error) {
|
||||||
|
c := &openapi.Config{
|
||||||
|
// 您的AccessKey ID
|
||||||
|
AccessKeyId: accessKeyId,
|
||||||
|
// 您的AccessKey Secret
|
||||||
|
AccessKeySecret: accessKeySecret,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 访问的域名
|
||||||
|
c.Endpoint = tea.String("dysmsapi.aliyuncs.com")
|
||||||
|
result = &dysmsapi20170525.Client{}
|
||||||
|
result, err = dysmsapi20170525.NewClient(c)
|
||||||
|
return result, err
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
package register
|
||||||
|
|
||||||
|
type SMS interface {
|
||||||
|
SendSms(code int, phoneNumber string) (resp interface{}, err error)
|
||||||
|
}
|
Loading…
Reference in new issue