逍遥图库系统 Zeaya 是一款基于 ThinkPHP 8 + MySQL 8 开发的企业级现代化图库管理系统。 系统采用前后端分离架构,后端使用 PHP 8 + ThinkPHP 8 框架,前端使用 Vue 3 构建响应式界面。
Zeaya 提供完善的图片管理功能,包括多级相册分类、智能相册自动归类、标签系统、图片编辑与滤镜、 评论互动、点赞收藏、分享功能等。系统支持瀑布流、网格、拼图等多种布局模式, 采用渐进式图片加载和懒加载技术,确保流畅的用户体验。
系统内置完整的 RBAC 权限管理、内容审核机制、API 限流保护、CSRF/XSS 防护等安全特性, 支持 PWA 离线访问、Service Worker 缓存、暗色/亮色主题切换,是个人或企业搭建图库平台的理想选择。
- ✅ XSS/SQL注入/CSRF全面防护(可配置开关)
- ✅ 文件上传安全验证与路径遍历防护
- ✅ Policy权限控制系统
- ✅ 会话安全加固(HttpOnly、Secure Cookie)
- ✅ 敏感信息保护与日志脱敏
- ✅ 细粒度API限流配置
- ✅ Redis缓存系统(查询缓存、标签管理)
- ✅ 数据库索引优化(复合索引、高频查询优化)
- ✅ API智能限流(令牌桶算法)
- ✅ 图片异步处理队列
- ✅ OPcache生产环境加速
- ✅ Repository模式 - 数据访问层抽象
- ✅ Service层 - 业务逻辑分离
- ✅ 控制器重构 - 单一职责原则
- ✅ 标准化错误码系统(70+业务错误码)
- ✅ 统一API响应格式
- ✅ 数据库驱动的配置管理系统
- ✅ 5大配置分组(系统/上传/安全/性能/功能)
- ✅ 可视化管理界面
- ✅ 图片类型配置支持上传
- ✅ 完整SEO优化支持(Meta/OG/Twitter Card)
- ✅ 健康检查接口(/health、/health/live、/health/ready)
- ✅ OpenAPI 3.0规范 + Swagger UI
- ✅ 完整技术文档(架构、部署、CI/CD)
- ✅ 多通道日志系统(操作、安全、系统、SQL)
- ✅ PHPUnit单元测试框架
- ✅ API集成测试套件 (58个测试用例)
- ✅ PHPStan Level 6静态分析
- ✅ PSR-12代码规范
- ✅ APM性能监控集成
- ✅ Docker完整容器化部署
- ✅ GitHub Actions CI/CD流水线
- ✅ Prometheus + Grafana监控系统
- ✅ ELK Stack日志收集与分析
- ✅ 自动化备份与恢复策略
- ✅ 自动化测试与部署
总体进度: 100% (31/31核心任务) 🎉
| 优先级 | 进度 | 任务数 |
|---|---|---|
| P0 - 核心安全与性能 | ✅ 100% | 10/10 |
| P1 - 核心功能优化 | ✅ 100% | 5/5 |
| P2 - 架构改进 | ✅ 100% | 5/5 |
| P3 - 代码质量与测试 | ✅ 100% | 6/6 |
| P4 - 运维与部署 | ✅ 100% | 5/5 |
| P5 - 高级特性 | ⏳ 0% | 0/5 |
# 1. 克隆项目
git clone https://gitee.com/sinma/zeaya.git photo-gallery
cd photo-gallery
# 2. 配置环境
cp .env.docker .env
# 3. 启动服务
docker-compose up -d
# 4. 访问应用
# - 主页: http://localhost:8000
# - API文档: http://localhost:8000/api-docs
# - 健康检查: http://localhost:8000/health
# - phpMyAdmin: http://localhost:8080 (开发环境)详细说明: Docker部署文档
composer install
cp .env.example .env
# 编辑 .env 配置
php think migrate:run
php think runphoto-gallery/
├── app/
│ ├── controller/ # 控制器(拆分为多个专注模块)
│ ├── service/ # Service层(业务逻辑)
│ ├── repository/ # Repository层(数据访问)
│ ├── model/ # Model层(ORM)
│ ├── validate/ # 验证器(多场景)
│ ├── policy/ # Policy权限策略
│ ├── constant/ # 常量(ErrorCode等)
│ └── traits/ # Traits(ApiResponse等)
├── docker/ # Docker配置
├── docs/ # 完整文档
├── tests/ # 测试(Unit + Feature)
├── .github/workflows/ # CI/CD配置
└── [配置文件]
- 📖 系统架构文档 - 完整技术架构
- 🐳 Docker部署文档 - 容器化部署
- 🔄 CI/CD文档 - 自动化流程
- 📊 监控告警文档 - Prometheus + Grafana
- ⚡ APM性能监控文档 - 应用性能监控系统
- 📝 日志分析文档 - ELK Stack日志系统
- 💾 备份恢复文档 - 自动化备份与灾难恢复
- ✅ 代码质量文档 - 质量保障
- 🔢 错误码规范 - 标准错误码
- 框架: ThinkPHP 8.x
- PHP: 8.0+
- 数据库: MySQL 8.0
- 缓存: Redis 7
- 测试: PHPUnit 10.x
- 静态分析: PHPStan Level 6
- 容器: Docker & Docker Compose
- CI/CD: GitHub Actions
vendor/bin/phpunit # 所有测试
vendor/bin/phpunit --testsuite=Unit # 单元测试
vendor/bin/phpunit --coverage-html coverage/ # 覆盖率报告vendor/bin/phpstan analyse # 静态分析
vendor/bin/phpcs app --standard=PSR12 # 代码风格检查docker-compose up -d # 启动服务
docker-compose logs -f app # 查看日志
docker-compose exec app bash # 进入容器
docker-compose restart app # 重启服务| 威胁类型 | 防护措施 | 状态 |
|---|---|---|
| XSS | 输出自动转义 + CSP | ✅ |
| SQL注入 | 参数绑定 + 查询构建器 | ✅ |
| CSRF | Token验证 + Same-Site Cookie | ✅ |
| 文件上传 | MIME验证 + 大小限制 + 路径检查 | ✅ |
| 未授权访问 | Policy + RBAC | ✅ |
| 会话劫持 | HttpOnly + Secure + 过期控制 | ✅ |
| 暴力破解 | API限流 + 失败计数 | ✅ |
- 用户系统: 注册/登录、权限管理、积分系统
- 图片管理: 上传/编辑、相册管理、批量操作
- 图片编辑: 裁剪、旋转、翻转、滤镜、水印
- 社交功能: 点赞、收藏、评论、分享
- 管理后台: 内容审核、用户管理、数据统计
curl http://localhost:8000/health # 完整健康检查
curl http://localhost:8000/health/live # 存活探测(K8s)
curl http://localhost:8000/health/ready # 就绪探测(K8s)
curl http://localhost:8000/health/info # 系统信息欢迎贡献!请遵循以下规范:
- Fork项目并创建特性分支
- 遵循PSR-12代码规范
- 编写单元测试
- 通过PHPStan检查
- 提交Pull Request
Gitee项目地址: https://gitee.com/sinma/zeaya
Github项目地址: https://github.com/carefree-code/Zeaya
- 📧 邮箱:42033223@qq.com
- 💬 QQ:42033223
- 🌐 网站:https://www.carefreecode.com
Apache-2.0 License
Built with ❤️ using ThinkPHP 8