Skip to content

Commit

Permalink
docs(desktop): revise open-api page (#13)
Browse files Browse the repository at this point in the history
  • Loading branch information
3gf8jv4dv authored Dec 28, 2024
1 parent 8682d91 commit 63c5f89
Showing 1 changed file with 32 additions and 34 deletions.
66 changes: 32 additions & 34 deletions docs/desktop/open-api.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
id: open-api
title: 开放API服务
title: 开放 API 服务
---

从 v2.7.0 起支持开放API服务,启用该功能后,将会在本地启动一个http服务,提供以下接口供第三方软件调用。
从 v2.7.0 起支持开放 API 服务。启用该功能后,将会在本地启动一个 HTTP 服务,提供以下接口供第三方软件调用。

:::tip
若你要实时获取播放器状态,我们强烈建议使用SSE接口来获取状态,而不是通过轮询的方式重复调用状态接口。
若你要实时获取播放器状态,我们强烈建议使用 SSE 接口来获取状态,而不是通过轮询的方式重复调用状态接口。
:::

### 获取播放器状态
Expand All @@ -19,23 +19,23 @@ title: 开放API服务

| 参数名称 | 描述 |
| --- | --- |
| `filter` | 过滤返回的字段,可选,可用名字看响应数据格式的字段名,多个用 `,` 分隔。<br/> 默认值:`status,name,singer,albumName,lyricLineText,duration,progress,playbackRate` |
| `filter` | 过滤返回的字段,可选,可用字段看下方「响应数据格式」的字段名,多个字段用 `,` 分隔。<br/> 默认值:`status,name,singer,albumName,lyricLineText,duration,progress,playbackRate` |

响应数据格式:JSON

| 字段名 | 描述 |
| --- | --- |
| `status` | 播放器状态,可能的值为 `playing``paused``error``stoped` |
| `name` | 歌曲名字 |
| `singer` | 歌手名字 |
| `albumName` | 专辑名字 |
| `duration` | 歌曲时长(秒) |
| `progress` | 歌曲进度(秒) |
| `status` | 播放器状态,可能的值为 `playing``paused``error``stoped` |
| `name` | 歌曲名 |
| `singer` | 艺术家 |
| `albumName` | 专辑名 |
| `duration` | 歌曲总时长(秒) |
| `progress` | 歌曲播放进度(秒) |
| `playbackRate` | 播放速率 |
| `picUrl` | 歌曲封面图片链接,可能为 HTTP链接 或 [Data Url](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs) |
| `lyricLineText` | 当前句歌词文本 |
| `lyricLineAllText` | 当前句歌词及扩展歌词文本(扩展歌词包含翻译、罗马音等,按换行符分割) |
| `lyric` | 当前歌曲LRC歌词文本 |
| `picUrl` | 歌曲封面图片链接,可能为 HTTP 链接或 [Data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs) |
| `lyricLineText` | 当前播放歌词文本 |
| `lyricLineAllText` | 当前播放歌词及扩展歌词文本<br/> *扩展歌词包含翻译、罗马音等,使用换行符分割* |
| `lyric` | 当前歌曲 LRC 歌词文本 |
| `collect` | 当前歌曲是否已收藏 |

响应数据例子:
Expand All @@ -52,16 +52,15 @@ title: 开放API服务
"picUrl": "http://xxx",
"lyricLineText": "徐誉滕 - 天使的翅膀"
}

```

### 获取当前LRC歌词
### 获取当前 LRC 歌词

接口地址:`/lyric`

请求方法:`GET`

响应数据格式:UTF-8编码的LRC文本
响应数据格式:UTF-8 编码的 LRC 文本

响应数据例子:

Expand All @@ -85,15 +84,15 @@ title: 开放API服务

### 播放器状态订阅

SSE事件流接口,本接口接受一个普通的 HTTP GET 请求,只是请求会保持长链接状态播放器的状态在变更时通过文本事件流的形式将其实时返回你可以使用以下命令测试该接口:
SSE 事件流接口。本接口接受一个普通的 HTTP GET 请求,只是请求会保持长链接状态播放器的状态在变更时通过文本事件流的形式将其实时返回你可以使用以下命令测试该接口:

```bash
curl -N http://127.0.0.1:23330/subscribe-player-status
```

其他语言使用该接口的例子:[lx-music-desktop/1824#issuecomment-2027888681](https://github.com/lyswhut/lx-music-desktop/issues/1824#issuecomment-2027888681)
其他语言使用该接口的例子:[lx-music-desktop/1824#issuecomment-2027888681](https://github.com/lyswhut/lx-music-desktop/issues/1824#issuecomment-2027888681)

更多详情请阅读 [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events)
更多详情请阅读 [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events)

接口地址:`/subscribe-player-status`

Expand All @@ -103,23 +102,23 @@ curl -N http://127.0.0.1:23330/subscribe-player-status

| 参数名称 | 描述 |
| --- | --- |
| `filter` | 过滤返回的字段,可选,可用名字看响应数据格式的字段名,多个用 `,` 分隔。<br/> 默认值:`status,name,singer,albumName,lyricLineText,duration,progress,playbackRate` |
| `filter` | 过滤返回的字段,可选,可用字段看下方「响应数据格式」的字段名,多个字段用 `,` 分隔。<br/> 默认值:`status,name,singer,albumName,lyricLineText,duration,progress,playbackRate` |

响应数据格式:SSE文本事件流
响应数据格式:SSE 文本事件流

| 事件名称 | 描述 |
| --- | --- |
| `status` | 播放器状态,可能的值为 `playing``paused``error``stoped` |
| `name` | 歌曲名字 |
| `singer` | 歌手名字 |
| `albumName` | 专辑名字 |
| `duration` | 歌曲时长(秒) |
| `progress` | 歌曲进度(秒) |
| `status` | 播放器状态,可能的值为 `playing``paused``error``stoped` |
| `name` | 歌曲名 |
| `singer` | 艺术家 |
| `albumName` | 专辑名 |
| `duration` | 歌曲总时长(秒) |
| `progress` | 歌曲播放进度(秒) |
| `playbackRate` | 播放速率 |
| `picUrl` | 歌曲封面图片链接,可能为 HTTP链接 或 [Data Url](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs) |
| `lyricLineText` | 当前句歌词文本 |
| `lyricLineAllText` | 当前句歌词及扩展歌词文本(扩展歌词包含翻译、罗马音等,按换行符分割) |
| `lyric` | 当前歌曲LRC歌词文本 |
| `picUrl` | 歌曲封面图片链接,可能为 HTTP 链接或 [Data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs) |
| `lyricLineText` | 当前播放歌词文本 |
| `lyricLineAllText` | 当前播放歌词及扩展歌词文本<br/> *扩展歌词包含翻译、罗马音等,使用换行符分割* |
| `lyric` | 当前歌曲 LRC 歌词文本 |
| `collect` | 当前歌曲是否已收藏 |

响应数据例子:
Expand All @@ -136,7 +135,6 @@ data: "林俊杰"
event: albumName
data: "幸存者 Drifter"
```

### 播放器控制
Expand All @@ -152,4 +150,4 @@ data: "幸存者 Drifter"

你还可以配合 [Scheme URL](./scheme-url.md) 控制播放器的其他操作,例如搜索并播放某歌曲的操作。

若你想要提供更多API,可以到GitHub开issue讨论 :)
若你想要提供更多 API,可以到 GitHub [提交 Issue](https://github.com/lyswhut/lx-music-desktop/issues?q=is%3Aissue+) 进行讨论。:)

0 comments on commit 63c5f89

Please sign in to comment.