update
This commit is contained in:
@ -24,9 +24,23 @@ import (
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"fashionapi/internal/pkg/imgurl"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// imgComposer 图片 URL 拼装器(库里只存 S4 key / 本地 /uploads 路径,渲染时再拼 base_url 与样式)。
|
||||
// 默认按本地兜底初始化;main 装配期会调用 SetImgComposer 注入真实配置(含 S4 BaseURL)。
|
||||
var imgComposer = imgurl.New("", "high", "thumb")
|
||||
|
||||
// SetImgComposer 由 main 在装配期注入图片 URL 拼装器(S4 启用时含对外访问域名)。
|
||||
// 后台模板通过 imgURL / imgThumb 函数渲染图片,避免直接裸拼存储值导致 S4 模式下打不开。
|
||||
func SetImgComposer(c *imgurl.Composer) {
|
||||
if c != nil {
|
||||
imgComposer = c
|
||||
}
|
||||
}
|
||||
|
||||
//go:embed templates/layout.html templates/partials.html templates/pages/*.html assets/*
|
||||
var backstageFS embed.FS
|
||||
|
||||
@ -42,8 +56,10 @@ var assetFS fs.FS
|
||||
|
||||
func init() {
|
||||
funcs := template.FuncMap{
|
||||
// reviewDetailURL 生成审核详情页地址(partials / 页面模板里都会用到)。
|
||||
"reviewDetailURL": reviewDetailURL,
|
||||
// imgURL 把数据库里的图片存储值(S4 key / /uploads 路径 / 外链)拼成可访问完整 URL;
|
||||
// imgThumb 同但走列表缩略图样式(小尺寸场景省流量)。两者兜底逻辑见 imgurl.Composer。
|
||||
"imgURL": func(stored string) string { return imgComposer.Compose(stored) },
|
||||
"imgThumb": func(stored string) string { return imgComposer.ComposeThumb(stored) },
|
||||
}
|
||||
|
||||
base, err := template.New("layout.html").Funcs(funcs).
|
||||
@ -94,7 +110,7 @@ func PageNames() []string {
|
||||
|
||||
// renderPage 渲染后台页面:layout + 该页的 title / barLabel / barRight / content。
|
||||
//
|
||||
// page 取 pages/ 下的文件名(如 "review-list");data 为页面数据,renderPage 会补上
|
||||
// page 取 pages/ 下的文件名(如 "articles");data 为页面数据,renderPage 会补上
|
||||
// NavKey(导航高亮,值即 page)与 PendingReviews(导航角标,来自 NavStats 中间件)。
|
||||
func renderPage(c *gin.Context, status int, page string, data gin.H) {
|
||||
tpl, ok := pageTemplates[page]
|
||||
|
||||
Reference in New Issue
Block a user