|
|
- 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
-
- }
|