Appearance
项目管理
项目用于管理和组织设备,支持创建、查询、更新和删除操作。
获取项目列表
获取当前组织的所有项目。
请求
http
GET /api/v2/projects/
参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
page | integer | 否 | 页码,默认为1 |
page_size | integer | 否 | 每页数量,默认为20 |
search | string | 否 | 搜索项目 ID 或名称 |
响应
json
{
"success": true,
"data": [
{
"project_id": "PRJ123456",
"name": "项目名称",
"device_count": 10,
"offline_device_count": 2,
"created_at": "2025-03-19T01:20:24Z",
"updated_at": "2025-03-19T01:20:24Z"
}
],
"error": null
}
字段说明
字段 | 类型 | 说明 |
---|---|---|
project_id | string | 项目ID |
name | string | 项目名称 |
device_count | integer | 项目中的设备总数 |
offline_device_count | integer | 离线设备数量 |
created_at | string | 创建时间 |
updated_at | string | 更新时间 |
创建项目
创建新的项目。
请求
http
POST /api/v2/projects/
请求参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
name | string | 是 | 项目名称 |
请求示例
json
{
"name": "新项目名称"
}
响应
json
{
"success": true,
"data": {
"project_id": "PRJ123456",
"name": "新项目名称",
"device_count": 0,
"offline_device_count": 0,
"created_at": "2025-03-19T01:20:24Z",
"updated_at": "2025-03-19T01:20:24Z"
},
"error": null
}
更新项目
更新现有项目的信息。
请求
http
PUT /api/v2/projects/{project_id}/
请求参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
name | string | 是 | 项目名称 |
请求示例
json
{
"name": "更新后的项目名称"
}
响应
json
{
"success": true,
"data": {
"project_id": "PRJ123456",
"name": "更新后的项目名称",
"device_count": 10,
"offline_device_count": 2,
"created_at": "2025-03-19T01:20:24Z",
"updated_at": "2025-03-19T01:20:24Z"
},
"error": null
}
删除项目
删除指定的项目。
请求
http
DELETE /api/v2/projects/{project_id}/
响应
json
{
"success": true,
"data": null,
"error": null
}
获取项目设备列表
获取指定项目下的所有设备。
请求
http
GET /api/v2/projects/{project_id}/devices/
响应
json
{
"success": true,
"data": [
{
"device_id": "DEV123456",
"name": "设备名称",
"status": "online",
"connect_time": "2025-03-19T01:20:24Z"
// 其他设备信息...
}
],
"error": null
}
转移项目
将项目及其下的所有设备转移到其他组织。转移时,项目下的所有设备也会被转移到目标组织,并且设备的分组信息会被清空。
请求
http
POST /api/v2/projects/{project_id}/transfer/
请求参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
target_org_slug | string | 是 | 目标组织的slug |
请求示例
json
{
"target_org_slug": "target-org"
}
响应
json
{
"success": true,
"data": {
"project_id": "PRJ123456",
"name": "项目名称",
"organization_id": "新组织ID"
},
"error": null
}
权限要求
- 需要组织管理员权限
- 源组织和目标组织都必须存在
注意事项
- 转移后,项目下所有设备的组织归属会更新
- 设备的分组信息会被清空
- 不能转移到当前所属的组织
错误码
错误码 | 说明 | 错误信息 |
---|---|---|
400 | 请求参数错误 | - |
400 | 项目已属于目标组织 | "项目已属于目标组织" |
401 | 未认证 | - |
403 | 无权限访问 | - |
404 | 目标组织不存在 | "目标组织不存在" |
404 | 项目不存在 | - |
错误码
错误码 | 说明 | 错误信息 |
---|---|---|
400 | 请求参数错误 | 具体的参数错误信息 |
401 | 未认证 | "认证失败" |
403 | 无权限访问 | "无权限执行此操作" |
404 | 项目不存在 | "项目不存在" |
404 | 目标组织不存在 | "目标组织不存在" |
400 | 项目已属于目标组织 | "项目已属于目标组织" |
响应格式
错误响应的格式如下:
json
{
"success": false,
"data": null,
"error": {
"code": 400,
"message": "错误信息"
}
}