interface.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package datacube
  2. import (
  3. "fmt"
  4. "github.com/silenceper/wechat/v2/util"
  5. )
  6. const (
  7. getInterfaceSummary = "https://api.weixin.qq.com/datacube/getinterfacesummary"
  8. getInterfaceSummaryHour = "https://api.weixin.qq.com/datacube/getinterfacesummaryhour"
  9. )
  10. //ResInterfaceSummary 接口分析数据响应
  11. type ResInterfaceSummary struct {
  12. util.CommonError
  13. List []struct {
  14. RefDate string `json:"ref_date"`
  15. CallbackCount int `json:"callback_count"`
  16. FailCount int `json:"fail_count"`
  17. TotalTimeCost int `json:"total_time_cost"`
  18. MaxTimeCost int `json:"max_time_cost"`
  19. } `json:"list"`
  20. }
  21. //ResInterfaceSummaryHour 接口分析分时数据响应
  22. type ResInterfaceSummaryHour struct {
  23. util.CommonError
  24. List []struct {
  25. RefDate string `json:"ref_date"`
  26. RefHour int `json:"ref_hour"`
  27. CallbackCount int `json:"callback_count"`
  28. FailCount int `json:"fail_count"`
  29. TotalTimeCost int `json:"total_time_cost"`
  30. MaxTimeCost int `json:"max_time_cost"`
  31. } `json:"list"`
  32. }
  33. //GetInterfaceSummary 获取接口分析数据
  34. func (cube *DataCube) GetInterfaceSummary(s string, e string) (resInterfaceSummary ResInterfaceSummary, err error) {
  35. accessToken, err := cube.GetAccessToken()
  36. if err != nil {
  37. return
  38. }
  39. uri := fmt.Sprintf("%s?access_token=%s", getInterfaceSummary, accessToken)
  40. reqDate := &reqDate{
  41. BeginDate: s,
  42. EndDate: e,
  43. }
  44. response, err := util.PostJSON(uri, reqDate)
  45. if err != nil {
  46. return
  47. }
  48. err = util.DecodeWithError(response, &resInterfaceSummary, "GetInterfaceSummary")
  49. return
  50. }
  51. //GetInterfaceSummaryHour 获取接口分析分时数据
  52. func (cube *DataCube) GetInterfaceSummaryHour(s string, e string) (resInterfaceSummaryHour ResInterfaceSummaryHour, err error) {
  53. accessToken, err := cube.GetAccessToken()
  54. if err != nil {
  55. return
  56. }
  57. uri := fmt.Sprintf("%s?access_token=%s", getInterfaceSummaryHour, accessToken)
  58. reqDate := &reqDate{
  59. BeginDate: s,
  60. EndDate: e,
  61. }
  62. response, err := util.PostJSON(uri, reqDate)
  63. if err != nil {
  64. return
  65. }
  66. err = util.DecodeWithError(response, &resInterfaceSummaryHour, "GetInterfaceSummaryHour")
  67. return
  68. }