Mixin#
版本要求#
0.9.5 版本更新后,支持向所有配置文件中注入公共属性设置
配置文件#
例如在配置中统一添加 dns 字段:
进入 Settings 页面
滚动至 Profile Mixin 栏
点击 YAML 右侧 Edit 打开编辑界面
填入如下内容:
mixin: # 注意下面缩进
dns:
enable: true
listen: :53
nameserver:
- 8.8.8.8
点击编辑器右下角保存
在启动或切换配置时,上面内容将会替换到原有配置文件中进行覆盖
小技巧
配置文件本身不会被修改,混合仅在内存中生效;可通过任务栏图标菜单开关此功能。
JavaScript#
0.10.1 起支持使用 JavaScript 做 mixin,需传入字符串(YAML 多行字符串使用 |)。
步骤同上,将代码填入 JavaScript 栏并将 Type 设为 JavaScript。示例:
module.exports.parse = async ({ content, name, url }, { axios, yaml, notify }) => {
const extra = { dns: { enable: true, listen: ":53", nameserver: ["8.8.8.8"] } }
return { ...content, ...extra }
}
参数说明#
CFW 调用用户定义的 parse 方法时会传入 2 个参数:配置文件元数据**与**工具类对象/方法。
配置文件元数据#
包括:
content:yaml 格式化后的 JavaScript 对象
name:配置文件文件名
url:配置文件下载地址
工具类对象/方法#
包括:
axios:网络请求框架,GitHub(opens new window)
yaml:yaml 框架,GitHub(opens new window)
notify:发出系统通知,签名为
function notify(title:string, message:string, silent:bool)
返回说明#
parse 需返回一个对象,CFW 会将其序列化后载入。