王一之 发表于 2021-9-14 16:46:58

[脚本猫开发指南]用户配置

官方文档:[用户配置](https://docs.scriptcat.org/dev/config.html)

### 配置声明

为了方便用户配置,脚本猫提供了一个`==UserConfig==`的注释,使用(https://yaml.org/)来进行声明 (https://www.ruanyifeng.com/blog/2016/07/yaml.html)

在脚本代码中,使用`==UserConfig==`来包裹住yaml配置内容

```js
/* ==UserConfig==
配置内容
==/UserConfig== */
```

暂时支持如下几种配置:文本、密码、选择框、列表框、数字,主要根据default的声明来进行识别,并且支持配置组,以顶层key为组名称,支持中文,在编写的时候需要注意空格间距,多个配置组之间使用 --- 进行分隔,如果不进行分隔,在未来的更新中可能会出现问题(如果有i18n的计划,可能会使用顶层key来声明i18n)

```yaml
/* ==UserConfig==
group1:
configA:                              # 键值为group.config,例如本键为:group1.configA
    title: 配置A                        # 配置的标题
    description: 这是一个文本类型的配置   # 配置的描述内容
    default: 默认值                     # 配置的默认值
    min: 2                              # 文本最短2个字符
    max: 18                               # 文本最长18个字符
    password: true                        # 设置为密码
configB:
    title: 配置B
    description: 这是一个选择框的配置
    default: true
configC:
    title: 配置C
    description: 这是一个列表选择的配置
    default: 1
    values:
configD:
    title: 配置D
    description: 这是一个数字的配置
    default: 1
    min: 10# 最小值
    max: 16# 最大值
    unit: 分 # 表示单位
---
group2:
configX:
    title: 配置A
    description: 这是一个文本类型的配置
    default: 默认值
==/UserConfig== */
```

![](https://docs.scriptcat.org/assets/img/image-20210621213013631.3373ad07.png)

### 读取配置

定义完成后,会在控制面板中显示配置按钮,供用户配置,开发者使用`GM_getValue`获取配置的值,key使用`group.config`来表示。

因为使用的是Value的原因,可以使用`@storageName`来共享多个脚本之间的配置,并且配置的修改是实时更新的。

无了 发表于 2021-9-14 18:00:11

好,学着搞

大白兔奶糖 发表于 2022-9-14 11:11:04

这个界面能加个显示用户配置的按钮,否则一般用户用起来太麻烦了。先点主页,再找到那个小小的设置按钮,我昨晚看了一圈,都没看到那个设置按钮。😤

!(data/attachment/forum/202209/14/110742htmccmze3iia8mma.png)

王一之 发表于 2022-9-14 11:35:24

大白兔奶糖 发表于 2022-9-14 11:11
这个界面能加个显示用户配置的按钮,否则一般用户用起来太麻烦了。先点主页,再找到那个小小的设置按钮 ...

安排!是一个好建议

square_http 发表于 2023-8-15 22:59:33

可以不分组吗,还是必须写至少一个group

square_http 发表于 2023-8-15 23:10:02

square_http 发表于 2023-8-15 22:59
可以不分组吗,还是必须写至少一个group

好吧,必须分组,不分组设置界面就成了一堆怪东西.

王一之 发表于 2023-8-15 23:27:01

square_http 发表于 2023-8-15 23:10
好吧,必须分组,不分组设置界面就成了一堆怪东西.

必须分组的
页: [1]
查看完整版本: [脚本猫开发指南]用户配置