Skip to content
On this page

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 状态码。

基于 MIT 许可发布