Initial commit: web_hghl_server
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,484 @@
|
||||
package playletapi
|
||||
|
||||
import (
|
||||
"videoweb/app/api/proto"
|
||||
"videoweb/app/service/playletser"
|
||||
"videoweb/app/service/slugser"
|
||||
"videoweb/app/service/videoser"
|
||||
"videoweb/pub/common"
|
||||
"videoweb/pub/common/srvdef"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// HomePlaylet app端短剧首页
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary app端短剧首页 -- by 王鸣
|
||||
// @Description 返回短剧Banner、首页配置模块、公告、广告和SEO信息
|
||||
// @Produce json
|
||||
// @Success 200 {object} proto.HomePlayletResponse "成功"
|
||||
// @Failure 400 {string} string "失败"
|
||||
// @Router /api/app/playlet/home [get]
|
||||
func HomePlaylet(ctx *gin.Context) {
|
||||
resp, err := playletser.Home(ctx)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// HomeConfigList 按首页配置分页查询内容
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary app端首页配置内容列表 -- by 王鸣
|
||||
// @Description 按首页配置ID或slug分页查询内容,同时传入时优先使用slug
|
||||
// @Produce json
|
||||
// @Param params query proto.PlayletHomeConfigListReq true "首页配置内容分页请求"
|
||||
// @Success 200 {object} proto.PlayletHomeConfigListResp "成功"
|
||||
// @Failure 400 {string} string "失败"
|
||||
// @Router /api/app/playlet/home-config/list [get]
|
||||
func HomeConfigList(ctx *gin.Context) {
|
||||
var req proto.PlayletHomeConfigListReq
|
||||
if err := ctx.ShouldBindQuery(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, nil)
|
||||
return
|
||||
}
|
||||
resp, err := playletser.HomeConfigList(ctx, &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// TopicDetail 查询短剧题材或视频分类专题详情
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary app端专题详情 -- by 王鸣
|
||||
// @Produce json
|
||||
// @Param params query proto.PlayletTopicDetailReq true "专题详情请求"
|
||||
// @Success 200 {object} proto.PlayletTopicDetailResp "成功"
|
||||
// @Failure 400 {string} string "失败"
|
||||
// @Router /api/app/playlet/topic/detail [get]
|
||||
func TopicDetail(ctx *gin.Context) {
|
||||
var req proto.PlayletTopicDetailReq
|
||||
if err := ctx.ShouldBindQuery(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, nil)
|
||||
return
|
||||
}
|
||||
resp, err := playletser.TopicDetail(ctx, &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// ThemeList 查询全部已启用短剧题材
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary app端短剧题材列表
|
||||
// @Produce json
|
||||
// @Success 200 {object} proto.PlayletThemeListResp "成功"
|
||||
// @Router /api/app/playlet/theme/list [get]
|
||||
func ThemeList(ctx *gin.Context) {
|
||||
resp, err := playletser.PlayletThemeList(ctx)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// List 分页查询已上架短剧并穿插广告
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary app端短剧列表 -- by 王鸣
|
||||
// @Description 按题材和排序筛选已上架短剧,最近更新按更新时间降序,每4部短剧穿插1条广告
|
||||
// @Produce json
|
||||
// @Param params query proto.PlayletListReq true "短剧列表请求"
|
||||
// @Success 200 {object} proto.PlayletListResp{list=[]proto.PlayletRecommendListItem} "成功"
|
||||
// @Failure 400 {string} string "失败"
|
||||
// @Router /api/app/playlet/list [get]
|
||||
func List(ctx *gin.Context) {
|
||||
var req proto.PlayletListReq
|
||||
if err := ctx.ShouldBindQuery(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, nil)
|
||||
return
|
||||
}
|
||||
resp, err := playletser.PlayletList(ctx, &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// ContentList 分页查询上架短剧或视频并穿插广告
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary app端短剧或视频全站排行榜列表 -- by 王鸣
|
||||
// @Description 按观看量查询上架内容,dataType 为 1 时每 4 条短剧穿插 1 条广告,为 2 时每 5 条视频穿插 1 条广告,并返回广告配置
|
||||
// @Produce json
|
||||
// @Param params query proto.PlayletContentListReq true "短剧或视频列表请求"
|
||||
// @Success 200 {object} proto.PlayletContentListResp{list=[]proto.PlayletContentListItem} "成功"
|
||||
// @Failure 400 {string} string "失败"
|
||||
// @Router /api/app/playlet/content/list [get]
|
||||
func ContentList(ctx *gin.Context) {
|
||||
var req proto.PlayletContentListReq
|
||||
if err := ctx.ShouldBindQuery(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, nil)
|
||||
return
|
||||
}
|
||||
resp, err := playletser.ContentList(ctx, &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// RecommendList app端推荐短剧列表
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary app端推荐短剧列表 -- by 王鸣
|
||||
// @Description 分页查询短剧列表,带穿插列表广告,每间隔8条短剧数据插入一个广告
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param params query proto.PlayletRecommendListReq true "推荐短剧列表请求"
|
||||
// @Success 200 {object} proto.PlayletRecommendListResp{list=[]proto.PlayletRecommendListItem} "成功"
|
||||
// @Failure 400 {string} string "失败"
|
||||
// @Router /api/app/playlet/recommend/list [get]
|
||||
func RecommendList(ctx *gin.Context) {
|
||||
var req proto.PlayletRecommendListReq
|
||||
if err := ctx.ShouldBindQuery(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, "")
|
||||
return
|
||||
}
|
||||
resp, err := playletser.PlayletRecommendList(ctx, &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// GuessList 分页查询猜你喜欢短剧
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary 猜你喜欢短剧列表 -- by 王鸣
|
||||
// @Description id可选,传入时排除当前短剧,按观看量降序查询上架短剧
|
||||
// @Produce json
|
||||
// @Param params query proto.PlayletGuessListReq true "猜你喜欢短剧请求"
|
||||
// @Success 200 {object} proto.PlayletGuessListResp{list=[]proto.PlayletRecommendListItem} "成功"
|
||||
// @Router /api/app/playlet/guess/list [get]
|
||||
func GuessList(ctx *gin.Context) {
|
||||
var req proto.PlayletGuessListReq
|
||||
if err := ctx.ShouldBindQuery(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, "")
|
||||
return
|
||||
}
|
||||
resp, err := playletser.PlayletGuessList(ctx, &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// TagList app端根据标签ID查询短剧列表
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary app端根据标签ID查询短剧列表 -- by 王鸣
|
||||
// @Description 根据统一标签ID分页查询已上架短剧
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param id path int true "标签ID"
|
||||
// @Param pageNum query int false "页码,默认1"
|
||||
// @Param pageSize query int false "每页数量,默认20,最大100"
|
||||
// @Success 200 {object} proto.PlayletRecommendListResp{list=[]proto.PlayletRecommendListItem} "成功"
|
||||
// @Failure 400 {string} string "失败"
|
||||
// @Router /api/app/playlet/tag/{id} [get]
|
||||
func TagList(ctx *gin.Context) {
|
||||
var req proto.ContentTagPageReq
|
||||
if err := ctx.ShouldBindQuery(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, "")
|
||||
return
|
||||
}
|
||||
pathID, pathSlug := slugser.ParseIDOrSlug(ctx.Param("id"))
|
||||
if req.Id <= 0 {
|
||||
req.Id = pathID
|
||||
}
|
||||
if req.Slug == "" {
|
||||
req.Slug = pathSlug
|
||||
}
|
||||
resp, err := playletser.PlayletTagList(ctx, &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// QueryPlayletInfo 短剧详情
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary 短剧详情 -- by 王鸣
|
||||
// @Description 查询短剧详情、剧集列表、点赞状态和收藏状态
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param params query proto.QueryPlayletInfoReq true "短剧详情查询请求"
|
||||
// @Success 200 {object} proto.QueryPlayletInfoResp{playletInfo=proto.PlayletDetailInfo,chapterList=[]proto.PlayletChapterInfo} "成功"
|
||||
// @Failure 400 {string} string "失败"
|
||||
// @Router /api/app/playlet/info [get]
|
||||
func QueryPlayletInfo(ctx *gin.Context) {
|
||||
var req proto.QueryPlayletInfoReq
|
||||
if err := ctx.ShouldBindQuery(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, "")
|
||||
return
|
||||
}
|
||||
resp, err := playletser.QueryPlayletInfo(ctx, common.GetUserId(ctx), videoser.H5M3U8RequestIP(ctx), ctx.Request.UserAgent(), &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// QueryPlayletChapterInfo 短剧剧集详情
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary app端短剧剧集详情 -- by 王鸣
|
||||
// @Description 根据剧集ID查询短剧剧集详情、所属短剧、剧集列表、热门短剧列表和点赞状态
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param params query proto.QueryPlayletChapterInfoReq true "短剧剧集详情查询请求"
|
||||
// @Success 200 {object} proto.QueryPlayletChapterInfoResp{chapterInfo=proto.PlayletChapterInfo,playletInfo=proto.PlayletData,chapterList=[]proto.PlayletChapterInfo,hotPlayletList=[]proto.PlayletData} "成功"
|
||||
// @Failure 400 {string} string "失败"
|
||||
// @Router /api/app/playlet/chapter/info [get]
|
||||
func QueryPlayletChapterInfo(ctx *gin.Context) {
|
||||
var req proto.QueryPlayletChapterInfoReq
|
||||
if err := ctx.ShouldBindQuery(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, "")
|
||||
return
|
||||
}
|
||||
resp, err := playletser.QueryPlayletChapterInfo(ctx, common.GetUserId(ctx), videoser.H5M3U8RequestIP(ctx), ctx.Request.UserAgent(), &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// LikePlaylet 点赞或取消点赞短剧
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary 点赞或取消点赞短剧 -- by 王鸣
|
||||
// @Description 当前登录用户点赞或取消点赞指定短剧,isLike=true表示点赞,isLike=false表示取消点赞
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param param body proto.LikePlayletReq true "点赞或取消点赞请求"
|
||||
// @Success 200 {object} proto.LikePlayletResp "成功"
|
||||
// @Failure 400 {string} string "失败"
|
||||
// @Security ApiKeyAuth
|
||||
// @Router /api/app/playlet/like [post]
|
||||
func LikePlaylet(ctx *gin.Context) {
|
||||
var req proto.LikePlayletReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, "")
|
||||
return
|
||||
}
|
||||
userId := common.GetUserId(ctx)
|
||||
if userId <= 0 {
|
||||
common.ServerJSON(ctx, srvdef.InvalidToken, "")
|
||||
return
|
||||
}
|
||||
ua, _ := common.GetUA(ctx)
|
||||
if ua.UserAgent == "" {
|
||||
ua.UserAgent = ctx.Request.UserAgent()
|
||||
}
|
||||
resp, err := playletser.LikePlaylet(ctx, userId, ctx.ClientIP(), ua, &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// QueryLikePlayletList 当前用户点赞短剧分页列表
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary 当前用户点赞短剧分页列表
|
||||
// @Description 按点赞时间倒序返回当前用户点赞的上架短剧
|
||||
// @Produce json
|
||||
// @Param params query proto.QueryLikePlayletListReq true "点赞短剧分页请求"
|
||||
// @Success 200 {object} proto.QueryLikePlayletListResp{list=[]proto.PlayletData} "成功"
|
||||
// @Security ApiKeyAuth
|
||||
// @Router /api/app/playlet/like/list [get]
|
||||
func QueryLikePlayletList(ctx *gin.Context) {
|
||||
var req proto.QueryLikePlayletListReq
|
||||
if err := ctx.ShouldBindQuery(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, "")
|
||||
return
|
||||
}
|
||||
userID := common.GetUserId(ctx)
|
||||
if userID <= 0 {
|
||||
common.ServerJSON(ctx, srvdef.InvalidToken, "")
|
||||
return
|
||||
}
|
||||
resp, err := playletser.QueryLikePlayletList(ctx, userID, &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// FavoritePlaylet 收藏或取消收藏短剧
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary 收藏或取消收藏短剧
|
||||
// @Description isFavorite=true 收藏 false 取消收藏
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param param body proto.FavoritePlayletReq true "短剧收藏请求"
|
||||
// @Success 200 {object} proto.FavoritePlayletResp "成功"
|
||||
// @Security ApiKeyAuth
|
||||
// @Router /api/app/playlet/favorite [post]
|
||||
func FavoritePlaylet(ctx *gin.Context) {
|
||||
var req proto.FavoritePlayletReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, "")
|
||||
return
|
||||
}
|
||||
userID := common.GetUserId(ctx)
|
||||
if userID <= 0 {
|
||||
common.ServerJSON(ctx, srvdef.InvalidToken, "")
|
||||
return
|
||||
}
|
||||
ua, _ := common.GetUA(ctx)
|
||||
if ua.UserAgent == "" {
|
||||
ua.UserAgent = ctx.Request.UserAgent()
|
||||
}
|
||||
resp, err := playletser.FavoritePlaylet(ctx, userID, ctx.ClientIP(), ua, &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// QueryFavoritePlayletList 当前用户收藏短剧分页列表
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary 当前用户收藏短剧分页列表
|
||||
// @Produce json
|
||||
// @Param params query proto.QueryFavoritePlayletListReq true "收藏短剧分页请求"
|
||||
// @Success 200 {object} proto.QueryFavoritePlayletListResp{list=[]proto.PlayletData} "成功"
|
||||
// @Security ApiKeyAuth
|
||||
// @Router /api/app/playlet/favorite/list [get]
|
||||
func QueryFavoritePlayletList(ctx *gin.Context) {
|
||||
var req proto.QueryFavoritePlayletListReq
|
||||
if err := ctx.ShouldBindQuery(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, "")
|
||||
return
|
||||
}
|
||||
userID := common.GetUserId(ctx)
|
||||
if userID <= 0 {
|
||||
common.ServerJSON(ctx, srvdef.InvalidToken, "")
|
||||
return
|
||||
}
|
||||
resp, err := playletser.QueryFavoritePlayletList(ctx, userID, &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// ReportPlayletHistory 播放成功后记录当前用户的短剧剧集
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary 上报短剧观看历史
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param param body proto.PlayletHistoryReportReq true "当前播放短剧和剧集"
|
||||
// @Success 200 {object} proto.PlayletHistoryReportResp "成功"
|
||||
// @Security ApiKeyAuth
|
||||
// @Router /api/app/playlet/history [post]
|
||||
func ReportPlayletHistory(ctx *gin.Context) {
|
||||
userID := common.GetUserId(ctx)
|
||||
if userID <= 0 {
|
||||
common.ServerJSON(ctx, srvdef.InvalidToken, "")
|
||||
return
|
||||
}
|
||||
var req proto.PlayletHistoryReportReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, "")
|
||||
return
|
||||
}
|
||||
resp, err := playletser.ReportPlayletHistory(ctx, userID, &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// QueryPlayletHistoryList 当前用户短剧观看历史分页列表
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary 短剧观看历史列表
|
||||
// @Produce json
|
||||
// @Param params query proto.PlayletHistoryListReq true "分页请求"
|
||||
// @Success 200 {object} proto.PlayletHistoryListResp{list=[]proto.PlayletHistoryItem} "成功"
|
||||
// @Security ApiKeyAuth
|
||||
// @Router /api/app/playlet/history/list [get]
|
||||
func QueryPlayletHistoryList(ctx *gin.Context) {
|
||||
userID := common.GetUserId(ctx)
|
||||
if userID <= 0 {
|
||||
common.ServerJSON(ctx, srvdef.InvalidToken, "")
|
||||
return
|
||||
}
|
||||
var req proto.PlayletHistoryListReq
|
||||
if err := ctx.ShouldBindQuery(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, "")
|
||||
return
|
||||
}
|
||||
resp, err := playletser.QueryPlayletHistoryList(ctx, userID, &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// ClearPlayletHistory 清空当前用户短剧观看历史
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary 清空短剧观看历史
|
||||
// @Produce json
|
||||
// @Success 200 {object} proto.PlayletHistoryClearResp "成功"
|
||||
// @Security ApiKeyAuth
|
||||
// @Router /api/app/playlet/history [delete]
|
||||
func ClearPlayletHistory(ctx *gin.Context) {
|
||||
userID := common.GetUserId(ctx)
|
||||
if userID <= 0 {
|
||||
common.ServerJSON(ctx, srvdef.InvalidToken, "")
|
||||
return
|
||||
}
|
||||
resp, err := playletser.ClearPlayletHistory(ctx, userID)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
|
||||
// QueryPlayletRankList 短剧排行榜分页列表
|
||||
// @Tags app短剧相关接口
|
||||
// @Summary 短剧排行榜分页列表 -- by 王鸣
|
||||
// @Description 分页查询短剧排行榜,rankPeriod=0点赞榜(累计点赞)、1周榜/2月榜/3年榜(周期观看量),独立缓存10分钟,每榜最多50条,pageSize不是50时强制为50
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param params query proto.PlayletRankReq true "短剧排行榜分页请求"
|
||||
// @Success 200 {object} proto.PlayletRankResp{list=[]proto.PlayletRankData} "成功"
|
||||
// @Failure 400 {string} string "失败"
|
||||
// @Router /api/app/playlet/rank/list [get]
|
||||
func QueryPlayletRankList(ctx *gin.Context) {
|
||||
var req proto.PlayletRankReq
|
||||
if err := ctx.ShouldBindQuery(&req); err != nil {
|
||||
common.ServerJSON(ctx, srvdef.ErrParamError, "")
|
||||
return
|
||||
}
|
||||
resp, err := playletser.QueryPlayletRank(ctx, &req)
|
||||
if err != nil {
|
||||
common.ServerJSON(ctx, err, err.GetMsg())
|
||||
return
|
||||
}
|
||||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||||
}
|
||||
Reference in New Issue
Block a user