API 文档
逸云 GIS 提供 RESTful API,方便与其他系统集成。
基础信息
- Base URL:
http://localhost:3000/api - 认证方式: Bearer Token
- 数据格式: JSON
认证
获取 Token
POST /api/auth/login
Content-Type: application/json
{
"username": "admin",
"password": "your_password"
}
使用 Token
GET /api/projects
Authorization: Bearer <your_token>
状态码
| 状态码 | 说明 |
|---|---|
| 200 | 请求成功 |
| 201 | 创建成功 |
| 400 | 请求参数错误 |
| 401 | 未授权 |
| 403 | 禁止访问 |
| 404 | 资源不存在 |
| 500 | 服务器错误 |
API 列表
项目管理
GET /api/projects- 获取项目列表POST /api/projects- 创建项目GET /api/projects/:id- 获取项目详情PUT /api/projects/:id- 更新项目DELETE /api/projects/:id- 删除项目
文件管理
POST /api/files/upload- 上传文件GET /api/files- 获取文件列表GET /api/files/:id- 获取文件详情DELETE /api/files/:id- 删除文件GET /api/files/:id/download- 下载文件
用户认证
POST /api/auth/login- 用户登录POST /api/auth/logout- 用户登出GET /api/auth/me- 获取当前用户信息POST /api/auth/wechat- 微信登录
功能接口
POST /api/ai/chat- AI 对话POST /api/analysis/contour- 等高线分析POST /api/analysis/elevation- 高程查询POST /api/analysis/profile- 剖面分析
请求示例
JavaScript
javascript
const response = await fetch('http://localhost:3000/api/projects', {
method: 'GET',
headers: {
'Authorization': 'Bearer your_token',
'Content-Type': 'application/json'
}
});
const data = await response.json();
Python
python
import requests
headers = {
'Authorization': 'Bearer your_token',
'Content-Type': 'application/json'
}
response = requests.get('http://localhost:3000/api/projects', headers=headers)
data = response.json()
cURL
bash
curl -X GET http://localhost:3000/api/projects \
-H "Authorization: Bearer your_token" \
-H "Content-Type: application/json"
错误处理
API 返回的错误格式:
json
{
"error": {
"code": "INVALID_PARAMETER",
"message": "请求参数错误",
"details": {
"field": "name",
"issue": "不能为空"
}
}
}
分页
列表接口支持分页:
GET /api/files?page=1&limit=20
响应包含分页信息:
json
{
"data": [...],
"pagination": {
"page": 1,
"limit": 20,
"total": 100,
"pages": 5
}
}
速率限制
- 认证接口:10 次/分钟
- 普通接口:100 次/分钟
- 上传接口:10 次/分钟
超过限制会返回 429 状态码。