前台部署bash
# 构建前台
npm run build
# 将 dist/ 目录上传到服务器
# 使用 nginx/Apache 配置静态文件服务
2. 后端部署bash
# 启动后端服务(前台和后台共用)
node server/index.cjs
# 或使用 PM2 守护进程
npm install -g pm2
pm2 start server/index.cjs --name "shuzhi-api"
### 方式二: 一体部署(使用内置服务器)bash
# 1. 构建前台
npm run build
# 2. 启动完整服务(前台+后端)
npm run start
# 或使用 PM2
pm2 start server/index.cjs --name "shuzhi-full"
访问:
- 前台: http://your-server-ip:3001
- 后台: http://your-server-ip:3001/admin.html
## 服务器配置要求
- Node.js: v18 或更高版本
- 内存: 至少 512MB
- 磁盘: 至少 1GB
## 数据库说明
- 使用 SQLite 轻量级数据库
- 首次启动自动创建 server/data.db 文件
- 无需额外安装数据库软件
- 备份: 定期备份 data.db 文件即可
## 后台管理系统
### 功能
1. 数据面板
- 查看留言统计(总数/未读/今日/近7天)
- 最新留言预览
2. 留言管理
- 查看所有留言
- 搜索留言(姓名/电话/内容)
- 筛选状态(未读/已读/已回复)
- 标记状态(已读/已回复)
- 删除留言
- 分页浏览
### 默认管理员账号
- 用户名: admin
- 密码: admin123
- ⚠️ 首次登录后请尽快修改密码!
## 前台表单提交
联系页面的在线留言表单会自动提交到后端 API:
- 提交地址: /api/contact
- 包含字段: 姓名、电话、邮箱、需求类型、留言内容
- 提交成功后显示提示信息
## Nginx 配置示例(可选)
如果使用 Nginx 反向代理:nginx
server {
listen 80;
server_name your-domain.com;
# 前台静态文件
location / {
root /path/to/dist;
try_files $uri $uri/ /index.html;
}
# 后端 API 代理
location /api {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
# 后台管理(可选,如果需要独立域名)
location /admin {
alias /path/to/public/admin.html;
}
}
## 常见问题
### Q: 如何修改管理员密码?
A: 删除 server/data.db 文件,重启服务会自动创建,密码重置为 admin123,然后登录后自行修改。
### Q: 如何备份数据?
A: 备份 server/data.db 文件即可。
### Q: 留言提交失败?
A: 检查后端服务是否正常运行,端口 3001 是否被占用。
### Q: 前台访问不到?
A: 检查前端服务是否已构建(npm run build),后端服务是否正常启动。
## 技术栈
- 前台: React 18 + TypeScript + Vite + Tailwind CSS + Lucide Icons
- 后台: Node.js + Express + SQLite + JWT 认证
- 管理: 纯 HTML + CSS + JavaScript (无需构建)
## 安全建议
1. 修改默认管理员密码
2. 使用 HTTPS 协议
3. 配置防火墙,只开放必要端口
4. 定期备份数据库
5. 及时更新依赖包
## 联系方式
如遇问题,请联系技术支持。
# 进入项目目录 cd admin-template # 安装依赖 npm install # 本地开发 npm run dev # 打包构建 npm run build # 生产环境部署 npm run preview
Node.js >= 16.0.0 NPM >= 7.0.0 浏览器:Chrome >= 80、Firefox >= 75、Safari >= 14
### 1. 安装依赖
```bash
npm install