main.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package sms
  2. import (
  3. openapi "github.com/alibabacloud-go/darabonba-openapi/client"
  4. dysmsapi20170525 "github.com/alibabacloud-go/dysmsapi-20170525/v2/client"
  5. smsutil "github.com/alibabacloud-go/tea-utils/service"
  6. "github.com/alibabacloud-go/tea/tea"
  7. "github.com/goccy/go-json"
  8. "os"
  9. )
  10. var client *dysmsapi20170525.Client
  11. // InitOSSClient 初始化OSS鉴权客户端
  12. func Init() error {
  13. var _client *dysmsapi20170525.Client
  14. var config = new(openapi.Config)
  15. key := os.Getenv("SMS_ACCESS_KEY_ID")
  16. config.AccessKeyId = &key
  17. secret := os.Getenv("SMS_ACCESS_KEY_SECRET")
  18. config.AccessKeySecret = &secret
  19. // 访问的域名
  20. config.Endpoint = tea.String("dysmsapi.aliyuncs.com")
  21. _client = &dysmsapi20170525.Client{}
  22. _client, err := dysmsapi20170525.NewClient(config)
  23. if err != nil {
  24. panic("阿里云sms初始化失败。。。。")
  25. }
  26. client = _client
  27. return nil
  28. }
  29. // Put 将文件流保存到指定目录
  30. func Send(phoneNum string, code string, prefix string) (response *dysmsapi20170525.SendSmsResponse, err error) {
  31. var params = make(map[string]interface{})
  32. params["code"] = code
  33. paramStr, _ := json.Marshal(params)
  34. var sendSmsRequest = new(dysmsapi20170525.SendSmsRequest)
  35. if prefix == "" || prefix == "86" {
  36. sendSmsRequest.PhoneNumbers = tea.String(phoneNum)
  37. sendSmsRequest.SignName = tea.String("八点八数字")
  38. sendSmsRequest.TemplateCode = tea.String("SMS_243775044")
  39. sendSmsRequest.TemplateParam = tea.String(string(paramStr))
  40. } else {
  41. sendSmsRequest.PhoneNumbers = tea.String(prefix + phoneNum)
  42. sendSmsRequest.SignName = tea.String("XMEN")
  43. sendSmsRequest.TemplateCode = tea.String("SMS_244595512")
  44. sendSmsRequest.TemplateParam = tea.String(string(paramStr))
  45. }
  46. runtime := &smsutil.RuntimeOptions{}
  47. return client.SendSmsWithOptions(sendSmsRequest, runtime)
  48. }