Skip to content

Commit

Permalink
feat: 文档
Browse files Browse the repository at this point in the history
  • Loading branch information
maotoumao committed Nov 26, 2023
1 parent 9496302 commit 73df744
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 6 deletions.
77 changes: 72 additions & 5 deletions docs/plugin/protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,25 @@
outline: deep
---

<style scoped>
.img-container {
width: 100%;
display: flex;
justify-content: center;
}

.img-container img {
width: 50%;
}

@media (max-width: 640px) {
.img-container img {
width: 100%;
}
}

</style>

# 插件协议

本节介绍一个标准的 MusicFree 插件应该满足的数据结构,也就是通过 `module.exports` 导出的对象应当有哪些字段。
Expand Down Expand Up @@ -283,13 +302,61 @@ module.exports = {

该字段值是一个数组,数组的每一项是个对象,其键值如下表:

| 键名 | 值类型 | 说明 |
| :----------------: | :--------: | :-----------------------------: |
| `key` | `string` | 该变量的键 |
| `title` | `string` | 该变量展示在软件面板中的名称,可选 |
| 键名 | 值类型 | 说明 |
| :-----: | :------: | :--------------------------------: |
| `key` | `string` | 该变量的键 |
| `title` | `string` | 该变量展示在软件面板中的名称,可选 |

定义后,插件中可通过 `env.getUserVariables()` 获取用户输入的值。

::: details 🌰 举个例子:

在插件中以如下方式定义:

```javascript
module.exports = {
userVariables: [
{
key: "test1",
title: "变量1",
},
{
key: "test2",
},
],

// ...其他字段
};
```

在手机端对应插件中会显示如下面板:

<div class="img-container"><img src="/img/user-variables.jpg" /></div>

在插件中,你可以在任意一个地方调用:

````javascript

function someFunc(){
const userVariables = env.getUserVariables(); // 返回 { test1: "", test2: "" }
}

module.exports = {
userVariables: [
{
key: "test1",
title: "变量1",
},
{
key: "test2",
},
],

// ...其他字段
};

:::

## 插件函数

> 在开始之前,你也可以先看一下 [typescript 文档](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#functions) 关于函数类型的部分。
Expand All @@ -312,7 +379,7 @@ module.exports = {
async function pluginMethod() {
return "字符串";
}
```
````
### 搜索 (search)
Expand Down
Binary file added docs/public/img/user-variables.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 5 additions & 1 deletion docs/qa/common.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ outline: deep

## 为什么搜不到 XXX 歌,能不能支持 VIP

🙅‍ 搜索功能和软件无关,和**具体插件实现**有关。如果你使用的是示例插件,请参考 [示例插件的声明](https://github.com/maotoumao/MusicFreePlugins)
🙅‍ 软件本身**没有 VIP 的概念**搜索功能和软件无关,和**具体插件实现**有关。如果你使用的是示例插件,请参考 [示例插件的声明](https://github.com/maotoumao/MusicFreePlugins)

> 插件只是示例,来自于网络公开的接口,并过滤掉所有 VIP/收费/试听歌曲。仅供学习参考使用,请不要用于任何商业用途,合理合法使用。<br /> **以后示例插件仓库也没有任何类似 “破解” 行为的打算。**
Expand Down Expand Up @@ -36,6 +36,10 @@ outline: deep

原因基本同上,是否拥有不同音质的音乐由插件决定。软件内会根据设置,在某个音质缺失时,自动用更高或更低音质代替。

## 软件能不能支持 XXX 音质

上面解释过,是否拥有不同音质的音乐由插件决定。软件预先定义了 4 种音质,但具体支持哪种音质,由插件决定。


## 为什么插件安装失败

Expand Down

0 comments on commit 73df744

Please sign in to comment.