Mixin#

版本要求#

0.9.5 版本更新后,支持向所有配置文件中注入公共属性设置

配置文件#

例如在配置中统一添加 dns 字段:

  1. 进入 Settings 页面

  2. 滚动至 Profile Mixin 栏

  3. 点击 YAML 右侧 Edit 打开编辑界面

  4. 填入如下内容:

mixin: # 注意下面缩进
  dns:
    enable: true
    listen: :53
    nameserver:
      - 8.8.8.8
  1. 点击编辑器右下角保存

在启动或切换配置时,上面内容将会替换到原有配置文件中进行覆盖

小技巧

配置文件本身不会被修改,混合仅在内存中生效;可通过任务栏图标菜单开关此功能。

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 个参数:配置文件元数据**与**工具类对象/方法

配置文件元数据#

包括:

  1. content:yaml 格式化后的 JavaScript 对象

  2. name:配置文件文件名

  3. url:配置文件下载地址

工具类对象/方法#

包括:

  1. axios:网络请求框架,GitHub(opens new window)

  2. yaml:yaml 框架,GitHub(opens new window)

  3. notify:发出系统通知,签名为 function notify(title:string, message:string, silent:bool)

返回说明#

parse 需返回一个对象,CFW 会将其序列化后载入。