# Sirius 固件 API 接口文档

## 基本信息

- **Base URL**: `https://api.corewing.com`
- **接口前缀**: `/sirius_firmware`

## 统一响应格式

```json
{
  "code": 200,
  "message": "操作成功",
  "data": {},
  "success": true
}
```

| 字段 | 类型 | 说明 |
|------|------|------|
| code | Integer | 状态码（200 成功，500 失败） |
| message | String | 提示消息 |
| data | Object | 返回数据 |
| success | Boolean | 是否成功 |

## 枚举说明

### 固件类型（firmwareType）

| 值 | 说明 |
|----|------|
| 1 | 高频头 |
| 2 | 接收机 |
| 3 | 背包 |

### 协议类型（protocolType）

| 值 | 说明 |
|----|------|
| 1 | ELRS |
| 2 | CWLink |

## 固件对象字段说明

| 字段 | 类型 | 说明 |
|------|------|------|
| id | Integer | 主键ID |
| firmwareType | Integer | 固件类型：1-高频头，2-接收机，3-背包 |
| protocolType | Integer | 协议类型：1-ELRS，2-CWLink |
| versionNumber | String | 版本号，如 v3.0.1 |
| fileName | String | 文件名 |
| filePath | String | 文件存储路径 |
| fileSize | Long | 文件大小（字节） |
| md5Hash | String | MD5 校验值 |
| releaseNotes | String | 版本更新说明（可能为 null） |
| createTime | String | 创建时间 |
| updateTime | String | 更新时间 |

---

## 1. 查询最新固件版本

**接口描述：** 根据固件类型和协议类型查询最新版本，用于设备端检查更新。

**请求方式：** `GET`

**请求路径：** `/sirius_firmware/latest`

**请求参数：**

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| firmwareType | Integer | 是 | 固件类型：1-高频头，2-接收机，3-背包 |
| protocolType | Integer | 是 | 协议类型：1-ELRS，2-CWLink |

**请求示例：**

```bash
curl -X GET "http://your-server-host:8080/sirius_firmware/latest?firmwareType=1&protocolType=1"
```

**成功响应示例：**

```json
{
  "code": 200,
  "message": "操作成功",
  "data": {
    "id": 1,
    "firmwareType": 1,
    "protocolType": 1,
    "versionNumber": "v3.0.1",
    "fileName": "sirius_hf_elrs_v3.0.1.bin",
    "filePath": "https://oss.corewing.com/sirius_firmware/sirius_hf_elrs_v3.0.1.bin",
    "fileSize": 1048576,
    "md5Hash": "d41d8cd98f00b204e9800998ecf8427e",
    "releaseNotes": "优化信号连接稳定性",
    "createTime": "2026-03-10 10:30:00",
    "updateTime": "2026-03-10 10:30:00"
  },
  "success": true
}
```

**失败响应示例：**

```json
{
  "code": 500,
  "message": "固件不存在",
  "data": null,
  "success": false
}
```

---

## 2. 根据固件类型查询版本列表

**接口描述：** 查询指定固件类型下所有版本，按时间倒序排列。

**请求方式：** `GET`

**请求路径：** `/sirius_firmware/type/{firmwareType}`

**路径参数：**

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| firmwareType | Integer | 是 | 固件类型：1-高频头，2-接收机，3-背包 |

**请求示例：**

```bash
curl -X GET "http://your-server-host:8080/sirius_firmware/type/1"
```

**成功响应示例：**

```json
{
  "code": 200,
  "message": "操作成功",
  "data": [
    {
      "id": 3,
      "firmwareType": 1,
      "protocolType": 2,
      "versionNumber": "v2.1.0",
      "fileName": "sirius_hf_cwlink_v2.1.0.bin",
      "filePath": "https://oss.corewing.com/sirius_firmware/sirius_hf_cwlink_v2.1.0.bin",
      "fileSize": 2097152,
      "md5Hash": "098f6bcd4621d373cade4e832627b4f6",
      "releaseNotes": "新增CWLink协议支持",
      "createTime": "2026-03-12 14:00:00",
      "updateTime": "2026-03-12 14:00:00"
    },
    {
      "id": 1,
      "firmwareType": 1,
      "protocolType": 1,
      "versionNumber": "v3.0.1",
      "fileName": "sirius_hf_elrs_v3.0.1.bin",
      "filePath": "https://oss.corewing.com/sirius_firmware/sirius_hf_elrs_v3.0.1.bin",
      "fileSize": 1048576,
      "md5Hash": "d41d8cd98f00b204e9800998ecf8427e",
      "releaseNotes": "优化信号连接稳定性",
      "createTime": "2026-03-10 10:30:00",
      "updateTime": "2026-03-10 10:30:00"
    }
  ],
  "success": true
}
```

---

## 3. 根据固件类型和协议类型查询版本列表

**接口描述：** 查询指定固件类型和协议类型下所有版本，按时间倒序排列。

**请求方式：** `GET`

**请求路径：** `/sirius_firmware/type/{firmwareType}/protocol/{protocolType}`

**路径参数：**

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| firmwareType | Integer | 是 | 固件类型：1-高频头，2-接收机，3-背包 |
| protocolType | Integer | 是 | 协议类型：1-ELRS，2-CWLink |

**请求示例：**

```bash
curl -X GET "http://your-server-host:8080/sirius_firmware/type/1/protocol/1"
```

**成功响应示例：**

```json
{
  "code": 200,
  "message": "操作成功",
  "data": [
    {
      "id": 5,
      "firmwareType": 1,
      "protocolType": 1,
      "versionNumber": "v3.0.1",
      "fileName": "sirius_hf_elrs_v3.0.1.bin",
      "filePath": "https://oss.corewing.com/sirius_firmware/sirius_hf_elrs_v3.0.1.bin",
      "fileSize": 1048576,
      "md5Hash": "d41d8cd98f00b204e9800998ecf8427e",
      "releaseNotes": "优化信号连接稳定性",
      "createTime": "2026-03-12 14:00:00",
      "updateTime": "2026-03-12 14:00:00"
    },
    {
      "id": 2,
      "firmwareType": 1,
      "protocolType": 1,
      "versionNumber": "v3.0.0",
      "fileName": "sirius_hf_elrs_v3.0.0.bin",
      "filePath": "https://oss.corewing.com/sirius_firmware/sirius_hf_elrs_v3.0.0.bin",
      "fileSize": 1024000,
      "md5Hash": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
      "releaseNotes": null,
      "createTime": "2026-03-01 08:00:00",
      "updateTime": "2026-03-01 08:00:00"
    }
  ],
  "success": true
}
```

---

## 4. 查询所有固件

**接口描述：** 查询所有固件记录。

**请求方式：** `GET`

**请求路径：** `/sirius_firmware/list`

**请求示例：**

```bash
curl -X GET "http://your-server-host:8080/sirius_firmware/list"
```

**成功响应示例：**

```json
{
  "code": 200,
  "message": "操作成功",
  "data": [
    {
      "id": 1,
      "firmwareType": 1,
      "protocolType": 1,
      "versionNumber": "v3.0.1",
      "fileName": "sirius_hf_elrs_v3.0.1.bin",
      "filePath": "https://oss.corewing.com/sirius_firmware/sirius_hf_elrs_v3.0.1.bin",
      "fileSize": 1048576,
      "md5Hash": "d41d8cd98f00b204e9800998ecf8427e",
      "releaseNotes": "优化信号连接稳定性",
      "createTime": "2026-03-10 10:30:00",
      "updateTime": "2026-03-10 10:30:00"
    }
  ],
  "success": true
}
```

---

## 5. 根据ID查询固件

**接口描述：** 根据固件ID查询详情。

**请求方式：** `GET`

**请求路径：** `/sirius_firmware/{id}`

**路径参数：**

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| id | Integer | 是 | 固件ID |

**请求示例：**

```bash
curl -X GET "http://your-server-host:8080/sirius_firmware/1"
```

**成功响应示例：**

```json
{
  "code": 200,
  "message": "操作成功",
  "data": {
    "id": 1,
    "firmwareType": 1,
    "protocolType": 1,
    "versionNumber": "v3.0.1",
    "fileName": "sirius_hf_elrs_v3.0.1.bin",
    "filePath": "https://oss.corewing.com/sirius_firmware/sirius_hf_elrs_v3.0.1.bin",
    "fileSize": 1048576,
    "md5Hash": "d41d8cd98f00b204e9800998ecf8427e",
    "releaseNotes": "优化信号连接稳定性",
    "createTime": "2026-03-10 10:30:00",
    "updateTime": "2026-03-10 10:30:00"
  },
  "success": true
}
```

**失败响应示例：**

```json
{
  "code": 500,
  "message": "固件不存在",
  "data": null,
  "success": false
}
```

---

## 接口总览

| 方法 | 路径 | 说明 | 使用场景 |
|------|------|------|----------|
| GET | `/sirius_firmware/latest?firmwareType=&protocolType=` | 查询最新版本 | 设备端检查更新 |
| GET | `/sirius_firmware/type/{firmwareType}` | 按固件类型查版本列表 | 查看某类固件所有版本 |
| GET | `/sirius_firmware/type/{firmwareType}/protocol/{protocolType}` | 按类型+协议查版本列表 | 精确筛选版本列表 |
| GET | `/sirius_firmware/list` | 查询所有固件 | 管理端展示全部数据 |
| GET | `/sirius_firmware/{id}` | 按ID查询固件 | 查看固件详情 |

---