feat: 完成后端-管理后台集成及部署配置

🚀 主要功能:
- 完善后端API服务层,实现完整的CRUD操作
- 开发管理后台所有核心页面 (仪表板、照片、分类、标签、用户、设置)
- 完成前后端完全集成,所有API接口正常对接
- 配置完整的CI/CD流水线,支持自动化部署

🎯 后端完善:
- 实现PhotoService, CategoryService, TagService, UserService
- 添加完整的API处理器和路由配置
- 支持Docker容器化部署
- 添加数据库迁移和健康检查

🎨 管理后台完成:
- 仪表板: 实时统计数据展示
- 照片管理: 完整的CRUD操作,支持批量处理
- 分类管理: 树形结构展示和管理
- 标签管理: 颜色标签和统计信息
- 用户管理: 角色权限控制
- 系统设置: 多标签配置界面
- 添加pre-commit代码质量检查

🔧 部署配置:
- Docker Compose完整配置
- 后端CI/CD流水线 (Docker部署)
- 管理后台CI/CD流水线 (静态文件部署)
- 前端CI/CD流水线优化
- 自动化脚本: 部署、备份、监控
- 完整的部署文档和运维指南

 集成完成:
- 所有API接口正常连接
- 认证系统完整集成
- 数据获取和状态管理
- 错误处理和用户反馈
- 响应式设计优化
This commit is contained in:
xujiang
2025-07-09 16:23:18 +08:00
parent c57ec3aa82
commit 72414d0979
62 changed files with 12416 additions and 262 deletions

65
scripts/backup.sh Executable file
View File

@ -0,0 +1,65 @@
#!/bin/bash
# 数据库备份脚本
# 使用方法: ./scripts/backup.sh
set -e
# 配置变量
DB_HOST="${DB_HOST:-localhost}"
DB_NAME="${DB_NAME:-photography}"
DB_USER="${DB_USER:-postgres}"
BACKUP_DIR="/home/gitea/backups/database"
DATE=$(date +%Y%m%d-%H%M%S)
echo "🗄️ 开始数据库备份..."
# 创建备份目录
mkdir -p "$BACKUP_DIR"
# 检查数据库连接
echo "🔍 检查数据库连接..."
if ! pg_isready -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME"; then
echo "❌ 数据库连接失败"
exit 1
fi
# 执行备份
echo "📦 执行数据库备份..."
pg_dump -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME" \
--no-password --verbose --clean --no-acl --no-owner \
-f "$BACKUP_DIR/photography-$DATE.sql"
# 检查备份文件
if [ ! -f "$BACKUP_DIR/photography-$DATE.sql" ]; then
echo "❌ 备份文件创建失败"
exit 1
fi
# 压缩备份文件
echo "🗜️ 压缩备份文件..."
gzip "$BACKUP_DIR/photography-$DATE.sql"
# 检查压缩文件
if [ ! -f "$BACKUP_DIR/photography-$DATE.sql.gz" ]; then
echo "❌ 备份文件压缩失败"
exit 1
fi
# 设置权限
chmod 600 "$BACKUP_DIR/photography-$DATE.sql.gz"
chown gitea:gitea "$BACKUP_DIR/photography-$DATE.sql.gz"
# 清理旧备份 (保留最近7天)
echo "🧹 清理旧备份..."
find "$BACKUP_DIR" -name "photography-*.sql.gz" -mtime +7 -delete
echo "✅ 数据库备份完成!"
echo "📁 备份文件: $BACKUP_DIR/photography-$DATE.sql.gz"
echo "📊 文件大小: $(du -sh $BACKUP_DIR/photography-$DATE.sql.gz | cut -f1)"
# 显示备份统计
echo "📈 备份统计:"
echo " 总备份数: $(ls -1 $BACKUP_DIR/photography-*.sql.gz | wc -l)"
echo " 总备份大小: $(du -sh $BACKUP_DIR | cut -f1)"
echo " 最新备份: $(ls -t $BACKUP_DIR/photography-*.sql.gz | head -n 1)"