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