package mediacontentctrl import ( "91porn-server/app/service/m3u8ticket" "91porn-server/app/service/mediacontentser" "91porn-server/common" "91porn-server/common/stderr" "github.com/gin-gonic/gin" ) // List doc // @Summary 获取动漫内容列表列表接口 // @Description 获取动漫内容列表列表 // @Tags 移动端-动漫内容列表 // @Accept mpfd,json // @Produce json // @Param q query mediacontentser.AppQueryListReq false "请求参数" // @Success 200 object mediacontentser.AppListRes "成功" // @Failure 400 {string} json "{"msg": "操作失败"}" // @Router /api/app/media_content/list [get] func List(ctx *gin.Context) { p := &mediacontentser.AppQueryListReq{} if err := ctx.ShouldBind(&p); err != nil { common.ServeJSON(ctx, stderr.ErrParamError, nil) return } // 获取用户当前配置 // var err error // p.Uid, err = common.GetUID(ctx) // if err != nil { // common.ServeJSON(ctx, stderr.ErrNoToken, err) // return // } // 获取用户当前配置 uid, err := common.GetUID(ctx) if err != nil { common.ServeJSON(ctx, stderr.ErrNoToken, err) return } list, err := p.GetList(uid) if err != nil { common.ServeJSON(ctx, stderr.ErrDbQueryError, err) return } // H5 防盗链:逐条为动漫/有声内容的 m3u8 地址签票(非 H5/未开启时零副作用)。 for i := range list.List { m3u8ticket.SignURL(ctx, uid, &list.List[i].VideoUrl, true, false) m3u8ticket.SignURL(ctx, uid, &list.List[i].H265Url, true, false) m3u8ticket.SignURL(ctx, uid, &list.List[i].AudioUrl, true, false) m3u8ticket.SignURL(ctx, uid, &list.List[i].PreviewVideoUrl, false, true) m3u8ticket.SignURL(ctx, uid, &list.List[i].PreviewH265Url, false, true) } common.ServeJSON(ctx, stderr.Success, list) } // Info doc // // @Summary 获取动漫内容列表详情接口 // @Description 获取动漫内容列表详情 // @Tags 移动端-动漫内容列表 // @Accept mpfd,json // @Produce json // @Param q query mediacontentser.AppQueryInfoReq false "请求参数" // @Success 200 object mediacontentser.MediaContentInfo "成功" // @Failure 400 {string} json "{"msg": "操作失败"}" // @Router /api/app/media_content/info [get] func Info(ctx *gin.Context) { p := &mediacontentser.AppQueryInfoReq{} if err := ctx.ShouldBind(&p); err != nil { common.ServeJSON(ctx, stderr.ErrParamError, nil) return } // 获取用户当前配置 uid, err := common.GetUID(ctx) if err != nil { common.ServeJSON(ctx, stderr.ErrNoToken, err) return } data, err := p.GetInfo(uid) if err != nil { common.ServeJSON(ctx, stderr.Failure, err.Error()) return } // H5 防盗链:为动漫/有声详情的 m3u8 地址签票(非 H5/未开启时零副作用)。 m3u8ticket.SignURL(ctx, uid, &data.VideoUrl, true, false) m3u8ticket.SignURL(ctx, uid, &data.H265Url, true, false) m3u8ticket.SignURL(ctx, uid, &data.AudioUrl, true, false) m3u8ticket.SignURL(ctx, uid, &data.PreviewVideoUrl, false, true) m3u8ticket.SignURL(ctx, uid, &data.PreviewH265Url, false, true) common.ServeJSON(ctx, stderr.Success, data) }