Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: revise scheme-url page #21

Merged
merged 1 commit into from
Dec 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 25 additions & 25 deletions docs/desktop/scheme-url.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,49 +4,49 @@ title: Scheme URL 支持
---


从v1.17.0起支持 Scheme URL,可以使用此功能从浏览器等场景下调用LX Music,我们开发了一个[油猴脚本](https://github.com/lyswhut/lx-music-script#readme)配套使用
从 v1.17.0 起支持 Scheme URL,可以使用此功能从浏览器等场景下调用 LX Music,我们开发了一个 [油猴脚本](https://github.com/lyswhut/lx-music-script#readme) 配套使用

脚本安装地址:[https://greasyfork.org/zh-CN/scripts/438148](https://greasyfork.org/zh-CN/scripts/438148)
脚本安装地址:[LX Music 辅助脚本](https://greasyfork.org/zh-CN/scripts/438148)

以下是目前可用的Scheme URL调用方式
以下是目前可用的 Scheme URL 调用方式

- URL统一以`lxmusic://`开头
- 若无特别说明,源的可用值为:`kw/kg/tx/wy/mg`
- 若无特别说明,音质的可用值为:`128k/320k/flac/flac24bit`
- URL 统一以 `lxmusic://` 开头。
- 若无特别说明,源的可用值为:`kw/kg/tx/wy/mg`
- 若无特别说明,音质的可用值为:`128k/320k/flac/flac24bit`

目前支持两种传参方式:

- 通过`data`传参,以经过URL编码的JSON数据传参,例:`lxmusic://music/play?data=xxxx`,其中`xxxx`为经过URL编码后的JSON数据,支持复杂的参数调用
- 通过`URL`传参,适用于简单传参的调用,不需要转成JSON格式,例:`lxmusic://music/search/xxxx`,但仍然需要对数据进行URL编码,只适应于简单参数调用v1.18.0新增)
- 通过 `data` 传参,以经过 URL 编码的 JSON 数据传参,例:`lxmusic://music/play?data=xxxx`,其中 `xxxx` 为经过 URL 编码后的 JSON 数据,支持复杂的参数调用
- 通过 `URL` 传参,适用于简单传参的调用,不需要转成 JSON 格式,例:`lxmusic://music/search/xxxx`,但仍然需要对数据进行 URL 编码,只适应于简单参数调用。*v1.18.0 新增*

### `data`方式传参
### `data` 方式传参

以经过URL编码的JSON数据传参,例:`lxmusic://music/play?data=xxxx`,其中`xxxx`为经过URL编码后的JSON数据,JSON数据内容取决于下表的参数部分
以经过 URL 编码的 JSON 数据传参,例:`lxmusic://music/play?data=xxxx`,其中 `xxxx` 为经过 URL 编码后的 JSON 数据,JSON 数据内容取决于下表的参数部分。

| 描述 | URL | 参数
| --- | --- | ---
| 打开歌单 | `songlist/open` | `source<String>`(源,必须)<br />`id<String/Number>`(歌单ID,可选)<br />`url<String>`(歌单URL,可选)其中ID与URL必需传一个
| 播放歌单 | `songlist/play` | `source<String>`(源,必须)<br />`id<String/Number>`(歌单ID,可选)<br />`url<String>`(歌单URL,可选)其中`id``url`必需传一个<br />`index<Number>`(播放第几首歌,可选,从0开始
| 搜索歌曲 | `music/search` | `keywords<String/Number>`(要搜索的内容,必须)<br />`source<String>`(源,可选
| 播放歌曲 | `music/play` | `name<String>`(歌曲名,必传)<br />`singer<String>`(艺术家名,必传)<br />`source<String>`(源,必传)<br />`songmid<String/Number>`(歌曲ID,必传)<br />`img<String>`(歌曲图片链接,选传)<br />`albumId<String/Number>`(歌曲专辑ID,选传)<br />`interval<String>`(格式化后的歌曲时长,选传,例:`03:55`)<br />`albumName<String>`(歌曲专辑名称,选传)<br />`types<Object>`(歌曲可用音质数组,必传<br />数组格式:`[{"type": "<音质>", size: "<格式化后的文件大小,选传>", hash: "<kg源必传>"}]`,<br />例:`[{"type": "128k", size: "3.56M"}, {"type": "320k", size: null}]`)<br /><br />以下为平台特定参数:<br />`hash<String>`(歌曲hash,kg源必传)<br />`strMediaMid<String>`(歌曲strMediaMid,tx源必传)<br />`albumMid<String>`(歌曲albumMid,tx源专用,选传)<br />`copyrightId<String>`(歌曲copyrightId,mg源必传)<br />`lrcUrl<String>`、`trcUrl<String>`、`mrcUrl<String>`(歌曲lrcUrl、trcUrl与mrcUrl,mg源专用,选传)
| 搜索并播放歌曲 | `music/searchPlay` | `name<String>`(歌曲名,必须)<br />`singer<String>`(歌手,可选)<br />`albumName<String>`(专辑名,可选)<br />`interval<String>`(时长,`xx:xx` 的形式,可选)<br />`playLater<Boolean>`(是否稍后播放,可选,默认 `false` 立即播放)
| 打开歌单 | `songlist/open` | `source<String>`(源,必传)<br />`id<String/Number>`(歌单 ID,选传)<br />`url<String>`(歌单 URL,选传)*其中 `id` 与 `url` 必传只传其中一个*
| 播放歌单 | `songlist/play` | `source<String>`(源,必传)<br />`id<String/Number>`(歌单 ID,选传)<br />`url<String>`(歌单 URL,选传)*其中 `id``url` 必传只传其中一个*<br />`index<Number>`(播放第几首歌,选传,从 0 开始
| 搜索歌曲 | `music/search` | `keywords<String/Number>`(要搜索的内容,必传)<br />`source<String>`(源,选传
| 播放歌曲 | `music/play` | `name<String>`(歌曲名,必传)<br />`singer<String>`(艺术家名,必传)<br />`source<String>`(源,必传)<br />`songmid<String/Number>`(歌曲 ID,必传)<br />`img<String>`(歌曲图片链接,选传)<br />`albumId<String/Number>`(歌曲专辑 ID,选传)<br />`interval<String>`(格式化后的歌曲时长,选传,例:`03:55`)<br />`albumName<String>`(歌曲专辑名称,选传)<br />`types<Object>`(歌曲可用音质数组,必传<br />数组格式:`[{"type": "<音质>", size: "<格式化后的文件大小,选传>", hash: "<kg 源必传>"}]`,<br />例:`[{"type": "128k", size: "3.56M"}, {"type": "320k", size: null}]`)<br /><br />以下为平台特定参数:<br />`hash<String>`(歌曲 hash,kg 源必传)<br />`strMediaMid<String>`(歌曲 strMediaMid,tx 源必传)<br />`albumMid<String>`(歌曲 albumMid,tx 源专用,选传)<br />`copyrightId<String>`(歌曲 copyrightId,mg 源必传)<br />`lrcUrl<String>`、`trcUrl<String>`、`mrcUrl<String>`(歌曲 lrcUrl、trcUrl 与 mrcUrl,mg 源专用,选传)
| 搜索并播放歌曲 | `music/searchPlay` | `name<String>`(歌曲名,必传)<br />`singer<String>`(艺术家名,选传)<br />`albumName<String>`(专辑名,选传)<br />`interval<String>`(时长,`xx:xx` 的形式,选传)<br />`playLater<Boolean>`(是否稍后播放,选传,默认 `false` 立即播放)

#### 以data传参的例子
#### 以 data 传参的例子

以经过URL编码的JSON数据传参,例:`lxmusic://music/play?data=xxxx`,其中xxxx为经过URL编码后的JSON数据
以经过 URL 编码的 JSON 数据传参,例:`lxmusic://music/play?data=xxxx`,其中 `xxxx` 为经过 URL 编码后的 JSON 数据。

- 打开歌单:`lxmusic://songlist/open?data=%7B%22source%22:%22kw%22,%22id%22:%223373919903%22%7D`
- 搜索歌曲:`lxmusic://music/search?data=%7B%22keywords%22:%22%E7%AA%81%E7%84%B6%E7%9A%84%E8%87%AA%E6%88%91%22%7D`

### `URL`方式传参
### `URL` 方式传参

由于URL传参只适用于简单传参场景,所以目前只支持以下功能的调用:
由于 URL 传参只适用于简单传参场景,所以目前只支持以下功能的调用:

| 描述 | URL | 参数
| --- | --- | ---
| 搜索歌曲 | `music/search/{source}/{keywords}` | `source`(源,可选)<br />`keywords`(要搜索的内容,必须)<br />例:`music/search/kw/xxx`、`music/search/xxx`
| 搜索并播放歌曲 | `music/searchPlay/{name-singer}` | `name-singer` (歌曲名,必须),可以只传入歌曲名,也可以传入 **`歌曲名-歌手名`**
| 打开歌单 | `songlist/open/{source}/{id/url}` | `source`(源,必须)<br />`id/url`(歌单ID或歌单URL,必须)<br />例:`songlist/open/kw/123456`
| 搜索歌曲 | `music/search/{source}/{keywords}` | `source`(源,选传)<br />`keywords`(要搜索的内容,必传)<br />例:`music/search/kw/xxx`、`music/search/xxx`
| 搜索并播放歌曲 | `music/searchPlay/{name-singer}` | `name-singer` (歌曲名,必传),可以只传入歌曲名,也可以传入 **`歌曲名-艺术家`**
| 打开歌单 | `songlist/open/{source}/{id/url}` | `source`(源,必传)<br />`id/url`(歌单 ID 或歌单 URL,必传)<br />例:`songlist/open/kw/123456`
| 播放歌曲 | `player/play` |
| 暂停播放 | `player/pause` |
| 切换下一曲 | `player/skipNext` |
Expand All @@ -56,12 +56,12 @@ title: Scheme URL 支持
| 取消收藏当前播放的歌曲 | `player/uncollect` |
| 不喜欢当前播放的歌曲 | `player/dislike` |

#### 以URL传参的例子
#### 以 URL 传参的例子

用`lxmusic://`拼接上表中填充参数后的URL即可,填充参数时最好将参数单独转一下URL编码,否则若参数中存在特殊字符(如`/`)将导致异常的调用
`lxmusic://` 拼接上表中填充参数后的 URL 即可,填充参数时最好将参数单独转一下 URL 编码,否则若参数中存在特殊字符(如 `/`)将导致异常的调用

- 打开歌单:`lxmusic://songlist/open/kw/3373919903`
- 搜索歌曲:`lxmusic://music/search/%E7%AA%81%E7%84%B6%E7%9A%84%E8%87%AA%E6%88%91`
- 切换下一曲:`lxmusic://player/skipNext`

相关issue看:[https://github.com/lyswhut/lx-music-desktop/issues/1056](https://github.com/lyswhut/lx-music-desktop/issues/1056)
相关 issue 看:[https://github.com/lyswhut/lx-music-desktop/issues/1056](https://github.com/lyswhut/lx-music-desktop/issues/1056)
32 changes: 16 additions & 16 deletions docs/mobile/scheme-url.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,34 @@ id: scheme-url
title: Scheme URL 支持
---

从v1.6.0起支持 Scheme URL,可以使用此功能从浏览器等场景下调用LX Music
从 v1.6.0 起支持 Scheme URL,可以使用此功能从浏览器等场景下调用 LX Music

调用传参格式与PC端的一致,入参格式说明看PC端 [Scheme URL 说明](/desktop/scheme-url),但目前仅支持以下 URL:
调用传参格式与桌面版一致,入参格式说明看桌面版 [Scheme URL 说明](/desktop/scheme-url),但目前仅支持以下 URL:

### `data`方式传参
### `data` 方式传参

以经过URL编码的JSON数据传参,例:`lxmusic://music/play?data=xxxx`,其中`xxxx`为经过URL编码后的JSON数据,JSON数据内容取决于下表的参数部分
以经过 URL 编码的 JSON 数据传参,例:`lxmusic://music/play?data=xxxx`,其中 `xxxx` 为经过 URL 编码后的 JSON 数据,JSON 数据内容取决于下表的参数部分。

| 描述 | URL | 参数
| --- | --- | ---
| 播放歌单 | `songlist/play` | `source<String>`(源,必须)<br />`id<String/Number>`(歌单ID,可选)<br />`url<String>`(歌单URL,可选)其中`id``url`必需传一个<br />`index<Number>`(播放第几首歌,可选,从0开始
| 播放歌曲 | `music/play` | `name<String>`(歌曲名,必传)<br />`singer<String>`(艺术家名,必传)<br />`source<String>`(源,必传)<br />`songmid<String/Number>`(歌曲ID,必传)<br />`img<String>`(歌曲图片链接,选传)<br />`albumId<String/Number>`(歌曲专辑ID,选传)<br />`interval<String>`(格式化后的歌曲时长,选传,例:`03:55`)<br />`albumName<String>`(歌曲专辑名称,选传)<br />`types<Object>`(歌曲可用音质数组,必传<br />数组格式:`[{"type": "<音质>", size: "<格式化后的文件大小,选传>", hash: "<kg源必传>"}]`<br />例:`[{"type": "128k", size: "3.56M"}, {"type": "320k", size: null}]`)<br /><br />以下为平台特定参数:<br />`hash<String>`(歌曲hash,kg源必传)<br />`strMediaMid<String>`(歌曲strMediaMid,tx源必传)<br />`albumMid<String>`(歌曲albumMid,tx源专用,选传)<br />`copyrightId<String>`(歌曲copyrightId,mg源必传)<br />`lrcUrl<String>`、`trcUrl<String>`、`mrcUrl<String>`(歌曲lrcUrl、trcUrl与mrcUrl,mg源专用,选传)
| 搜索并播放歌曲 | `music/searchPlay` | `name<String>`(歌曲名,必须)<br />`singer<String>`(歌手,可选)<br />`albumName<String>`(专辑名,可选)<br />`interval<String>`(时长,`xx:xx` 的形式,可选)<br />`playLater<Boolean>`(是否稍后播放,可选,默认 `false` 立即播放)
| 播放歌单 | `songlist/play` | `source<String>`(源,必传)<br />`id<String/Number>`(歌单 ID,选传)<br />`url<String>`(歌单 URL,选传)*其中 `id``url` 必传只传其中一个*<br />`index<Number>`(播放第几首歌,选传,从 0 开始
| 播放歌曲 | `music/play` | `name<String>`(歌曲名,必传)<br />`singer<String>`(艺术家名,必传)<br />`source<String>`(源,必传)<br />`songmid<String/Number>`(歌曲 ID,必传)<br />`img<String>`(歌曲图片链接,选传)<br />`albumId<String/Number>`(歌曲专辑 ID,选传)<br />`interval<String>`(格式化后的歌曲时长,选传,例:`03:55`)<br />`albumName<String>`(专辑名,选传)<br />`types<Object>`(歌曲可用音质数组,必传<br />数组格式:`[{"type": "<音质>", size: "<格式化后的文件大小,选传>", hash: "<kg 源必传>"}]`<br />例:`[{"type": "128k", size: "3.56M"}, {"type": "320k", size: null}]`)<br /><br />以下为平台特定参数:<br />`hash<String>`(歌曲 hash,kg 源必传)<br />`strMediaMid<String>`(歌曲 strMediaMid,tx 源必传)<br />`albumMid<String>`(歌曲 albumMid,tx 源专用,选传)<br />`copyrightId<String>`(歌曲 copyrightId,mg 源必传)<br />`lrcUrl<String>`、`trcUrl<String>`、`mrcUrl<String>`(歌曲 lrcUrl、trcUrl 与 mrcUrl,mg 源专用,选传)
| 搜索并播放歌曲 | `music/searchPlay` | `name<String>`(歌曲名,必传)<br />`singer<String>`(艺术家名,选传)<br />`albumName<String>`(专辑名,选传)<br />`interval<String>`(时长,`xx:xx` 的形式,选传)<br />`playLater<Boolean>`(是否稍后播放,选传,默认 `false` 立即播放)

#### 以data传参的例子
#### 以 data 传参的例子

以经过URL编码的JSON数据传参,例:`lxmusic://music/play?data=xxxx`,其中xxxx为经过URL编码后的JSON数据
以经过 URL 编码的 JSON 数据传参,例:`lxmusic://music/play?data=xxxx`,其中 `xxxx` 为经过 URL 编码后的 JSON 数据。

- 打开歌单:`lxmusic://songlist/play?data=%7B%22source%22:%22kw%22,%22id%22:%223373919903%22%7D`
- 搜索歌曲:`lxmusic://music/search?data=%7B%22keywords%22:%22%E7%AA%81%E7%84%B6%E7%9A%84%E8%87%AA%E6%88%91%22%7D`

### `URL`方式传参
### `URL` 方式传参

由于URL传参只适用于简单传参场景,所以目前只支持以下功能的调用:
由于 URL 传参只适用于简单传参场景,所以目前只支持以下功能的调用:

| 描述 | URL | 参数
| --- | --- | ---
| 搜索并播放歌曲 | `music/searchPlay/{name-singer}` | `name-singer` (歌曲名,必须),可以只传入歌曲名,也可以传入 **`歌曲名-歌手名`**
| 搜索并播放歌曲 | `music/searchPlay/{name-singer}` | `name-singer`(歌曲名,必传)可以只传入歌曲名,也可以传入 **`歌曲名-艺术家`**
| 播放歌曲 | `player/play` |
| 暂停播放 | `player/pause` |
| 切换下一曲 | `player/skipNext` |
Expand All @@ -40,11 +40,11 @@ title: Scheme URL 支持
| 取消收藏当前播放的歌曲 | `player/uncollect` |
| 不喜欢当前播放的歌曲 | `player/dislike` |

#### 以URL传参的例子
#### 以 URL 传参的例子

用`lxmusic://`拼接上表中填充参数后的URL即可,填充参数时最好将参数单独转一下URL编码,否则若参数中存在特殊字符(如`/`)将导致异常的调用
`lxmusic://` 拼接上表中填充参数后的 URL 即可,填充参数时最好将参数单独转一下 URL 编码,否则若参数中存在特殊字符(如 `/`)将导致异常的调用

- 搜索并播放歌曲`lxmusic://music/searchPlay/%E7%AA%81%E7%84%B6%E7%9A%84%E8%87%AA%E6%88%91`
- 搜索并播放歌曲`lxmusic://music/searchPlay/%E7%AA%81%E7%84%B6%E7%9A%84%E8%87%AA%E6%88%91`
- 切换下一曲:`lxmusic://player/skipNext`

相关issue看:[https://github.com/lyswhut/lx-music-desktop/issues/1056](https://github.com/lyswhut/lx-music-desktop/issues/1056)
相关 issue 看:[https://github.com/lyswhut/lx-music-desktop/issues/1056](https://github.com/lyswhut/lx-music-desktop/issues/1056)
Loading