# Optimer - 高级图像优化和存储平台 (SaaS)
## 项目概述
Optimer 是一个功能强大的图像优化和存储SaaS平台,提供图片压缩、格式转换、批量处理等功能。系统采用订阅制商业模式,支持多用户、多计划、多支付网关。
**技术栈**: Laravel 11 + PHP 8.2
**定位**: 图像优化SaaS服务平台
**商业模式**: 订阅制 (Subscription-based)
## 主要功能
### 图像优化功能
- **图片压缩**: 智能压缩算法,保持质量的同时减小文件大小
- **格式转换**: 支持多种图片格式互转 (JPG, PNG, WebP, GIF等)
- **批量处理**: 批量上传和优化图片
- **尺寸调整**: 自定义图片尺寸调整
- **水印添加**: 支持添加图片水印
- **EXIF处理**: 保留或移除EXIF元数据
- **图像分析**: 图片质量分析、颜色分析
### 用户功能
- **用户认证**: 邮箱/社交登录 (Google, Facebook等)
- **仪表盘**: 使用统计、优化历史
- **媒体管理**: 图片上传、分类、标签管理
- **计划管理**: 订阅计划查看、升级/降级
- **账单管理**: 账单历史、发票下载
- **API访问**: 开发者API密钥管理
- **回收站**: 已删除文件恢复
### 管理后台
- **仪表盘**: 系统统计、收入报表
- **用户管理**: 用户列表、封禁管理
- **计划管理**: 订阅计划创建、定价设置
- **支付管理**: 支付网关配置、交易记录
- **媒体管理**: 系统媒体文件管理
- **页面管理**: CMS页面编辑
- **SEO设置**: 站点SEO配置、站点地图
- **系统设置**: 邮件配置、存储配置
- **多语言**: 语言管理、翻译管理
### 支付功能
- **多支付网关**: Stripe、PayPal、Razorpay、Paystack、Mollie
- **订阅管理**: 自动续费、取消订阅
- **试用支持**: 免费试用期设置
- **优惠券**: 促销代码系统
## 技术栈
### 后端 (Laravel 11)
- **框架**: Laravel 11 (PHP 8.2+)
- **认证**: Laravel UI、Socialite、Email Verification
- **数据库**: MySQL
- **图片处理**: Intervention Image、Spatie Image Optimizer
- **存储**: AWS S3、本地存储
- **支付**: Stripe、PayPal、Razorpay、Paystack、Mollie
- **SEO**: Artesaos SEOTools、Spatie Sitemap
- **安全**: reCAPTCHA、Laravel Purifier
- **PWA**: Laravel PWA
- **Cookie同意**: Spatie Cookie Consent
- **缓存**: Laravel Response Cache
- **数据表格**: Yajra DataTables
- **本地化**: Laravel Translation
- **用户代理**: Jenssegers Agent
- **GeoIP**: Torann GeoIP、GeoIP2
- **WHOIS**: PHP WHOIS
- **cURL**: Ixudra Curl
- **Markdown**: League CommonMark
- **颜色处理**: Spatie Color
- **认证日志**: Rappasoft Laravel Authentication Log
- **安装器**: Rachidlaasri Laravel Installer
### 前端
- **框架**: Laravel Blade
- **构建工具**: Laravel Mix、Webpack
- **UI**: Bootstrap / Tailwind CSS
- **JavaScript**: Vue.js / Alpine.js
### 第三方服务
- **AWS S3**: 云存储
- **Stripe**: 支付处理
- **PayPal**: 支付网关
- **Google reCAPTCHA**: 安全验证
- **MaxMind GeoIP**: 地理位置服务
## 文件结构
```
optimer/
├── app/
│ ├── Classes/ # 自定义类
│ ├── Helpers/ # 辅助函数
│ ├── Http/
│ │ ├── Controllers/
│ │ │ ├── Admin/ # 后台控制器
│ │ │ ├── API/ # API控制器
│ │ │ ├── Auth/ # 认证控制器
│ │ │ ├── Payment/ # 支付控制器
│ │ │ ├── User/ # 用户控制器
│ │ │ │ ├── AccountController.php
│ │ │ │ ├── DashboardController.php
│ │ │ │ ├── MediaController.php
│ │ │ │ ├── OptimerController.php
│ │ │ │ ├── PlanController.php
│ │ │ │ └── ...
│ │ │ ├── Website/ # 网站控制器
│ │ │ └── Controller.php
│ │ └── Middleware/ # 中间件
│ ├── Models/ # 数据模型
│ └── ...
├── config/ # 配置文件
├── database/ # 迁移和种子
├── resources/
│ └── views/ # Blade模板
├── routes/ # 路由定义
├── public/ # 入口文件
├── storage/ # 存储目录
├── vendor/ # Composer依赖
├── documentation/ # 项目文档
├── change_log/ # 更新日志
├── Migrate from 3.0.0 to 3.1.0/ # 迁移指南
├── .env.example # 环境配置示例
├── composer.json # PHP依赖
└── artisan # Artisan命令
```
## 安装说明
### 环境要求
- PHP 8.2+
- MySQL 5.7+
- Composer
- Node.js & NPM
- Redis (可选,用于缓存)
### 安装步骤
1. **解压并进入目录**
```bash
cd optimer
```
2. **安装PHP依赖**
```bash
composer install
```
3. **安装Node依赖**
```bash
npm install
```
4. **环境配置**
```bash
cp .env.example .env
php artisan key:generate
```
5. **配置数据库**
编辑 `.env` 文件:
```
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=optimer
DB_USERNAME=root
DB_PASSWORD=your_password
```
6. **配置存储**
```
FILESYSTEM_DRIVER=s3
AWS_ACCESS_KEY_ID=your_key
AWS_SECRET_ACCESS_KEY=your_secret
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=your_bucket
```
7. **配置支付网关**
```
STRIPE_KEY=your_stripe_key
STRIPE_SECRET=your_stripe_secret
PAYPAL_CLIENT_ID=your_paypal_client_id
PAYPAL_CLIENT_SECRET=your_paypal_client_secret
RAZORPAY_KEY=your_razorpay_key
RAZORPAY_SECRET=your_razorpay_secret
```
8. **运行迁移**
```bash
php artisan migrate
php artisan db:seed
```
9. **创建存储链接**
```bash
php artisan storage:link
```
... (content truncated)