|
|
@@ -1,11 +1,11 @@
|
|
|
package sms
|
|
|
|
|
|
import (
|
|
|
- "encoding/json"
|
|
|
+ "encoding/json"
|
|
|
|
|
|
- aliyunsmsclient "github.com/KenmyZhang/aliyun-communicate"
|
|
|
+ aliyunsmsclient "github.com/KenmyZhang/aliyun-communicate"
|
|
|
|
|
|
- "github.com/runningwater/gohub/pkg/logger"
|
|
|
+ "github.com/runningwater/gohub/pkg/logger"
|
|
|
)
|
|
|
|
|
|
// Aliyun 阿里云短信驱动,实现 Driver 接口
|
|
|
@@ -23,51 +23,51 @@ type Aliyun struct{}
|
|
|
// bool : 发送成功返回 true,失败返回 false
|
|
|
func (a *Aliyun) Send(phone string, message Message, config map[string]string) bool {
|
|
|
|
|
|
- const moduleName = "短信[阿里云]"
|
|
|
+ const moduleName = "短信[阿里云]"
|
|
|
|
|
|
- smsClient := aliyunsmsclient.New("https://dysmsapi.aliyuncs.com/")
|
|
|
+ smsClient := aliyunsmsclient.New("https://dysmsapi.aliyuncs.com/")
|
|
|
|
|
|
- templateParam, err := json.Marshal(message.Data)
|
|
|
- if err != nil {
|
|
|
- logger.ErrorString(moduleName, "解析模板参数失败", err.Error())
|
|
|
- return false
|
|
|
- }
|
|
|
+ templateParam, err := json.Marshal(message.Data)
|
|
|
+ if err != nil {
|
|
|
+ logger.ErrorString(moduleName, "解析模板参数失败", err.Error())
|
|
|
+ return false
|
|
|
+ }
|
|
|
|
|
|
- logger.DebugJSON(moduleName, "配置信息", config)
|
|
|
+ logger.DebugJSON(moduleName, "配置信息", config)
|
|
|
|
|
|
- // 调用阿里云短信服务API(参数顺序需与官方SDK保持一致)
|
|
|
- result, err := smsClient.Execute(
|
|
|
- config["access_key_id"], // 访问密钥ID
|
|
|
- config["access_key_secret"], // 访问密钥
|
|
|
- phone, // 接收手机号
|
|
|
- config["sign_name"], // 短信签名
|
|
|
- message.Template, // 模板ID
|
|
|
- string(templateParam), // JSON格式的模板参数
|
|
|
- )
|
|
|
+ // 调用阿里云短信服务API(参数顺序需与官方SDK保持一致)
|
|
|
+ result, err := smsClient.Execute(
|
|
|
+ config["access_key_id"], // 访问密钥ID
|
|
|
+ config["access_key_secret"], // 访问密钥
|
|
|
+ phone, // 接收手机号
|
|
|
+ config["sign_name"], // 短信签名
|
|
|
+ message.Template, // 模板ID
|
|
|
+ string(templateParam), // JSON格式的模板参数
|
|
|
+ )
|
|
|
|
|
|
- // 记录原始请求和响应(用于调试和审计)
|
|
|
- logger.DebugJSON(moduleName, "请求内容", smsClient.Request)
|
|
|
- logger.DebugJSON(moduleName, "接口响应", result)
|
|
|
+ // 记录原始请求和响应(用于调试和审计)
|
|
|
+ logger.DebugJSON(moduleName, "请求内容", smsClient.Request)
|
|
|
+ logger.DebugJSON(moduleName, "接口响应", result)
|
|
|
|
|
|
- if err != nil {
|
|
|
- logger.ErrorString(moduleName, "发送失败", err.Error())
|
|
|
- return false
|
|
|
- }
|
|
|
+ if err != nil {
|
|
|
+ logger.ErrorString(moduleName, "发送失败", err.Error())
|
|
|
+ return false
|
|
|
+ }
|
|
|
|
|
|
- // 序列化服务端响应结果
|
|
|
- resultJson, err := json.Marshal(result)
|
|
|
- if err != nil {
|
|
|
- logger.ErrorString(moduleName, "解析接口响应 JSON 失败", err.Error())
|
|
|
- return false
|
|
|
- }
|
|
|
+ // 序列化服务端响应结果
|
|
|
+ resultJson, err := json.Marshal(result)
|
|
|
+ if err != nil {
|
|
|
+ logger.ErrorString(moduleName, "解析接口响应 JSON 失败", err.Error())
|
|
|
+ return false
|
|
|
+ }
|
|
|
|
|
|
- // 根据官方SDK提供的方法判断是否成功
|
|
|
- if result.IsSuccessful() {
|
|
|
- logger.DebugString(moduleName, "发送成功", string(resultJson))
|
|
|
- return true
|
|
|
- } else {
|
|
|
- logger.ErrorString(moduleName, "发送失败, 服务商返回错误", string(resultJson))
|
|
|
- return false
|
|
|
- }
|
|
|
+ // 根据官方SDK提供的方法判断是否成功
|
|
|
+ if result.IsSuccessful() {
|
|
|
+ logger.DebugString(moduleName, "发送成功", string(resultJson))
|
|
|
+ return true
|
|
|
+ } else {
|
|
|
+ logger.ErrorString(moduleName, "发送失败, 服务商返回错误", string(resultJson))
|
|
|
+ return false
|
|
|
+ }
|
|
|
|
|
|
}
|