Paooofuu/miniprogram/mock/photoBook.js

162 lines
4.4 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const { mockAssets } = require("./assets");
const categories = ["情侣", "闺蜜", "生日", "汉服"];
const sceneTags = ["公园", "街拍", "夜景", "室内"];
const worksCatalog = mockAssets.works.map((url, idx) => ({
id: `work_${idx + 1}`,
cover: url,
category: categories[idx % categories.length],
ratio: idx % 3 === 0 ? "wide" : "tall",
title: `${categories[idx % categories.length]}客片 ${idx + 1}`,
scene: sceneTags[idx % sceneTags.length],
}));
const photoBookHome = {
photographerName: "陪你拍阿柚",
photographerTagline: "你负责开心,我负责把自然瞬间拍好看",
heroImage: mockAssets.hero,
tags: categories,
works: worksCatalog.slice(0, 6),
portfolioCount: worksCatalog.length,
updateText: "最近 7 天新增 12 组客片",
packages: [
{
id: "pkg_1",
badge: "精选",
title: "2小时轻陪拍",
desc: "适合第一次拍|情侣日常",
price: 399,
originalPrice: 459,
availableSlots: "本周剩余 3 档",
ctaLabel: "立即预约",
},
{
id: "pkg_2",
badge: "高人气",
title: "3小时沉浸拍摄",
desc: "适合故事感记录|含修图",
price: 569,
originalPrice: 639,
availableSlots: "本周剩余 2 档",
ctaLabel: "立即预约",
},
],
};
const packageDetail = {
id: "pkg_1",
title: "情侣纪念日 · 2h",
price: 899,
originalPrice: 999,
availableSlots: "本周可约:周六下午 / 周日上午",
cover: mockAssets.banner,
gains: [
"轻松微步式拍摄,不用担心不会摆姿势",
"72小时内初修件片7天内全部交付",
"可免费改档1次天气不好可顺延",
],
flow: ["选好时间", "表格向我提到路线和穿搭", "一起轻松拍完"],
};
const bookingDraft = {
dateList: [
{ day: "周六", date: "28", active: true },
{ day: "周日", date: "29", active: false },
{ day: "周一", date: "30", active: false },
],
startTime: "14:00",
endTime: "17:00",
devices: [
{ id: "d1", name: "Pocket3", desc: "清晰便携|氛围感好", active: true },
{ id: "d2", name: "iPhone", desc: "生活感|轻快松弛", active: false },
{ id: "d3", name: "复古相机", desc: "文艺胶片|氛围更强", active: false },
],
total: 399,
validation: {
dateValid: true,
timeValid: true,
contactValid: false,
},
submitState: "idle",
};
const bookingConfirm = {
title: "今天开始,慢慢陪你拍。",
tip: "提交后 30 分钟内,我会来和你确认时间、地点和拍照感觉。",
dateText: "2026年03月28日 周六",
timeText: "16:30 - 18:30",
contactText: "林夏 / 138****1029",
notice: "提交即表示你已阅读拍摄须知与改期说明。确认成功后,页面会带你回到「我的预约」。",
};
const works = {
tabs: ["全部", ...categories],
activeTab: "全部",
list: worksCatalog,
};
const myBookings = [
{
id: "o1",
status: "待确认",
statusType: "pending",
statusReason: "等待摄影师确认时间",
duration: "2小时",
time: "2026/03/28 14:00-16:00",
location: "深圳 南山区 · 深圳湾公园",
primaryText: "联系摄影师",
secondaryText: "取消预约",
canCancel: true,
canContact: true,
},
{
id: "o2",
status: "已确认",
statusType: "confirmed",
statusReason: "档期和地点已确认",
duration: "3小时",
time: "2026/04/01 16:30-19:30",
location: "深圳 福田区 · 香蜜公园",
primaryText: "联系摄影师",
secondaryText: "改期申请",
canCancel: false,
canContact: true,
},
{
id: "o3",
status: "已取消",
statusType: "cancelled",
statusReason: "你已取消该订单",
duration: "2小时",
time: "2026/03/22 10:00-12:00",
location: "深圳 罗湖区 · 东湖公园",
primaryText: "再次预约",
secondaryText: "已结束",
canCancel: false,
canContact: false,
},
];
const bookingDetail = {
status: "已确认",
photographer: "摄影师 安可",
subtitle: "轻松微步式拍摄 已与你确认档期",
time: "2026/04/01 16:30-19:30",
duration: "3小时",
device: "Pocket3",
contact: "wx:linxin / 138****1029",
note: "想拍自然互动呀,偏傍晚逆光,穿浅色系。",
total: 899,
};
module.exports = {
photoBookHome,
packageDetail,
bookingDraft,
bookingConfirm,
works,
myBookings,
bookingDetail,
};