feat(street): 公开详情改为runway同形嵌套;审核页合并为图片流

This commit is contained in:
toom1996
2026-09-21 23:24:00 +08:00
parent 49bd7b74c6
commit 85ad3a3f68
5 changed files with 119 additions and 108 deletions

View File

@ -60,19 +60,13 @@ type PublicStreetSnap struct {
Images []PublicArticleImage `json:"images"` // 列表附带的每篇前 N 张缩略图
}
// PublicStreetSnapDetail 对外只读街拍详情:含完整图片集与主副图分组。
// PublicStreetSnapDetail 对外只读街拍详情:与走秀详情同形(主图 + 细节图)。
type PublicStreetSnapDetail struct {
UID string `json:"id"`
Title string `json:"title"`
Cover string `json:"cover"`
Images []PublicArticleImage `json:"images"` // 扁平图片集(保持不变,向后兼容)
Groups []PublicStreetSnapGroup `json:"groups,omitempty"` // 按主副图分组(主图→其副图),与 Images 同源同序
Favorited bool `json:"favorited,omitempty"` // 已登录时该图集是否被当前用户收藏(gallery 级)
}
// PublicStreetSnapGroup 一张主图及其副图,供前端按组折叠展示。
// Details 为空表示该主图没有副图(等价于 Images 里的一张独立图)。
type PublicStreetSnapGroup struct {
Image PublicArticleImage `json:"image"` // 主图
Details []PublicArticleImage `json:"details"` // 该主图名下的副图(可为空)
UID string `json:"id"`
Title string `json:"title"`
Cover string `json:"cover"` // 封面:独立字段,与主/副图分组无关
// Images 只含主图(is_detail=0),默认展示;每张主图的副图挂在它自己的 Detail 子数组下。
// 结构与走秀详情完全一致(见 PublicArticleImage),前端可复用同一套渲染。
Images []PublicArticleImage `json:"images"`
Favorited bool `json:"favorited,omitempty"` // 已登录时该图集是否被当前用户收藏(gallery 级)
}