Author | SHA1 | Message | Date |
---|---|---|---|
guzeng | 79d0a701a4 | 增加腾讯云调用方法 | 2 years ago |
guzeng | e28851965d | 增加腾讯云短信参数 | 2 years ago |
guzeng | a88852475c | 增加腾讯云短信发送参数 | 2 years ago |
guzeng | 7570c1b873 | 增加腾讯云短信发送参数 | 2 years ago |
guzeng | 25c5190d69 | 调整参数 | 2 years ago |
guzeng | 81c36fb21a | 增加短信调用方法 | 2 years ago |
guzeng | e008703fcf | 更新conf版本 | 2 years ago |
@ -0,0 +1,76 @@ | |||||
package smsrpc | |||||
import ( | |||||
"encoding/json" | |||||
"errors" | |||||
"log" | |||||
) | |||||
/** | |||||
* 发送腾讯云短信 | |||||
* @secretId 腾讯云密钥id | |||||
* @secretKey 腾讯云密钥key | |||||
* @signname 签名 | |||||
* @templateId 模板id | |||||
* @mobiles 手机号,多个用逗号隔开 | |||||
* @params 参数值 | |||||
*/ | |||||
func SendTencentSms(secretId, secretKey, smsAppId string, signname, templateId string, mobiles, params []string, url ...string) ([]map[string]interface{}, error) { | |||||
if secretId == "" || secretKey == "" || signname == "" || templateId == "" { | |||||
return nil, errors.New("参数错误") | |||||
} | |||||
if len(mobiles) < 1 || len(params) < 1 { | |||||
return nil, errors.New("参数错误") | |||||
} | |||||
conn, err := rpc_server_conn(url...) | |||||
if err != nil { | |||||
return nil, err | |||||
} | |||||
defer conn.Close() | |||||
mobile, err := json.Marshal(mobiles) | |||||
if err != nil { | |||||
return nil, err | |||||
} | |||||
param, err := json.Marshal(params) | |||||
if err != nil { | |||||
return nil, err | |||||
} | |||||
arg := TencentParam{secretId, secretKey, smsAppId, signname, string(mobile), templateId, string(param)} | |||||
req, err := SetReqData(arg) | |||||
if err != nil { | |||||
return nil, err | |||||
} | |||||
res := &Response{} | |||||
err = conn.SendTencentMsg(req, res) | |||||
if err != nil { | |||||
return nil, err | |||||
} | |||||
res_data_de, err := GetResData(res) | |||||
log.Println(res_data_de, err) | |||||
if err != nil { | |||||
return nil, err | |||||
} | |||||
if res_data_de == "" { | |||||
return nil, nil | |||||
} | |||||
var res_arr []map[string]interface{} | |||||
err = json.Unmarshal([]byte(res_data_de), &res_arr) | |||||
if err != nil { | |||||
return nil, err | |||||
} | |||||
return res_arr, nil | |||||
} |
@ -0,0 +1,20 @@ | |||||
package smsrpc | |||||
import ( | |||||
"testing" | |||||
) | |||||
func Test_SendTencentSms(t *testing.T) { | |||||
secretId := "AKIDGQL0OVLuKTMyKPDk11kCOJyMSHqY0C7l" | |||||
secretKey := "OWOzJM9mGbiaBVYKp30g5C2cvwg9LHwK" | |||||
smsAppId := "1400536841" | |||||
signname := "优品猫" | |||||
templateId := "1166786" | |||||
mobiles := []string{"18607565510"} | |||||
params := []string{"290901", "10"} | |||||
ret, err := SendTencentSms(secretId, secretKey, smsAppId, signname, templateId, mobiles, params) | |||||
t.Log(ret) | |||||
t.Log(err) | |||||
} |
@ -0,0 +1,63 @@ | |||||
package smsrpc | |||||
import ( | |||||
"encoding/json" | |||||
"errors" | |||||
"log" | |||||
) | |||||
/** | |||||
* 发送联通融合通信短信 | |||||
* @cpcode 商户编号 | |||||
* @key accessKey | |||||
* @excode 扩展码 | |||||
* @mobiles 手机号,多个用逗号隔开 | |||||
* @templetId 模板id | |||||
* @msg 模板中变量的值,如果包含多个参数,以半角英文逗号分隔 | |||||
*/ | |||||
func SendWoSms(cpcode, key string, excode, mobiles string, templetId, msg string, url ...string) (map[string]interface{}, error) { | |||||
if cpcode == "" || key == "" { | |||||
return nil, errors.New("参数错误") | |||||
} | |||||
conn, err := rpc_server_conn(url...) | |||||
if err != nil { | |||||
return nil, err | |||||
} | |||||
defer conn.Close() | |||||
arg := WoParam{cpcode, msg, mobiles, excode, templetId, key} | |||||
req, err := SetReqData(arg) | |||||
if err != nil { | |||||
return nil, err | |||||
} | |||||
res := &Response{} | |||||
err = conn.SendWoMsg(req, res) | |||||
if err != nil { | |||||
return nil, err | |||||
} | |||||
res_data_de, err := GetResData(res) | |||||
log.Println(res_data_de, err) | |||||
if err != nil { | |||||
return nil, err | |||||
} | |||||
if res_data_de == "" { | |||||
return nil, nil | |||||
} | |||||
var res_arr map[string]interface{} | |||||
err = json.Unmarshal([]byte(res_data_de), &res_arr) | |||||
if err != nil { | |||||
return nil, err | |||||
} | |||||
return res_arr, nil | |||||
} |
@ -0,0 +1,18 @@ | |||||
package smsrpc | |||||
import ( | |||||
"testing" | |||||
) | |||||
func Test_SendWoSms(t *testing.T) { | |||||
cpcode := "AACDUZ" | |||||
key := "c1a4245d51ad7315e7c1bb5d80eb98b0" | |||||
excode := "750058" | |||||
msg := "345678" | |||||
mobiles := "18607565510" | |||||
templetId := "290901" | |||||
ret, err := SendWoSms(cpcode, key, msg, mobiles, excode, templetId) | |||||
t.Log(ret) | |||||
t.Log(err) | |||||
} |