一、项目结构
index.html
网站首页,展示服务、价格、公告、作品入口与联系方式。
portfolio.html
作品图库页面,用于展示摄影作品。
portal.html
客户自助预约页面,用于查看活动、选择日期和锁定时间段。
admin.html
后台管理页面,用于修改公告、价格、活动、预约和留言。
server.js
Node.js 后端服务,提供接口、上传、数据库读写和通知功能。
data.db / uploads
SQLite 数据库与上传图片目录,保存预约、留言、配置和图片。
二、本地启动网站
安装依赖
第一次使用时,在项目目录运行:
npm install
设置后台账号和通知 Token
推荐使用环境变量,不要把密码或通知 Token 写死在代码里:
export ADMIN_USER="admin"
export ADMIN_PASSWORD="你的后台密码"
export PUSHPLUS_TOKEN="你的 PushPlus Token,可不填"
启动服务
node server.js
启动后打开 http://localhost:3000 查看网站首页。
三、前台页面使用
- 首页:打开
/index.html,查看服务介绍、价格、公告和预约入口。 - 作品页:打开
/portfolio.html,浏览摄影作品。 - 预约页:打开
/portal.html,客户输入微信号后选择活动、日期、时间段并提交信息。 - 留言:客户在首页提交咨询后,后台可以查看留言;如果配置了 PushPlus Token,会收到通知。
四、后台管理
打开 http://localhost:3000/admin.html,输入环境变量中配置的后台账号和密码。
- 修改首页公告和地区价格。
- 配置预约页公告、活动、日期、时间段、每时段容量和预约口令。
- 查看、修改或删除客户预约记录。
- 上传作品图片并管理图库内容。
- 查看客户留言。
重要:正式上线前一定要设置自己的 ADMIN_PASSWORD,不要使用默认密码。
五、上传 GitHub 与部署建议
- 上传 GitHub 前建议忽略
node_modules、.DS_Store、日志文件和本地数据库。 - 如果需要保留示例数据,可以单独准备一个脱敏后的示例数据库。
- 部署时选择支持 Node.js 和 SQLite 持久化存储的平台。
- 线上环境需要配置
ADMIN_USER、ADMIN_PASSWORD、PUSHPLUS_TOKEN等环境变量。