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(), }) }