package ipcast import ( "github.com/gin-gonic/gin" "github.com/goccy/go-json" "github.com/sirupsen/logrus" "lcfns/model/common/response" ipResp "lcfns/model/ipcast/response" "net/http" ) type IpcastApi struct { } func (api *IpcastApi) Play(c *gin.Context) { baseUrl := IpcastBaseUrl(c) if baseUrl == "" { response.FailWithMessage("获取baseUrl失败", c) return } url := baseUrl + "/v1/speech" data, err := c.GetRawData() if err != nil { response.FailWithMessage("获取请求参数出错", c) logrus.Error(err) return } all, err := ipcastService.Common(url, http.MethodPost, data) if err != nil { response.Fail(c) logrus.Error(err) return } var resp ipResp.PingResp json.Unmarshal(all, &resp) response.OkWithData(resp.Message, c) } func (api *IpcastApi) Stop(c *gin.Context) { baseUrl := IpcastBaseUrl(c) if baseUrl == "" { response.FailWithMessage("获取baseUrl失败", c) return } url := baseUrl + "/v1/speech" all, err := ipcastService.Common(url, http.MethodDelete, nil) if err != nil { response.Fail(c) logrus.Error(err) return } var resp ipResp.PingResp json.Unmarshal(all, &resp) response.OkWithData(resp.Message, c) } func (api *IpcastApi) Status(c *gin.Context) { baseUrl := IpcastBaseUrl(c) if baseUrl == "" { response.FailWithMessage("获取baseUrl失败", c) return } url := baseUrl + "/v1/play_status" all, err := ipcastService.Common(url, http.MethodGet, nil) if err != nil { response.Fail(c) logrus.Error(err) return } var resp ipResp.StatusResp json.Unmarshal(all, &resp) response.OkWithData(resp.Data, c) } func (api *IpcastApi) Ping(c *gin.Context) { baseUrl := IpcastBaseUrl(c) if baseUrl == "" { response.FailWithMessage("获取baseUrl失败", c) return } url := baseUrl + "/v1/check_alive" all, err := ipcastService.Common(url, http.MethodGet, nil) if err != nil { response.Fail(c) logrus.Error(err) return } var resp ipResp.PingResp json.Unmarshal(all, &resp) response.OkWithData(resp.Message, c) } func (api *IpcastApi) Volume(c *gin.Context) { baseUrl := IpcastBaseUrl(c) if baseUrl == "" { response.FailWithMessage("获取baseUrl失败", c) return } url := baseUrl + "/v1/volume" data, err := c.GetRawData() if err != nil { response.FailWithMessage("获取请求参数出错", c) logrus.Error(err) return } all, err := ipcastService.Common(url, http.MethodPatch, data) if err != nil { response.Fail(c) logrus.Error(err) return } var resp ipResp.PingResp json.Unmarshal(all, &resp) response.OkWithData(resp.Message, c) } func (api *IpcastApi) List(c *gin.Context) { }