Files
itstudio_manager/README.md
T

125 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# itstudio_manager
## 目前完成的 API 列表
[完整信息](./API.md)
- /api
- /test
- /hello
- /v1
- /auth
- /login
- /logout
- /relogin
- /ask-code
- /register
- /reset
- /email
- /finance
- /items
- /
- /{id}/upload_images
- /{id}/set_primary_image
- /{id}/borrow
- /{id}/return_item
- /available
- /in_use
- /categories
- /images
- /proof-images
- /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 管理后台 |
---
#### 认证方式
所有 API 均使用 **JWT 认证**(除了需要特殊处理的端点)
```
Authorization: Bearer <token>
```
## 数据库结构
[schema.sql](./schema.sql)
- users/account (系统用户/认证信息)
- categories (物品类别)
- parent_id -> categories.id (自关联父级)
- items (物品基本信息)
- category_id -> categories.id
- created_by -> account.id
- item_transactions (物品出入库流水)
- item_id -> items.id (ON DELETE CASCADE)
- operator_id -> account.id
- borrow_records (借用/归还记录)
- item_id -> items.id (ON DELETE CASCADE)
- borrower (借入人,字符串)
- approver (借出/审批人,字符串)
- finance_records (财务相关记录)
- related_item_id -> items.id
- recorded_by -> account.id
- email_notices (邮件通知规则/历史)
- attachments (文件附件存储索引表)
- uploaded_by -> account.id