feat(gallery): 灯箱 v2 收编——caption 字段全链+21 条视觉轨拟稿

schema caption?:string(人为描述,注释区别 alt 无障碍语义)+
Sveltia textarea 字段+21 条 json 全量上稿(视觉轨看图代拟策展
语气,用户可后台逐条改);GalleryPage 灯箱重构与缩放交互已随
44626f8/54769bc 入库,本笔补数据面。

车道:op-artalk(专项 8/8+E2E 34/34);视觉复核三问 PASS
(舞台纯净/meta 分层/caption 策展语气),唯一需修点=放大态
caption 遮挡→v2.1 ③ zoom 自动隐层已立项在治

验证: E2E 34/34;caption 渲染实测「落日把海与城一齐烫成金
箔…」;content-lint 0/0/0;schema 过构建

Spec: none (灯箱 v2 数据面收编,交互面已在库)

Co-authored-by: GLM-5.3
This commit is contained in:
wait4xandGLM-5.3 committed 2026-11-01 12:51:20 +08:00
1 parent 44626f8edc
commit d8997c3c72
23 files changed
+48 -24

No files matched your search

+5 -4
View File
@@ -1,6 +1,7 @@
{
"title": "防波堤暮色",
"image": "./1766156983093.jpg",
"group": "landscape",
"alt": "暮色海岸与远处防波堤(T3 冒烟补写)。"
"title": "防波堤暮色",
"image": "./1766156983093.jpg",
"group": "landscape",
"alt": "暮色海岸与远处防波堤(T3 冒烟补写)。",
"caption": "落日把海与城一齐烫成金箔,海鸟的剪影恰好掠过日轮"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./1766156992123.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "书架暗处,那本宫崎骏分镜集被灯光单独打亮"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./1766156992265.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "一面白墙只问一个问题,笔锋落下处是想活出的人生"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./1766156992559.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "黑暗中独一句发光的话,像有人在夜里旋起一阵热风"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./1766156992840.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "一抹红墙,几笔白线,龙猫的轮廓就是吉卜力的门牌"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./1766156997939.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "夜游船驮着绿光驶过,东方明珠在它身后蓝得像天外来物"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./1766156998072.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "对岸灯火压得很低,渡轮拖着一线亮色划开墨色的江面"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./1766156998205.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "海关大楼的钟面亮成金色,人群在灯下攒动成剪影"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./1766156998344.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "旗在风里翻卷,塔身亮得像一支随时点火的火箭"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./1766156998590.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "大楼只占一个角落,剩下的天空都交给云慢慢写"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./1766157003595.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "草坡绿得发暗,牦牛散落其间,低头啃食高原的安静"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./1766157003732.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "灰白天色下,雪与黑岩互相渗透,山脊线细得像一笔勾勒"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./1766157003865.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "雾把山谷对折,只留下碎石和雪在白茫茫里彼此确认"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./1766157003992.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "一队人影在乱石坡上缓缓上移,雪山在他们头顶沉默俯视"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./1766157004116.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "雪原中央蹲着两团颜色,出发前把装备一件件理顺"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./1766157012003.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "太阳缩成一粒橘色的句点,悬在灰橙色的茫茫天幕上"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./mmexport1771816358254.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "成群海鸥同时起飞,蓝海与红屋顶都被翅膀搅动"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./mmexport1771816377628.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "垂钓的人立在礁石上,几根鱼竿替他守着整片海"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./mmexport1771816382115.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "长堤探进海里,堤上的人站成一小排,各自望着各自的远方"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./mmexport1776564084994.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "海鸥飞过之处,玻璃高塔与红瓦老城在同一帧里相遇"
}
+2 -1
View File
@@ -3,5 +3,6 @@
"image": "./mmexport1776564092433.jpg",
"group": "landscape",
"alt": "",
"exif": {}
"exif": {},
"caption": "画面只留一圈亮处:老楼、松树、栏杆边与海鸥相伴的人群"
}
+1
View File
@@ -48,6 +48,7 @@ collections:
- { label: 图片, name: image, widget: image }
- { label: 分组, name: group, widget: select, options: [street, landscape] }
- { label: 替代文本, name: alt, widget: string, required: false }
- { label: 人为描述, name: caption, widget: text, required: false, hint: 展示在灯箱里的人为描述(一句话策展文案) }
- label: EXIF 覆盖(一般留空,构建期自动从图提取)
name: exif
widget: object
+2
View File
@@ -48,6 +48,8 @@ const photoExifSchema = z.object({
const photosFields = {
title: z.string(),
group: z.enum(['street', 'landscape']),
// 人为描述:展示在灯箱 caption 层的策展文案(区别于 alt 的无障碍用途)
caption: z.string().optional(),
alt: z.string().optional(),
exif: photoExifSchema.optional(),
};