// SendMsg 消息推送 func SendMsg(req *SendMessageRequest) (resp *CommonResponse, err error) { uri := "xxx" b, err := json.Marshal(req) if err != nil { return nil, fmt.Errorf("cant't marshal request :%v", err.Error()) } header := http.Header{} header.Add("Content-type", "application/json") response, err := hClient.Post(uri, bytes.NewReader(b), header) if err != nil { return nil, fmt.Errorf("cant't send message :%v", err.Error()) } data, err := io.ReadAll(response.Body) if err != nil { return nil, fmt.Errorf("cant't read response data :%v", err.Error()) } if err = json.Unmarshal(data, &resp); err != nil { return nil, fmt.Errorf("cant't unmarshal data to resp :%v", err.Error()) } if resp.ErrCode != 0 { return nil, fmt.Errorf("upsh err %v", resp.ErrCode) } return } // 别名绑定 func BindAlias(req []BindAliasRequest) (resp *CommonResponse, err error) { uri := "xxx" b, err := json.Marshal(req) if err != nil { return nil, fmt.Errorf("cant't marshal request :%v", err.Error()) } header := http.Header{} header.Add("Content-type", "application/json") response, err := hClient.Post(uri, bytes.NewReader(b), header) if err != nil { return nil, fmt.Errorf("cant't send message :%v", err.Error()) } data, err := io.ReadAll(response.Body) if err != nil { return nil, fmt.Errorf("cant't read response data :%v", err.Error()) } if err = json.Unmarshal(data, &resp); err != nil { return nil, fmt.Errorf("cant't unmarshal data to resp :%v", err.Error()) } if resp.ErrCode != 0 { return nil, fmt.Errorf("upsh err %v", resp.ErrCode) } return } // 批量解绑 func UnBoundAlias(req []BindAliasRequest) (resp *CommonResponse, err error) { uri := "xxx" b, err := json.Marshal(req) if err != nil { return nil, fmt.Errorf("cant't marshal request :%v", err.Error()) } header := http.Header{} header.Add("Content-type", "application/json") fmt.Println(string(b)) response, err := hClient.Post(uri, bytes.NewReader(b), header) if err != nil { return nil, fmt.Errorf("cant't send message :%v", err.Error()) } fmt.Println("resp:", response) data, err := io.ReadAll(response.Body) if err != nil { return nil, fmt.Errorf("cant't read response data :%v", err.Error()) } if err = json.Unmarshal(data, &resp); err != nil { return nil, fmt.Errorf("cant't unmarshal data to resp :%v", err.Error()) } if resp.ErrCode != 0 { return nil, fmt.Errorf("upsh err %v", resp.ErrCode) } return } // 根据cid查询别名 func GetAliasByCid(req *AliasByCid) (resp *CommonResponse, err error) { uri := "xxx" b, err := json.Marshal(req) if err != nil { return nil, fmt.Errorf("cant't marshal request :%v", err.Error()) } header := http.Header{} header.Add("Content-type", "application/json") response, err := hClient.Post(uri, bytes.NewReader(b), header) if err != nil { return nil, fmt.Errorf("cant't send message :%v", err.Error()) } fmt.Println("resp:", response) data, err := io.ReadAll(response.Body) if err != nil { return nil, fmt.Errorf("cant't read response data :%v", err.Error()) } if err = json.Unmarshal(data, &resp); err != nil { return nil, fmt.Errorf("cant't unmarshal data to resp :%v", err.Error()) } if resp.ErrCode != 0 { return nil, fmt.Errorf("upsh err %v", resp.ErrCode) } return } // 根据别名查询cid func GetCidByAlias(req *CidByAlias) (resp *CommonResponse, err error) { uri := "xxx" b, err := json.Marshal(req) if err != nil { return nil, fmt.Errorf("cant't marshal request :%v", err.Error()) } header := http.Header{} header.Add("Content-type", "application/json") response, err := hClient.Post(uri, bytes.NewReader(b), header) if err != nil { return nil, fmt.Errorf("cant't send message :%v", err.Error()) } fmt.Println("resp:", response) data, err := io.ReadAll(response.Body) if err != nil { return nil, fmt.Errorf("cant't read response data :%v", err.Error()) } if err = json.Unmarshal(data, &resp); err != nil { return nil, fmt.Errorf("cant't unmarshal data to resp :%v", err.Error()) } if resp.ErrCode != 0 { return nil, fmt.Errorf("upsh err %v", resp.ErrCode) } return }
Golang 操作uni app推送
最新推荐文章于 2024-10-04 21:49:15 发布
文章描述了如何通过发送JSON数据并使用HTTPPOST方法调用API接口实现消息推送功能,包括SendMessageRequest,BindAliasRequest,UnBoundAliasRequest以及查询CID和别名的操作。
摘要由CSDN通过智能技术生成