ipcast.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. package ipcast
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "github.com/goccy/go-json"
  6. "github.com/sirupsen/logrus"
  7. "lcfns/model/common/response"
  8. ipResp "lcfns/model/ipcast/response"
  9. "net/http"
  10. )
  11. type IpcastApi struct {
  12. }
  13. func (api *IpcastApi) Play(c *gin.Context) {
  14. baseUrl := IpcastBaseUrl(c)
  15. if baseUrl == "" {
  16. response.FailWithMessage("获取baseUrl失败", c)
  17. return
  18. }
  19. url := baseUrl + "/v1/speech"
  20. fmt.Println("url:", url)
  21. data, err := c.GetRawData()
  22. if err != nil {
  23. response.FailWithMessage("获取请求参数出错", c)
  24. logrus.Error(err)
  25. return
  26. }
  27. all, err := ipcastService.Common(url, http.MethodPost, data)
  28. if err != nil {
  29. response.Fail(c)
  30. logrus.Error(err)
  31. return
  32. }
  33. var resp ipResp.PingResp
  34. json.Unmarshal(all, &resp)
  35. response.OkWithData(resp.Message, c)
  36. }
  37. func (api *IpcastApi) Stop(c *gin.Context) {
  38. baseUrl := IpcastBaseUrl(c)
  39. if baseUrl == "" {
  40. response.FailWithMessage("获取baseUrl失败", c)
  41. return
  42. }
  43. url := baseUrl + "/v1/speech"
  44. fmt.Println("url:", url)
  45. all, err := ipcastService.Common(url, http.MethodDelete, nil)
  46. if err != nil {
  47. response.Fail(c)
  48. logrus.Error(err)
  49. return
  50. }
  51. var resp ipResp.PingResp
  52. json.Unmarshal(all, &resp)
  53. response.OkWithData(resp.Message, c)
  54. }
  55. func (api *IpcastApi) Status(c *gin.Context) {
  56. baseUrl := IpcastBaseUrl(c)
  57. if baseUrl == "" {
  58. response.FailWithMessage("获取baseUrl失败", c)
  59. return
  60. }
  61. url := baseUrl + "/v1/play_status"
  62. fmt.Println("url:", url)
  63. all, err := ipcastService.Common(url, http.MethodGet, nil)
  64. if err != nil {
  65. response.Fail(c)
  66. logrus.Error(err)
  67. return
  68. }
  69. var resp ipResp.StatusResp
  70. json.Unmarshal(all, &resp)
  71. response.OkWithData(resp.Data, c)
  72. }
  73. func (api *IpcastApi) Ping(c *gin.Context) {
  74. baseUrl := IpcastBaseUrl(c)
  75. if baseUrl == "" {
  76. response.FailWithMessage("获取baseUrl失败", c)
  77. return
  78. }
  79. url := baseUrl + "/v1/check_alive"
  80. all, err := ipcastService.Common(url, http.MethodGet, nil)
  81. if err != nil {
  82. response.Fail(c)
  83. logrus.Error(err)
  84. return
  85. }
  86. var resp ipResp.PingResp
  87. json.Unmarshal(all, &resp)
  88. response.OkWithData(resp.Message, c)
  89. }
  90. func (api *IpcastApi) Volume(c *gin.Context) {
  91. baseUrl := IpcastBaseUrl(c)
  92. if baseUrl == "" {
  93. response.FailWithMessage("获取baseUrl失败", c)
  94. return
  95. }
  96. url := baseUrl + "/v1/volume"
  97. fmt.Println("url:", url)
  98. data, err := c.GetRawData()
  99. if err != nil {
  100. response.FailWithMessage("获取请求参数出错", c)
  101. logrus.Error(err)
  102. return
  103. }
  104. all, err := ipcastService.Common(url, http.MethodPatch, data)
  105. if err != nil {
  106. response.Fail(c)
  107. logrus.Error(err)
  108. return
  109. }
  110. var resp ipResp.PingResp
  111. json.Unmarshal(all, &resp)
  112. response.OkWithData(resp.Message, c)
  113. }
  114. func (api *IpcastApi) List(c *gin.Context) {
  115. }