迁移部分内容
Some checks failed
test / Run tests (push) Failing after 55s
build / Build (push) Failing after 1m18s
Some checks failed
test / Run tests (push) Failing after 55s
build / Build (push) Failing after 1m18s
This commit is contained in:
92
example/userconfig.js
Normal file
92
example/userconfig.js
Normal file
@ -0,0 +1,92 @@
|
||||
// ==UserScript==
|
||||
// @name userconfig
|
||||
// @namespace https://bbs.tampermonkey.net.cn/
|
||||
// @version 0.1.0
|
||||
// @description 会在页面上显示用户配置,可以可视化的进行配置
|
||||
// @author You
|
||||
// @background
|
||||
// @grant GM_getValue
|
||||
// @grant CAT_userConfig
|
||||
// ==/UserScript==
|
||||
|
||||
/* ==UserConfig==
|
||||
group1:
|
||||
configA: # 键值为group.config,例如本键为:group1.configA
|
||||
title: 配置A # 配置的标题
|
||||
description: 这是一个文本类型的配置 # 配置的描述内容
|
||||
type: text # 选项类型,如果不填写会根据数据自动识别
|
||||
default: 默认值 # 配置的默认值
|
||||
min: 2 # 文本最短2个字符
|
||||
max: 18 # 文本最长18个字符
|
||||
password: true # 设置为密码
|
||||
configB:
|
||||
title: 配置B
|
||||
description: 这是一个选择框的配置
|
||||
type: checkbox
|
||||
default: true
|
||||
configC:
|
||||
title: 配置C
|
||||
description: 这是一个列表选择的配置
|
||||
type: select
|
||||
default: 1
|
||||
values: [1,2,3,4,5]
|
||||
configD:
|
||||
title: 配置D
|
||||
description: 这是一个动态列表选择的配置
|
||||
type: select
|
||||
bind: $cookies # 动态显示绑定的values,值是以$开头的key,value需要是一个数组
|
||||
configE:
|
||||
title: 配置E
|
||||
description: 这是一个多选列表的配置
|
||||
type: mult-select
|
||||
default: [1]
|
||||
values: [1,2,3,4,5]
|
||||
configF:
|
||||
title: 配置F
|
||||
description: 这是一个动态多选列表的配置
|
||||
type: mult-select
|
||||
bind: $cookies
|
||||
configG:
|
||||
title: 配置G
|
||||
description: 这是一个数字的配置
|
||||
type: number
|
||||
default: 11
|
||||
min: 10 # 最小值
|
||||
max: 16 # 最大值
|
||||
unit: 分 # 表示单位
|
||||
configH:
|
||||
title: 配置H
|
||||
description: 这是一个长文本类型的配置
|
||||
type: textarea
|
||||
default: 默认值
|
||||
rows: 6
|
||||
---
|
||||
group2:
|
||||
configX:
|
||||
title: 配置A
|
||||
description: 这是一个文本类型的配置
|
||||
default: 默认值
|
||||
==/UserConfig== */
|
||||
|
||||
// 通过GM_info新方法获取UserConfig对象
|
||||
const rawUserConfig = GM_info.userConfig;
|
||||
// 定义一个对象暂存读取到的UserConfig值
|
||||
const userConfig = {};
|
||||
// 解构遍历读取UserConfig并赋缺省值
|
||||
Object.entries(rawUserConfig).forEach(([mainKey, configs]) => {
|
||||
Object.entries(configs).forEach(([subKey, { default: defaultValue }]) => {
|
||||
userConfig[`${mainKey}.${subKey}`] = GM_getValue(`${mainKey}.${subKey}`, defaultValue)
|
||||
})
|
||||
})
|
||||
|
||||
setInterval(() => {
|
||||
// 传统方法读取UserConfig,每个缺省值需要单独静态声明,修改UserConfig缺省值后代码也需要手动修改
|
||||
console.log(GM_getValue("group1.configA", "默认值"));
|
||||
console.log(GM_getValue("group1.configG", 11));
|
||||
// GM_info新方法读取UserConfig,可直接关联读取缺省值,无需额外修改
|
||||
console.log(userConfig["group1.configA"]);
|
||||
console.log(userConfig["group1.configG"]);
|
||||
}, 5000)
|
||||
|
||||
// 打开用户配置
|
||||
CAT_userConfig();
|
Reference in New Issue
Block a user