项目介绍
Perfect Pic 是一个基于 Go (Gin) 和 React 开发的高性能、轻量级且功能完备的图床。采用前后端分离架构,使用AI辅助开发,专为个人或小型团队设计,提供安全可靠的图片存储、管理和分发功能。
核心特性
-
高性能架构
- 多数据库适配: 开箱即用支持 SQLite (零配置),并可无缝切换至 MySQL 或 PostgreSQL 以适应生产环境。
- 多级缓存加速: 结合 HTTP 静态资源缓存与服务端内存缓存策略,大幅降低数据库压力,提升响应速度。
- Redis 持久化支持: 可选接入 Redis,用于限流状态、Auth 用户状态缓存与重置密码 Token 的跨实例持久化与共享。
- 并发与稳定性: 针对不同数据库自动调优连接池,支持高并发读写;配合优雅停机机制,保障业务处理不中断。
-
安全可靠
- 多维安全防御: 内置 JWT 身份认证、动态 IP 限流 (Rate Limiting) 以及生产环境安全检查,有效抵御恶意攻击。
- 深度文件校验: 基于文件内容 (Magic Bytes) 而非后缀名识别真实文件类型,杜绝伪装文件上传风险。
- 数据一致性: 核心操作(如批量删除、配额扣减)采用原子事务处理,确保文件与数据库状态始终同步。
-
现代架构与易用性
- 前后端分离: 基于标准 RESTful API 设计,逻辑解耦。同时支持将前端资源嵌入二进制文件,既享受分离开发的灵活性,又拥有“单文件部署”的便捷性。
- 配置热重载: 支持在线动态调整系统参数(如限流阈值、站点设置),无需重启服务。
- 智能配额管理: 采用增量更新策略,快速计算用户剩余存储空间。
- 规范化存储: 自动按日期分目录存储文件,便于运维管理与备份。