package main import ( "encoding/json" "fmt" openapi "github.com/alibabacloud-go/darabonba-openapi/client" dysmsapi20170525 "github.com/alibabacloud-go/dysmsapi-20170525/v2/client" "github.com/alibabacloud-go/tea/tea" ) const _accessKeyId string = "LTAI5tGjnZY6k799BHxhmqcm" const _accessKeySecret string = "eU1DmULbgHe2dnIg3P93634PO2vEh5" var client *dysmsapi20170525.Client func CreateClient(accessKeyId string, accessKeySecret string) (_result *dysmsapi20170525.Client, _err error) { config := &openapi.Config{ // 您的AccessKey ID AccessKeyId: tea.String(accessKeyId), // 您的AccessKey Secret AccessKeySecret: tea.String(accessKeySecret), } // 访问的域名 config.Endpoint = tea.String("dysmsapi.aliyuncs.com") _result, _err = dysmsapi20170525.NewClient(config) return _result, _err } func SendSMS(data *[]byte) error { if nil == client { if cli, err := CreateClient(_accessKeyId, _accessKeySecret); err != nil { return err } else { client = cli } } sendSmsRequest := &dysmsapi20170525.SendSmsRequest{} if err := json.Unmarshal(*data, sendSmsRequest); err != nil { return err } result, err := client.SendSms(sendSmsRequest) if err != nil { print(result) return err } if *result.Body.Code != "OK" { return fmt.Errorf("[%s]: %s", *result.Body.Code, *result.Body.Message) } return nil }