This commit is contained in:
toom1996
2026-09-15 19:59:39 +08:00
parent 0185ecd0df
commit 5e4803b97f
3 changed files with 43 additions and 39 deletions

View File

@ -78,15 +78,14 @@ type PublicArticleImage struct {
Image string `json:"image"`
Thumb string `json:"thumb,omitempty"`
Name string `json:"name"`
IsDetail uint8 `json:"is_detail"` // 0=主图 1=细节图(详情接口 images 仅含主图;细节在 Details 分组)
LookIndex uint32 `json:"look_index"` // 细节图归属的主图序号(用于前端分组展开)
Favorited bool `json:"favorited,omitempty"` // 已登录时该图片是否被当前用户收藏(image 级)
}
IsDetail uint8 `json:"is_detail"` // 0=主图 1=细节图(详情接口 images 仅含主图,细节图挂在所属主图的 Detail 下)
LookIndex uint32 `json:"look_index"` // 该图归属的主图序号;细节图与所属主图同值
Favorited bool `json:"favorited,omitempty"` // 已登录时该图片是否被当前用户收藏(image 级)
// RunwayLookDetails 某个主图(look)对应的细节图集合,供详情页「细节入口」按需展开。
type RunwayLookDetails struct {
LookIndex uint32 `json:"look_index"` // 主图序号(与 images 中对应主图的 look_index 一致)
Images []PublicArticleImage `json:"images"` // 该主图的细节图列表
// Detail 仅详情接口填充:该主图(look)下的细节图子集,元素形状与 Images 递归同构。
// 「look → 细节」的层级与前端 UI 一致,前端直接读它即可,无需再维护一份
// 「按 look_index 分组」的映射表。列表接口不填(omitempty 后不出现)。
Detail []PublicArticleImage `json:"detail,omitempty"`
}
// PublicArticle 对外展示用的精简文章结构(走秀列表)。
@ -110,15 +109,15 @@ type PublicArticle struct {
// 与列表一致,只返回前端渲染所需的字段;后台管理用的额外元数据(季节 / 年份 / 系列等)
// 见 AdminRunway,由后台列表接口单独返回。
type PublicArticleDetail struct {
UID string `json:"id"` // 编码后的文章 id(无序串)
BrandUID string `json:"brand_id"` // 编码后的品牌 id(无序串)
Title string `json:"title"`
Description string `json:"description"`
Cover string `json:"cover"`
BrandName string `json:"brand_name"`
Images []PublicArticleImage `json:"images"` // 仅主图(look 图),默认展示
Details []RunwayLookDetails `json:"details"` // 按主图分组的细节图(「细节入口」展开用);无细节时为空
Favorited bool `json:"favorited,omitempty"` // 已登录时该图集是否被当前用户收藏(gallery 级,r= 前缀)
UID string `json:"id"` // 编码后的文章 id(无序串)
BrandUID string `json:"brand_id"` // 编码后的品牌 id(无序串)
Title string `json:"title"`
Description string `json:"description"`
Cover string `json:"cover"`
BrandName string `json:"brand_name"`
// Images 仅含主图(look 图),默认展示;每个主图的细节图挂在它自己的 Detail 子数组下。
Images []PublicArticleImage `json:"images"`
Favorited bool `json:"favorited,omitempty"` // 已登录时该图集是否被当前用户收藏(gallery 级,r= 前缀)
}
// AdminRunway 后台管理用的走秀列表项:在 PublicArticle 基础上补回管理字段,