# itstudio_manager ## 目前完成的 API 列表 [完整信息](./API.md) - /api - /test - /hello - /v1 - /auth - /login - /logout - /relogin - /ask-code - /register - /reset - /departments - /email - /finance - /items - /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 | 删除财务记录(发送邮件通知) | | `departments/` | GET/POST/PUT/DELETE | 部门 CRUD 操作 | | `departments/{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 ``` ## 数据库结构 [schema.sql](./schema.sql) - users/account (系统用户/认证信息) - departments (组织/部门) - parent_id -> departments.id (自关联父级) - 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