调整UI
This commit is contained in:
+1
-61
@@ -4,7 +4,6 @@ import (
|
||||
"net/http"
|
||||
"strconv"
|
||||
"strings"
|
||||
"videoweb/app/service/authser"
|
||||
"videoweb/app/service/configser"
|
||||
"videoweb/app/service/playletser"
|
||||
"videoweb/app/service/seoser"
|
||||
@@ -14,68 +13,12 @@ import (
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// HTML 渲染页面并注入登录态(以 cookie 为准)。
|
||||
// 无 token 时自动游客登录(POST /api/app/auth/guest),保证默认进入即有会话。
|
||||
// HTML 渲染页面并注入公共导航、配置与 SEO 数据。
|
||||
func HTML(c *gin.Context, code int, name string, data gin.H) {
|
||||
if data == nil {
|
||||
data = gin.H{}
|
||||
}
|
||||
|
||||
// 所有服务端页面先完成渠道首次归因;已有会话也不会漏记落地页渠道。
|
||||
if channel := authser.ResolveChannel(c, ""); channel != "" {
|
||||
data["channel"] = channel
|
||||
}
|
||||
authser.SyncUserOnEnter(c)
|
||||
|
||||
loggedIn, userName, avatar, email := authser.AuthFromCookies(c)
|
||||
registered := authser.IsRegisteredFromCookies(c)
|
||||
data["isLoggedIn"] = loggedIn
|
||||
data["isRegistered"] = registered
|
||||
// 已登录(含游客)展示用户菜单;未登录才展示「登录」按钮。
|
||||
if _, ok := data["guestHeader"]; !ok {
|
||||
data["guestHeader"] = !loggedIn
|
||||
}
|
||||
if _, ok := data["isVip"]; !ok {
|
||||
data["isVip"] = loggedIn && authser.IsActiveVipFromCookies(c)
|
||||
}
|
||||
isVip, _ := data["isVip"].(bool)
|
||||
data["isVip"] = isVip
|
||||
|
||||
if loggedIn {
|
||||
if _, provided := data["userName"]; !provided && userName != "" {
|
||||
data["userName"] = userName
|
||||
}
|
||||
if _, provided := data["avatar"]; !provided && avatar != "" {
|
||||
data["avatar"] = avatar
|
||||
}
|
||||
if email != "" {
|
||||
data["email"] = email
|
||||
}
|
||||
if _, ok := data["userId"]; !ok {
|
||||
if uid := authser.UserIDFromCookies(c); uid > 0 {
|
||||
data["userId"] = authser.FormatUserID(uid)
|
||||
}
|
||||
}
|
||||
if _, ok := data["recharge"]; !ok {
|
||||
recharge := authser.RechargeFromCookies(c)
|
||||
data["recharge"] = recharge
|
||||
data["rechargeText"] = authser.FormatRecharge(recharge)
|
||||
} else if _, ok := data["rechargeText"]; !ok {
|
||||
data["rechargeText"] = authser.FormatRecharge(toInt64(data["recharge"]))
|
||||
}
|
||||
if _, ok := data["vipType"]; !ok {
|
||||
data["vipType"] = authser.VipTypeFromCookies(c)
|
||||
}
|
||||
} else {
|
||||
delete(data, "userName")
|
||||
delete(data, "avatar")
|
||||
delete(data, "email")
|
||||
delete(data, "userId")
|
||||
delete(data, "recharge")
|
||||
delete(data, "rechargeText")
|
||||
delete(data, "vipType")
|
||||
}
|
||||
|
||||
// 导航分类:GET /api/app/translation/category/list → categoryList(包含分类 seoInfo)
|
||||
if _, ok := data["categoryList"]; !ok {
|
||||
data["categoryList"] = translationser.FetchHeaderCategoryListOrDefault(c)
|
||||
@@ -119,9 +62,6 @@ func HTML(c *gin.Context, code int, name string, data gin.H) {
|
||||
}
|
||||
}
|
||||
|
||||
data["trackerAppId"] = configser.ResolveTrackerAppID()
|
||||
attachTrackerPage(c.Request.URL.Path, code, data)
|
||||
|
||||
attachPageSEO(c, code, data)
|
||||
c.HTML(code, name, data)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user