6.3 KiB
6.3 KiB
资产管理系统API快速参考
版本: v1.0.0 更新时间: 2025-01-24
🚀 快速开始
基础URL
开发环境: http://localhost:8000/api/v1
认证方式
Authorization: Bearer {access_token}
📦 已发布模块
1. 认证模块 (/auth)
POST /auth/login- 用户登录POST /auth/refresh- 刷新TokenPOST /auth/logout- 用户登出PUT /auth/change-password- 修改密码GET /auth/captcha- 获取验证码
2. 用户管理 (/users)
GET /users- 用户列表POST /users- 创建用户GET /users/{id}- 用户详情PUT /users/{id}- 更新用户DELETE /users/{id}- 删除用户POST /users/{id}/reset-password- 重置密码GET /users/me- 当前用户信息
3. 角色权限 (/roles)
GET /roles- 角色列表POST /roles- 创建角色GET /roles/{id}- 角色详情PUT /roles/{id}- 更新角色DELETE /roles/{id}- 删除角色GET /permissions/tree- 权限树
4. 设备类型管理 (/device-types)
GET /device-types- 设备类型列表POST /device-types- 创建设备类型GET /device-types/{id}- 设备类型详情PUT /device-types/{id}- 更新设备类型DELETE /device-types/{id}- 删除设备类型GET /device-types/{id}/fields- 获取字段配置POST /device-types/{id}/fields- 添加字段
5. 机构网点管理 (/organizations)
GET /organizations/tree- 机构树POST /organizations- 创建机构GET /organizations/{id}- 机构详情PUT /organizations/{id}- 更新机构DELETE /organizations/{id}- 删除机构
6. 品牌和供应商管理 (/brands, /suppliers)
GET /brands- 品牌列表POST /brands- 创建品牌PUT /brands/{id}- 更新品牌DELETE /brands/{id}- 删除品牌GET /suppliers- 供应商列表POST /suppliers- 创建供应商PUT /suppliers/{id}- 更新供应商DELETE /suppliers/{id}- 删除供应商
7. 资产管理 (/assets)
GET /assets- 资产列表GET /assets/statistics- 资产统计GET /assets/{id}- 资产详情GET /assets/scan/{code}- 扫码查询POST /assets- 创建资产PUT /assets/{id}- 更新资产DELETE /assets/{id}- 删除资产POST /assets/{id}/status- 变更状态GET /assets/{id}/history- 状态历史
8. 资产分配管理 (/allocation-orders) ✨新增
GET /allocation-orders- 分配单列表GET /allocation-orders/statistics- 分配单统计GET /allocation-orders/{id}- 分配单详情GET /allocation-orders/{id}/items- 分配单明细POST /allocation-orders- 创建分配单PUT /allocation-orders/{id}- 更新分配单POST /allocation-orders/{id}/approve- 审批分配单POST /allocation-orders/{id}/execute- 执行分配单POST /allocation-orders/{id}/cancel- 取消分配单DELETE /allocation-orders/{id}- 删除分配单
9. 维修管理 (/maintenance-records) ✨新增
GET /maintenance-records- 维修记录列表GET /maintenance-records/statistics- 维修统计GET /maintenance-records/{id}- 维修记录详情POST /maintenance-records- 创建维修记录(报修)PUT /maintenance-records/{id}- 更新维修记录POST /maintenance-records/{id}/start- 开始维修POST /maintenance-records/{id}/complete- 完成维修POST /maintenance-records/{id}/cancel- 取消维修DELETE /maintenance-records/{id}- 删除维修记录GET /maintenance-records/asset/{id}- 资产的维修记录
🔑 常用参数
分页参数
page: 页码(默认1)
page_size: 每页数量(默认20,最大100)
skip: 跳过条数(默认0)
limit: 返回条数(默认20)
搜索参数
keyword: 搜索关键词
status: 状态筛选
日期格式
YYYY-MM-DD
📊 常用状态码
资产状态
pending- 待入库in_stock- 库存中in_use- 使用中transferring- 调拨中maintenance- 维修中pending_scrap- 待报废scrapped- 已报废lost- 已丢失
分配单审批状态
pending- 待审批approved- 已审批rejected- 已拒绝cancelled- 已取消
分配单执行状态
pending- 待执行executing- 执行中completed- 已完成cancelled- 已取消
维修记录状态
pending- 待处理in_progress- 维修中completed- 已完成cancelled- 已取消
维修类型
self_repair- 自行维修vendor_repair- 外部维修warranty- 保修维修
故障类型
hardware- 硬件故障software- 软件故障network- 网络故障other- 其他故障
💡 使用示例
Python示例
import requests
BASE_URL = "http://localhost:8000/api/v1"
TOKEN = "your_access_token"
headers = {
"Authorization": f"Bearer {TOKEN}",
"Content-Type": "application/json"
}
# 获取资产列表
response = requests.get(
f"{BASE_URL}/assets",
params={"page": 1, "page_size": 20},
headers=headers
)
assets = response.json()
# 创建分配单
response = requests.post(
f"{BASE_URL}/allocation-orders",
json={
"order_type": "allocation",
"title": "天河网点资产分配",
"target_organization_id": 3,
"asset_ids": [1, 2, 3]
},
headers=headers
)
order = response.json()
# 报修
response = requests.post(
f"{BASE_URL}/maintenance-records",
json={
"asset_id": 1,
"fault_description": "无法开机",
"fault_type": "hardware",
"priority": "high"
},
headers=headers
)
record = response.json()
📖 详细文档
🧪 测试
运行测试
# 运行所有测试
pytest
# 运行特定模块测试
pytest tests/api/test_assets.py
# 查看测试覆盖率
pytest --cov=app --cov-report=html
📝 更新日志
v1.0.0 (2025-01-24)
- ✅ 新增资产分配管理模块(10个API端点)
- ✅ 新增维修管理模块(9个API端点)
- ✅ 完整的审批和执行流程
- ✅ 自动状态管理
- ✅ 统计分析功能
最后更新: 2025-01-24 维护者: 后端API扩展组