# Webman 穿搭管理后台 API ## 项目说明 这是一个基于 Webman 框架开发的穿搭管理后台 API 系统,为前端管理后台提供完整的 RESTful API 接口。 ## 技术栈 - **框架**: Webman (基于 Workerman) - **PHP 版本**: PHP 8.2+ - **数据库**: MySQL 5.7+/8.0+ - **ORM**: Illuminate Database (Eloquent) - **认证**: JWT (Firebase PHP-JWT) ## 快速开始 ### 1. 环境要求 - PHP >= 8.0 - MySQL >= 5.7 - Composer ### 2. 安装依赖 ```bash D:\BtSoft\php\82\php.exe D:\BtSoft\php\82\composer.phar install ``` ### 3. 配置环境变量 编辑 `.env` 文件,配置数据库连接信息: ```env DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=outfit_admin DB_USERNAME=root DB_PASSWORD=your_password ``` ### 4. 初始化数据库 在 MySQL 中执行以下 SQL 脚本创建数据库和表: ```bash mysql -u root -p < database/init.sql ``` 或者手动执行 `database/init.sql` 文件中的 SQL 语句。 ### 5. 启动服务 **Windows:** ```bash windows.php ``` 或者直接运行: ```bash D:\BtSoft\php\82\php.exe windows.php ``` ### 6. 访问服务 默认监听端口:8787 API 地址:http://localhost:8787 ## 默认管理员账号 - **用户名**: admin - **密码**: admin123 ## API 接口文档 ### 认证相关 | 方法 | 路径 | 说明 | 需要认证 | |------|------|------|---------| | POST | /admin/auth/login | 用户登录 | ❌ | | POST | /admin/auth/logout | 退出登录 | ✅ | | GET | /admin/user/info | 获取用户信息 | ✅ | ### 仪表盘 | 方法 | 路径 | 说明 | 需要认证 | |------|------|------|---------| | GET | /admin/dashboard | 仪表盘统计数据 | ✅ | ### 穿搭管理 | 方法 | 路径 | 说明 | 需要认证 | |------|------|------|---------| | GET | /admin/outfits | 获取穿搭列表 | ✅ | | POST | /admin/outfits | 创建穿搭 | ✅ | | GET | /admin/outfits/{id} | 获取穿搭详情 | ✅ | | PUT | /admin/outfits/{id} | 更新穿搭 | ✅ | | DELETE | /admin/outfits/{id} | 删除穿搭 | ✅ | ### 穿搭分类管理 | 方法 | 路径 | 说明 | 需要认证 | |------|------|------|---------| | GET | /admin/outfit-categories | 获取分类列表 | ✅ | | POST | /admin/outfit-categories | 创建分类 | ✅ | | PUT | /admin/outfit-categories/{id} | 更新分类 | ✅ | | DELETE | /admin/outfit-categories/{id} | 删除分类 | ✅ | ### 衣物管理 | 方法 | 路径 | 说明 | 需要认证 | |------|------|------|---------| | GET | /admin/clothes | 获取衣物列表 | ✅ | | POST | /admin/clothes | 创建衣物 | ✅ | | GET | /admin/clothes/{id} | 获取衣物详情 | ✅ | | PUT | /admin/clothes/{id} | 更新衣物 | ✅ | | DELETE | /admin/clothes/{id} | 删除衣物 | ✅ | ### 衣物分类管理 | 方法 | 路径 | 说明 | 需要认证 | |------|------|------|---------| | GET | /admin/clothes-categories | 获取分类列表 | ✅ | | POST | /admin/clothes-categories | 创建分类 | ✅ | | PUT | /admin/clothes-categories/{id} | 更新分类 | ✅ | | DELETE | /admin/clothes-categories/{id} | 删除分类 | ✅ | ### 标签管理 | 方法 | 路径 | 说明 | 需要认证 | |------|------|------|---------| | GET | /admin/tags | 获取标签列表 | ✅ | | POST | /admin/tags | 创建标签 | ✅ | | PUT | /admin/tags/{id} | 更新标签 | ✅ | | DELETE | /admin/tags/{id} | 删除标签 | ✅ | ### 拍照管理 | 方法 | 路径 | 说明 | 需要认证 | |------|------|------|---------| | GET | /admin/photos | 获取照片列表 | ✅ | | POST | /admin/photos | 创建照片 | ✅ | | GET | /admin/photos/{id} | 获取照片详情 | ✅ | | PUT | /admin/photos/{id} | 更新照片 | ✅ | | DELETE | /admin/photos/{id} | 删除照片 | ✅ | ### 拍照分类管理 | 方法 | 路径 | 说明 | 需要认证 | |------|------|------|---------| | GET | /admin/photo-categories | 获取分类列表 | ✅ | | POST | /admin/photo-categories | 创建分类 | ✅ | | PUT | /admin/photo-categories/{id} | 更新分类 | ✅ | | DELETE | /admin/photo-categories/{id} | 删除分类 | ✅ | ### 轮播图管理 | 方法 | 路径 | 说明 | 需要认证 | |------|------|------|---------| | GET | /admin/banners | 获取轮播图列表 | ✅ | | POST | /admin/banners | 创建轮播图 | ✅ | | GET | /admin/banners/{id} | 获取轮播图详情 | ✅ | | PUT | /admin/banners/{id} | 更新轮播图 | ✅ | | DELETE | /admin/banners/{id} | 删除轮播图 | ✅ | ### 统计分析 | 方法 | 路径 | 说明 | 需要认证 | |------|------|------|---------| | GET | /admin/statistics | 获取统计数据 | ✅ | ## 请求格式 所有接口使用 JSON 格式进行数据传输。 ### 请求头 ``` Content-Type: application/json Authorization: Bearer {token} ``` ### 响应格式 成功响应: ```json { "code": 0, "message": "success", "data": {} } ``` 失败响应: ```json { "code": 400, "message": "error message", "data": null } ``` ## 目录结构 ``` ├── app/ │ ├── controller/ │ │ └── admin/ # 管理后台控制器 │ ├── middleware/ # 中间件 │ ├── model/ # 模型 │ └── view/ # 视图 ├── config/ # 配置文件 ├── database/ │ ├── init.sql # 数据库初始化脚本 │ └── migrations/ # 迁移文件 ├── support/ # 辅助类 ├── .env # 环境变量 ├── composer.json # Composer 配置 └── route.php # 路由配置 ``` ## 注意事项 1. 生产环境请修改 `.env` 中的 `JWT_SECRET` 为随机字符串 2. 请及时修改默认管理员密码 3. 建议配置 HTTPS 以保证传输安全 4. 图片上传功能需要自行实现存储逻辑(本地存储或云存储) ## 开发说明 ### 添加新模块 1. 在 `app/model/` 创建模型类 2. 在 `app/controller/admin/` 创建控制器类 3. 在 `config/route.php` 添加路由配置 ### 自定义中间件 在 `app/middleware/` 目录下创建新的中间件类,实现 `Webman\MiddlewareInterface` 接口。 ## License MIT License