Files
xiaocai/deploy/deploy.sh
wangxiaogang c7f29aa7a7 feat: 小菜记账 v1.0 - 完整功能实现
核心功能:
- 记账CRUD(支出/收入/分类/备注/日期)
- 统计分析(概览/分类占比/每日趋势)
- 预算管理(按月设置/进度条/超支提醒)
- 数据导出CSV

安全与认证:
- HMAC-SHA256签名token认证
- 用户数据隔离
- 输入验证与错误处理
- CORS配置

前端优化:
- 骨架屏加载
- 账单按日期分组
- 预算页面重构(快捷预设+Numpad)
- SvgIcon组件(H5+微信双端适配)
- 下拉刷新

后端优化:
- 共享日期工具函数
- 数据库连接池优化
- 健康检查端点
- 优雅关闭处理

技术栈:
- 前端:Uni-app (Vue 3 + Pinia)
- 后端:Node.js + Express + MySQL
2026-05-29 16:14:15 +08:00

57 lines
1.3 KiB
Bash

#!/bin/bash
# 小菜记账部署脚本
set -e
SERVER_DIR="/var/www/xiaocai"
LOG_DIR="/var/log/xiaocai"
echo "=== 开始部署 ==="
# 进入项目目录
cd "$(dirname "$0")/.."
# 构建服务端
echo "1/4 构建服务端..."
cd server
npm install
npm run build
cd ..
# 复制文件到服务器目录
echo "2/4 复制文件..."
cp -r server/dist "$SERVER_DIR/"
cp -r server/node_modules "$SERVER_DIR/"
cp server/package.json "$SERVER_DIR/"
cp deploy/ecosystem.config.js "$SERVER_DIR/"
# 初始化数据库
echo "3/4 初始化数据库..."
cd "$SERVER_DIR"
mysql -u xiaocai -pxiaocai123 xiaocai < dist/db/schema.sql
mysql -u xiaocai -pxiaocai123 xiaocai < dist/db/seed.sql 2>/dev/null || true
cd -
# 配置 Nginx
echo "4/4 配置 Nginx..."
sudo cp deploy/nginx.conf /etc/nginx/sites-available/xiaocai
sudo ln -sf /etc/nginx/sites-available/xiaocai /etc/nginx/sites-enabled/
sudo rm -f /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx
# 重启服务
echo "重启 PM2 服务..."
cd "$SERVER_DIR"
pm2 delete xiaocai-server 2>/dev/null || true
pm2 start ecosystem.config.js
pm2 save
echo ""
echo "=== 部署完成 ==="
echo "服务地址: http://your-domain.com"
echo "API 健康检查: http://your-domain.com/api/health"
echo ""
echo "查看日志: pm2 logs xiaocai-server"
echo "查看状态: pm2 status"