package web import ( "net/http" "videoweb/app/service/videoser" "github.com/gin-gonic/gin" ) // VideoLikeSet BFF:代理 POST /api/app/video/like/set。 // 文档:http://172.104.181.99:25319/swagger/index.html#/视频相关接口/post_api_app_video_like_set func VideoLikeSet(c *gin.Context) { var body struct { ID int64 `json:"id"` IsLike *bool `json:"isLike"` } if err := c.ShouldBindJSON(&body); err != nil { c.JSON(http.StatusBadRequest, gin.H{ "code": 400, "msg": "invalid body", "tip": "参数错误", "data": nil, }) return } if body.ID <= 0 || body.IsLike == nil { c.JSON(http.StatusOK, gin.H{ "code": 400, "msg": "id/isLike required", "tip": "缺少视频 ID 或点赞状态", "data": nil, }) return } env, err := videoser.LikeSet(c, videoser.VideoLikeSetReq{ ID: body.ID, IsLike: *body.IsLike, }) if err != nil { c.JSON(http.StatusOK, gin.H{ "code": 500, "msg": err.Error(), "tip": "操作失败,请稍后重试", "data": nil, }) return } if env == nil { c.JSON(http.StatusOK, gin.H{ "code": 500, "msg": "empty response", "tip": "操作失败,请稍后重试", "data": nil, }) return } c.JSON(http.StatusOK, gin.H{ "code": env.Code, "msg": env.Msg, "tip": env.Tip, "data": env.Data, }) }