短信rpc
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
897 B

  1. package smsrpc
  2. import (
  3. "encoding/json"
  4. "errors"
  5. "log"
  6. )
  7. func SendWoSms(cpcode, key string, msg, mobiles string, excode, templetId string, url ...string) (map[string]interface{}, error) {
  8. if cpcode == "" || key == "" {
  9. return nil, errors.New("参数错误")
  10. }
  11. conn, err := rpc_server_conn(url...)
  12. if err != nil {
  13. return nil, err
  14. }
  15. defer conn.Close()
  16. arg := WoParam{cpcode, msg, mobiles, excode, templetId, key}
  17. req, err := SetReqData(arg)
  18. if err != nil {
  19. return nil, err
  20. }
  21. res := &Response{}
  22. err = conn.SendWoMsg(req, res)
  23. if err != nil {
  24. return nil, err
  25. }
  26. res_data_de, err := GetResData(res)
  27. log.Println(res_data_de, err)
  28. if err != nil {
  29. return nil, err
  30. }
  31. if res_data_de == "" {
  32. return nil, nil
  33. }
  34. var res_arr map[string]interface{}
  35. err = json.Unmarshal([]byte(res_data_de), &res_arr)
  36. if err != nil {
  37. return nil, err
  38. }
  39. return res_arr, nil
  40. }