修复访客在地点详情页看不到「图片」按钮
全屏画廊的地址列表原先只从 #imgs-grid 反推,而那个缩略图墙整块包在
{{if .IsAdmin}} 里——访客页根本没有这个元素,于是 syncGallery() 数到 0 张,
把服务端已经渲染好的「图片 N」按钮 remove 掉(表现成刷新后按钮闪一下就没了)。
站长自己打开一切正常,所以只有按访客身份渲染才看得到。
首版 b327bc1 就有,不是新引入的。
- 新增 PlaceData.ImageURLs:随页面把地址列表发给浏览器,访客页自带数据源。
- cellURLs() 的判据改成「缩略图墙在不在」,而不是「墙里有几张」:
站长把图删光时墙还在、只是空了,按张数回退会把删掉的图又数回来。
- 新增回归 TestVisitorPlacePageCarriesImageURLs:按访客身份渲染详情页,
要求页面里有「图片」按钮、且把图片地址发给了浏览器(去掉数据源即失败)。
实测(390 访客,/places/2254 三张图):按钮回归、点开 1/3 → 2/3 → 回绕 3/3 →
关闭正常,第 2 张 1200×900 实际加载;320/390/430 横向溢出均为 0。
This commit is contained in:
@@ -547,6 +547,9 @@ type PlaceData struct {
|
||||
RondNote string
|
||||
// Images 是站长给这个地点配的图片(按 position 排序)。
|
||||
Images []PlaceImage
|
||||
// ImageURLs 是 Images 的地址列表,随页面一起发给浏览器。
|
||||
// 访客页里没有缩略图墙(那一整块是站长专属的),画廊只能拿这份当数据源。
|
||||
ImageURLs []string
|
||||
// ImageBackend 是当前生效的图片存储(local / s3),后台那块面板展示用;
|
||||
// ImageReady 为假表示选了对象存储但凭据没配齐,此时不允许上传。
|
||||
ImageBackend string
|
||||
|
||||
Reference in New Issue
Block a user