Executable
+94
@@ -0,0 +1,94 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user