Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
40 lines
992 B
Go
40 lines
992 B
Go
package web
|
|
|
|
import (
|
|
"videoweb/app/service/playletser"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// Index 首页 SSR:拉取 /api/app/playlet/home,直接用接口字段渲染。
|
|
func Index(c *gin.Context) {
|
|
renderIndex(c, "")
|
|
}
|
|
|
|
func AuthIndex(mode string) gin.HandlerFunc {
|
|
return func(c *gin.Context) {
|
|
renderIndex(c, mode)
|
|
}
|
|
}
|
|
|
|
func renderIndex(c *gin.Context, authMode string) {
|
|
authRedirect := c.Param("redirect")
|
|
raw := playletser.FetchHomeOrEmpty(c)
|
|
data := gin.H{
|
|
"title": "黄果短剧",
|
|
"navActive": "home",
|
|
"homeResponse": raw,
|
|
"seoInfo": raw.SeoInfo,
|
|
"announcements": raw.Announcements,
|
|
"homeCategoryData": raw.HomeCategoryData,
|
|
"homeRecommendThemes": raw.HomeRecommendThemes,
|
|
"homeBannerData": playletser.ActiveHomeBanners(raw.HomeBannerData),
|
|
"authMode": authMode,
|
|
"authRedirect": authRedirect,
|
|
}
|
|
if authMode != "" {
|
|
setNoIndex(data, true)
|
|
}
|
|
HTMLOK(c, "index.html", data)
|
|
}
|