diff --git a/wo.client.go b/wo.client.go new file mode 100644 index 0000000..28785ef --- /dev/null +++ b/wo.client.go @@ -0,0 +1,54 @@ +package smsrpc + +import ( + "encoding/json" + "errors" + "log" +) + +func SendWoSms(cpcode, key string, msg, mobiles string, excode, templetId 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 + +} diff --git a/wo.client_test.go b/wo.client_test.go new file mode 100644 index 0000000..c16b1f6 --- /dev/null +++ b/wo.client_test.go @@ -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) +}