59 lines
1.7 KiB
Go
59 lines
1.7 KiB
Go
package web
|
|
|
|
import (
|
|
"videoweb/app/service/playletser"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// Topic 专题剧单列表页:GET /api/app/playlet/topic/list。
|
|
// 文档:http://172.104.181.99:25319/swagger/index.html#/app短剧相关接口/get_api_app_playlet_topic_list
|
|
func Topic(c *gin.Context) {
|
|
q := playletser.ParseTopicListQuery(c)
|
|
raw := playletser.FetchTopicListOrEmpty(c, q)
|
|
home := playletser.FetchHomeOrEmpty(c)
|
|
homeConfigData := playletser.ActiveHomeConfigs(home.HomeConfigData)
|
|
list := []playletser.PlayletTopicPageItem(nil)
|
|
total := int64(0)
|
|
pageNum, pageSize := q.PageNum, q.PageSize
|
|
var seo playletser.SeoInfo
|
|
var seoSelections []playletser.SEOSelection
|
|
if q.SortType == 2 {
|
|
seoSelections = []playletser.SEOSelection{{Dimension: "排序", Value: "最热"}}
|
|
}
|
|
if raw != nil {
|
|
list = raw.List
|
|
total = raw.TotalCount
|
|
seo = raw.SeoInfo
|
|
if raw.PageNum > 0 {
|
|
pageNum = raw.PageNum
|
|
}
|
|
if raw.PageSize > 0 {
|
|
pageSize = raw.PageSize
|
|
}
|
|
}
|
|
// 首页“专题”区块的配置 TDK 优先;专题列表接口 SEO 仅补齐配置未填写的字段。
|
|
if configSEO, ok := playletser.FirstHomeConfigSEOByType(homeConfigData, 3); ok {
|
|
seo = playletser.MergeSeoInfo(configSEO, seo)
|
|
}
|
|
title := "专题剧单 - 黄果短剧"
|
|
if seo.Title != "" {
|
|
title = seo.Title
|
|
}
|
|
HTMLOK(c, "topic.html", gin.H{
|
|
"title": title,
|
|
"navActive": "topic",
|
|
"seoInfo": seo,
|
|
"routeConfigSEO": true,
|
|
"homeConfigData": homeConfigData,
|
|
"seoSelections": seoSelections,
|
|
"list": list,
|
|
"totalCount": total,
|
|
"pageNum": pageNum,
|
|
"pageSize": pageSize,
|
|
"sortType": q.SortType,
|
|
"pagination": playletser.BuildTopicListPagination(q, total),
|
|
"canonicalPath": q.URL(),
|
|
})
|
|
}
|