从头开始开发Fxd应用

一般情况下,我们推荐直接继承现有应用,当然如果没有合适的应用,则可以按以下步骤编写新应用。

创建目录

fxd-app- 开头,用 - 分隔单词,比如 fxd-app-demo

package.json

运行 yarn init -y,初始化一个 package.json。补充 meta 字段,用于描述作者和参数信息

{
  "name": "fxd-app-demo",
  "version": "1.0.0",
  "main": "index.js",
  "license": "PolyForm-Noncommercial",
  "type": "module",
  "meta":
  {
    "for":"fxd",
    "author_uid":0,
    "args": 
    {
      "main":{
        "url": {
        "name": "url",
        "description": "要打开的页面 URL",
        "type": "string",
        "required": false,
        "default": "https://f.ftqq.com",
        "example": "https://www.example.com" 
        }
      }
    }
  }
}

index.js

创建 index.js,填入以下代码:

import FxdApp from 'fxd-app-core';
import { FxdSdk, getPackageInfo } from 'fxd-sdk';

export default class FxdDemo extends FxdApp {
    constructor() {
        super();
        this.sdk = new FxdSdk(getPackageInfo(import.meta.url));
        // ...
    }

    async main(args, opts, command) {
        this.setDeaultOpts(opts);
        this.setDeaultCommand(command);
        // 以上两行设置后,this.get可以不传入第二和第三个参数

        console.log(this.sdk.name, command, args, opts, this.get('url', opts));
    }
}

测试应用

通过终端进入安装方小代可执行文件所在的目录:

  1. 在 Mac 系统中,启动路径为: 存放方小代应用的目录/Contents/MacOS/方小代
  2. 在 Win 系统中,启动路径为:存放方小代应用的目录/方小代.exe

运行 npm install DemoAPP的绝对路径,将其添加到 node_modules 目录。

然后就可以运行这个应用了。

  1. 命令行:在当前目录输入 node node_moduels/fxd-cli/index.js Demo 即可。注意这里的应用名是包名去掉 fxd-app- 后,按小驼峰书写
  2. 客户端:按包名添加应用 fxd-app-demo

发布应用

当测试完成后,可以通过 npm publish命令发布到官方。当然,你需要注册并登入 npmjs.com 。具体的教程请自行查找。

删除本地测试应用

打开方小代可执行文件所在的目录的 package.json 删除其中关于 fxd-app-demo 的依赖并保存后,重新 npm install 即可。