更新页面效果
This commit is contained in:
@@ -47,6 +47,10 @@
|
||||
<a-form-item label="农历 / 星期">
|
||||
<a-input v-model:value="cfg.lunar" placeholder="如 农历四月初四 星期三" />
|
||||
</a-form-item>
|
||||
<a-form-item label="日历圈选日期">
|
||||
<a-input v-model:value="cfg.calendarDate" placeholder="如 2026-09-04" />
|
||||
<div class="text-[11px] text-[#8A8680] mt-1">前台婚礼日历会展示该日期所在月份,并用爱心圈出这一天。</div>
|
||||
</a-form-item>
|
||||
<a-form-item label="酒店名称">
|
||||
<a-input v-model:value="cfg.hotel" placeholder="宴会酒店" />
|
||||
</a-form-item>
|
||||
@@ -100,6 +104,12 @@
|
||||
<a-form-item label="背景音乐">
|
||||
<div class="text-[12px] text-[#8A8680] leading-relaxed">多首背景音乐的上传、试听与「设为播放」请在 <span class="text-[#a88c6b]">背景音乐</span> 标签页管理。</div>
|
||||
</a-form-item>
|
||||
<a-form-item label="入场揭幕退场方式">
|
||||
<a-select v-model:value="cfg.introExitEffect">
|
||||
<a-select-option v-for="opt in INTRO_EXIT_EFFECTS" :key="opt.value" :value="opt.value">{{ opt.label }}</a-select-option>
|
||||
</a-select>
|
||||
<div class="text-[11px] text-[#8A8680] mt-1">点击开启请柬时的退场动画,可按婚礼调性选择更轻盈或更有仪式感的方式。</div>
|
||||
</a-form-item>
|
||||
<a-form-item label="滚动方式">
|
||||
<a-radio-group v-model:value="cfg.scrollMode">
|
||||
<a-radio value="snap">整页 / 分屏吸附滚动</a-radio>
|
||||
@@ -410,11 +420,13 @@ function defaultConfig() {
|
||||
groom: '李明', bride: '王华', date: '2026-05-20', lunar: '农历四月初四 星期三',
|
||||
hotel: '杭州星光万丽大酒店', address: '杭州市西湖区星光大道88号\n3楼大宴会厅',
|
||||
formalText1: '两姓联姻 一堂缔约', formalText2: '良缘永结 匹配同称', formalPageHeight: '100vh',
|
||||
calendarDate: '2026-09-04',
|
||||
heroImg: 'https://images.unsplash.com/photo-1583939003579-730e3918a45a?auto=format&fit=crop&w=800&q=80',
|
||||
endImg: 'https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=800&q=80',
|
||||
musicList: [{ url: 'https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3', name: '背景音乐 1' }],
|
||||
activeMusicUrl: 'https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3',
|
||||
scrollMode: 'snap', petalEnabled: true, bubbleEnabled: true, introEnabled: true,
|
||||
introExitEffect: 'wind',
|
||||
freeScrollInterval: 50, pageSwitchDuration: 800, firstScreenDuration: 4500,
|
||||
photoPages: [
|
||||
{ type: 'single', title: '初遇', subtitle: 'FIRST MET', desc: '世界那么大,还是遇见了你。\n于千万人之中,没有早一步也没有晚一步。', img1: 'https://images.unsplash.com/photo-1606800052052-a08af7148866?auto=format&fit=crop&w=600&q=80', height: '100vh', borderStyle: 'mat' },
|
||||
@@ -456,6 +468,12 @@ const HEIGHT_PRESETS = [
|
||||
{ label: '自适应(内容高度)', value: 'auto' },
|
||||
{ label: '自定义', value: '__custom__' },
|
||||
]
|
||||
const INTRO_EXIT_EFFECTS = [
|
||||
{ label: '风吹纸页', value: 'wind' },
|
||||
{ label: '翻书开启', value: 'book' },
|
||||
{ label: '上提淡出', value: 'lift' },
|
||||
{ label: '双门揭幕', value: 'doors' },
|
||||
]
|
||||
function heightSelectValue(page) {
|
||||
return heightFieldSelectValue(page.height)
|
||||
}
|
||||
@@ -688,6 +706,8 @@ onMounted(async () => {
|
||||
loaded.endImg = loaded.endImg || loaded.heroImg || cfg.endImg
|
||||
Object.assign(cfg, loaded)
|
||||
cfg.formalPageHeight = cfg.formalPageHeight || '100vh'
|
||||
cfg.calendarDate = cfg.calendarDate || '2026-09-04'
|
||||
cfg.introExitEffect = cfg.introExitEffect || 'wind'
|
||||
cfg.photoPages = (cfg.photoPages || []).map(ensurePageShape)
|
||||
setActivePhotoIndex(currentPhotoIndex.value)
|
||||
// 数值型参数兜底(兼容旧配置)
|
||||
|
||||
Reference in New Issue
Block a user