@@ -0,0 +1,45 @@
|
||||
package web
|
||||
|
||||
import (
|
||||
"videoweb/app/service/playletser"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// Search 搜索页 SSR:GET /api/app/playlet/search,列表直接用接口字段渲染。
|
||||
func Search(c *gin.Context) {
|
||||
q := playletser.ParseSearchQuery(routeOrQuery(c, "keyword", "q"), routeOrQuery(c, "page", "page"))
|
||||
if redirectCanonical(c, playletser.SearchCanonicalPath(q)) {
|
||||
return
|
||||
}
|
||||
var raw *playletser.PlayletVideoResp
|
||||
if q.Keyword != "" {
|
||||
raw = playletser.FetchSearchOrEmpty(c, q)
|
||||
} else {
|
||||
raw = &playletser.PlayletVideoResp{PageNum: q.PageNum, PageSize: q.PageSize}
|
||||
}
|
||||
emptyTitle := "请输入关键词搜索"
|
||||
emptyDesc := "在上方输入剧名、题材或标签开始搜索"
|
||||
if q.Keyword != "" {
|
||||
emptyTitle = "未找到相关短剧"
|
||||
emptyDesc = "换个关键词试试,或返回首页看看热门内容"
|
||||
}
|
||||
pageTitle := "搜索短剧"
|
||||
description := "在黄果短剧搜索短剧名称、标签与关键词,快速找到想看的剧集。"
|
||||
if q.Keyword != "" {
|
||||
pageTitle = "搜索:" + q.Keyword
|
||||
description = "在黄果短剧搜索「" + q.Keyword + "」相关短剧结果,快速找到想看的剧集。"
|
||||
}
|
||||
data := gin.H{
|
||||
"title": pageTitle,
|
||||
"description": description,
|
||||
"query": q.Keyword,
|
||||
"list": raw.List,
|
||||
"totalCount": raw.TotalCount,
|
||||
"pagination": playletser.BuildSearchPagination(q, raw.TotalCount),
|
||||
"emptyTitle": emptyTitle,
|
||||
"emptyDesc": emptyDesc,
|
||||
}
|
||||
setNoIndex(data, true)
|
||||
HTMLOK(c, "search.html", data)
|
||||
}
|
||||
Reference in New Issue
Block a user