feat: first version of backend API

This commit is contained in:
SOR
2026-08-09 20:51:28 +08:00
parent 905f1d897d
commit 8262b3469f
14 changed files with 1380 additions and 217 deletions
+13 -61
View File
@@ -16,7 +16,13 @@
- /register
- /reset
- /email
- /notification-settings
- /toggle-email-status
- /finance
- /
- /{id}/upload_images
- /{id}
- /categories
- /items
- /
- /{id}/upload_images
@@ -28,68 +34,14 @@
- /categories
- /images
- /proof-images
- /
- /{id}
- /usages
## 预计完成的 API 列表
### 1. **物品管理 (Items)**
| 端点 | 方法 | 功能说明 |
|----------------------------------------------|---------------------|--------------------------|
| `items/` | GET/POST/PUT/DELETE | 物品 CRUD 操作 |
| `items/{id}/upload_images/` | POST | 上传物品图片 |
| `items/{id}/set_primary_image/` | POST | 设置主图片 |
| `items/{id}/borrow/` | POST | 借用物品 |
| `items/{id}/return_item/` | POST | 归还物品 |
| `items/available/` | GET | 获取可用物品列表 |
| `items/in_use/` | GET | 获取使用中的物品列表 |
| `usages/` | GET/POST/PUT/DELETE | 物品使用记录 CRUD 操作 |
| `usages/{id}/upload_images/` | POST | 上传使用记录图片 |
| `usages/current/` | GET | 获取当前使用中的记录 |
| `usages/by_user/` | GET | 根据用户姓名获取使用记录 |
| `items/categories/`(原 `item_categories/`) | GET/POST/PUT/DELETE | 物品类别 CRUD 操作 |
| `users/` | GET | 获取用户列表(只读) |
| `items/images/`(原 `item-images/`) | GET/POST/PUT/DELETE | 物品图片 CRUD 操作 |
| `usages/images/`(原 `usage-images/`) | GET/POST/PUT/DELETE | 使用记录图片 CRUD 操作 |
---
### 3. **财务管理 (Finance)**
| 端点 | 方法 | 功能说明 |
|---------------------------------------------------|---------------------|----------------------------------|
| `finance/` | GET/POST/PUT/DELETE | 财务记录 CRUD 操作 |
| `finance/{id}/upload_images/` | POST | 上传财务凭证图片 |
| `finance/{id}/` | DELETE | 删除财务记录(发送邮件通知) |
| `finance/categories/`(原 `finance_categories/`) | GET/POST/PUT/DELETE | 财务分类 CRUD 操作 |
| `proof-images/` | GET/POST/PUT/DELETE | 财务凭证图片 CRUD 操作 |
| `proof-images/{id}/` | DELETE | 删除凭证图片(自动删除物理文件) |
---
### 4. **邮件通知 (Email Notice)**
| 端点 | 方法 | 功能说明 |
|--------------------------|----------|-----------------------------|
| `notification-settings/` | GET/POST | 获取/更新通知设置和邮箱列表 |
| `toggle-email-status/` | POST | 切换邮箱启用/禁用状态 |
**功能**: 管理邮件通知的全局开关和收件人列表
---
### 5. **认证相关**
这是原先的 Django REST Framework JWT 认证端点,主要用于获取和刷新 JWT 令牌。
现在改用 `/api/v1/auth/` 端点来处理登录、注册、重置密码等操作。
| 端点 | 方法 | 功能说明 |
|----------------------|----------|-----------------|
| `api/token/` | POST | JWT 令牌获取 |
| `api/token/refresh/` | POST | JWT 令牌刷新 |
| `admin/` | GET/POST | Django 管理后台 |
---
- /
- /{id}/upload_images
- /current
- /by_user
- /images
#### 认证方式