一个基于Flask的衣橱管理系统后端API,提供用户管理和服装的增删改查功能。
-
用户管理
- 注册
- 登录
- 获取用户信息
- 更新用户昵称和密码
-
服装管理
- 添加服装
- 获取所有服装
- 获取单个服装详情
- 更新服装信息
- 删除服装
- 记录穿着次数
- Python 3.13+
- Flask 3.1.2+
- Flask-SQLAlchemy 3.1.1+ (SQLite数据库)
- Flask-CORS 6.0.1+
- PyJWT 2.10.1+ (用户认证)
- python-dotenv 1.1.1+
-
克隆仓库
-
安装依赖
pip install -e . -
创建.env文件 在项目根目录创建.env文件,包含以下内容:
FLASK_APP=main.py FLASK_ENV=development JWT_SECRET_KEY=your-secret-key-here DATABASE_URL=sqlite:///dada.db提示:JWT_SECRET_KEY应该设置为一个安全的随机字符串
-
运行应用
python main.py
- URL:
/api/register - 方法:
POST - 请求体:
{ "username": "string", "password": "string", "nickname": "string" (可选) } - 响应:
- 成功:
201 Created - 失败:
400 Bad Request
- 成功:
- URL:
/api/login - 方法:
POST - 请求体:
{ "username": "string", "password": "string" } - 响应:
- 成功:
200 OK,返回JWT令牌 - 失败:
401 Unauthorized
- 成功:
- URL:
/api/user - 方法:
GET - 认证: 需要JWT令牌 (在Authorization头中添加
Bearer <token>) - 响应:
200 OK,返回用户信息
- URL:
/api/user - 方法:
PUT - 认证: 需要JWT令牌
- 请求体:
{ "nickname": "string" (可选), "password": "string" (可选) } - 响应:
200 OK
所有服装接口都需要JWT认证。
- URL:
/api/clothes - 方法:
POST - 请求体:
{ "name": "string", "image_url": "string" (可选), "category": "string", "purchase_date": "YYYY-MM-DD" (可选), "price": number (可选), "wear_count": integer (可选), "washing_method": "string" (可选), "status": "string" (可选,默认:良好) } - 响应:
201 Created,返回创建的服装信息
- URL:
/api/clothes - 方法:
GET - 响应:
200 OK,返回服装列表
- URL:
/api/clothes/<id> - 方法:
GET - 响应:
200 OK,返回服装详情
- URL:
/api/clothes/<id> - 方法:
PUT - 请求体: 与添加服装相同,但只需要包含要更新的字段
- 响应:
200 OK
- URL:
/api/clothes/<id> - 方法:
DELETE - 响应:
200 OK
- URL:
/api/clothes/<id>/wear - 方法:
POST - 响应:
200 OK
id: 主键username: 用户名,唯一password_hash: 密码哈希nickname: 昵称created_at: 创建时间
id: 主键name: 服装名称image_url: 图片URLcategory: 分类purchase_date: 购买日期price: 价格wear_count: 穿着次数washing_method: 洗涤方式status: 状态created_at: 创建时间updated_at: 更新时间user_id: 外键,关联用户
- 开发环境下,服务器会自动重启以应用代码更改
- SQLite数据库文件会自动创建在项目根目录下
- 所有API响应都是JSON格式
MIT License