sms.go 1.59 KB
// This file is auto-generated, don't edit it. Thanks.
package sms

import (
	"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"
)


/**
 * 使用AK&SK初始化账号Client
 * @param accessKeyId
 * @param accessKeySecret
 * @return Client
 * @throws Exception
 */

var (
	AccessKeyId = "LTAI5tEcfFpUU5eAL2N8D19h"
	AccessKeySecret = "L1DQ4Pms6TpmNXc15XsIskbEINizLy"
	TemplateCode = "SMS_227264125"
	SignName = "朝露"
)

func CreateClient (accessKeyId *string, accessKeySecret *string) (_result *dysmsapi20170525.Client, _err error) {
	config := &openapi.Config{
		// 您的AccessKey ID
		AccessKeyId: accessKeyId,
		// 您的AccessKey Secret
		AccessKeySecret: accessKeySecret,
	}
	// 访问的域名
	config.Endpoint = tea.String("dysmsapi.aliyuncs.com")
	_result = &dysmsapi20170525.Client{}
	_result, _err = dysmsapi20170525.NewClient(config)
	return _result, _err
}

func SendSms(phone string, code string) (_err error) {
	client, _err := CreateClient(tea.String(AccessKeyId), tea.String(AccessKeySecret))
	if _err != nil {
		return _err
	}
	TempleParam := fmt.Sprintf("{\"code\": \"%s\"}", code)

	sendSmsRequest := &dysmsapi20170525.SendSmsRequest{
		PhoneNumbers: &phone,
		TemplateCode: &TemplateCode,
		SignName: &SignName,
		TemplateParam: &TempleParam,
	}
	// 复制代码运行请自行打印 API 的返回值
	rsp, _err := client.SendSms(sendSmsRequest)
	if _err != nil {
		return _err
	}
	if *rsp.Body.Code != "OK" {
		_err = errors.New(*rsp.Body.Message)
	}
	return _err
}