FxdApp的元信息和参数定义

元信息和参数定义

通过在 npm 的 package.json 中添加 meta 信息,我们可以指定脚本的作者、以及每一个方法支持的参数。

"meta": {
    "for": "fxd",
    "author_uid": 1,
    "args": {
      "main|check|watch": {
        "url": {
          "name": "url",
          "description": "要打开的页面 URL",
          "type": "string",
          "required": true,
          "example": "https://www.example.com"
        },
      },
      "watch": {
        "sendkey": {
          "name": "sendkey",
          "description": "填入后,检测到变化时会调用Server酱发消息",
          "type": "string",
          "example": "abcdefg1234"
        }
      }
    }
  }

指定参数的作用

通过在 package.json 中定义参数,可以直接在GUI中填入。

当然这些参数也可以在命令行的 help 中显示。

支持的属性如下:

  1. for: 固定为"fxd",用于标识这是一个fxd app
  2. author_uid: 用于指定 app 作者,只有 app 作者才有权限上架 fxd 商店
  3. args: 参数信息。
  4. 第一级为方法,如 watchcheck;多个方法同时支持的参数可以放到一起,方法名用竖线隔开,如 main|check|watch
  5. 第二级为字段说明,字段说明包含以下属性: 1. name: 英文字段名 1. cn_name: 显示在客户端界面中的中文字段名 1. description: 对字段的说明,通常会作为 placeholder 显示 1. default: 默认值 1. required: 是否必填 1. example: 字段值示例 1. advanced: 是否为进阶参数,如是,则只在「进阶设置」按钮按下时显示 1. type: 字段类型,支持 stringbooleannumber 1. ui: 字段UI类型,UI默认会根据type自动适配,但可以强制指定。如 typestring 时默认为文本输入框,但可以指定 UI 为 textarea,这样会将其变为长文本编辑区域。支持 textinput,shortcutinput,textarea,numberinput,dateinput,select,multiselect,jsoninput,passwordinput,switch,cron
  6. enum: 枚举值,限制输入值为枚举数组的内容,如 ["json","text"]。设置枚举值通常会将UI转化为 select