开发者工具提供了命令行与 HTTP 服务两种接口供外部调用,开发者可以通过命令行或 HTTP 请求指示工具进行登录、预览、上传等操作。

HTTP

http 服务在工具启动后自动开启,HTTP 服务端口号在用户目录下记录,可通过检查用户目录、检查用户目录下是否有端口文件及尝试连接来判断工具是否安装/启动。

端口号文件位置:

macOS : ~/Library/Application Support/微信开发者工具/Default/.ide

Windows : ~/AppData/Local/微信开发者工具/User Data/Default/.ide

1. 打开工具或指定项目

接口定义:

URL: /open

HTTP 方法: GET

URL 参数必填说明
projectpath打开指定路径中的项目。如项目已打开,自动刷新项目。如项目未创建,自动创建并打开项目。如不填,显示工具窗口

示例:

  1. # 打开工具
  2. http://127.0.0.1:端口号/open
  3. # 打开/刷新项目
  4. http://127.0.0.1:端口号/open?projectpath=项目全路径

注意:

  • 项目路径中必须含正确格式的 project.config.json 且其中有 appid 和 projectname 字段。
  • 项目路径需经 URL encode

2. 登录

接口定义:

URL:/login

HTTP 方法:GET

URL 参数必填说明
format指定登录二维码返回格式,可选值有 image、base64、terminal,默认 image。图片格式为 png
qroutput指定文件路径,在文件写入二维码数据。如指定,二维码将被写入指定路径的文件内,如未指定,二维码将作为请求相应体返回
resultoutput指定输出登录结果文件路径

示例:

  1. # 登录,返回图片格式的二维码
  2. http://127.0.0.1:端口号/login
  3. # 登录,取 base64 格式二维码
  4. http://127.0.0.1:端口号/login?format=base64
  5. # 登录,取 base64 格式二维码,并写入 /Users/username/logincode.txt
  6. http://127.0.0.1:端口号/login?format=base64&qroutput=%2FUsers%2Fusername%2Flogincode.txt
  7. # 登录,并写入登录结果到 /Users/username/loginresult.json
  8. http://127.0.0.1:端口号/login?resultoutput=%2FUsers%2Fusername%2Floginresult.json

3. 预览

接口定义:

URL:/preview

HTTP 方法:GET

URL 参数必填说明
projectpath预览指定路径中的项目。如项目已打开,自动刷新项目。如项目未创建,自动创建并预览项目
format指定登录二维码返回格式,可选值有 image、base64、terminal,默认 image。图片格式为 png
qroutput指定文件路径,在文件中写入二维码数据。如指定,二维码将被写入指定路径的文件内,如未指定,二维码将作为请求相应体返回
infooutput指定后,会将本次预览的额外信息以 json 格式输出至指定路径,如代码包大小、分包大小信息。
compilecondition指定自定义编译条件,值为 json 字符串,条件可指定两个字段,pathName 表示打开的页面,不填表示首页,query 表示页面参数

示例:

  1. # 预览路径为 /Users/username/demo 的项目,返回图片格式的二维码
  2. http://127.0.0.1:端口号/preview?projectpath=%2FUsers%2Fusername%2Fdemo
  3. # 预览路径为 /Users/username/demo 的项目,返回 base64 格式的二维码
  4. http://127.0.0.1:端口号/preview?projectpath=%2FUsers%2Fusername%2Fdemo&format=base64
  5. # 预览路径为 /Users/username/demo 的项目,返回 base64 格式的二维码,并写入 /Users/username/logincode.txt
  6. http://127.0.0.1:端口号/preview?projectpath=%2FUsers%2Fusername%2Fdemo&format=base64&qroutput=%2FUsers%2Fusername%2Flogincode.txt
  7. # 预览路径为 /Users/username/demo 的项目,返回图片格式的二维码,并将预览信息输出至 /Users/username/info.json
  8. http://127.0.0.1:端口号/preview?projectpath=%2FUsers%2Fusername%2Fdemo&infooutput=%2Users%2username%2info.json
  9. # 预览路径为 /Users/username/demo 的项目,指定自定义编译条件,启动页为 pages/index/index,参数为 x=1&y=2
  10. http://127.0.0.1:端口号/preview?projectpath=%2FUsers%2Fusername%2Fdemo&compilecondition={"pathName":"pages/index/index","query":"a3=1"}

4. 上传

接口定义:

URL:/upload

HTTP 方法:GET

URL 参数必填说明
projectpath上传指定路径中的项目
version版本号
desc本次上传的版本备注
infooutput指定后,会将本次上传的额外信息以 json 格式输出至指定路径,如代码包大小、分包大小信息。

示例:

  1. # 上传路径为 /Users/username/demo 的项目,指定版本号为 v1.0.0
  2. http://127.0.0.1:端口号/upload?projectpath=%2FUsers%2Fusername%2Fdemo&version=v1.0.0
  3. # 上传路径为 /Users/username/demo 的项目,指定版本号为 v1.0.0,并带上备注
  4. http://127.0.0.1:端口号/upload?projectpath=%2FUsers%2Fusername%2Fdemo&version=v1.0.0&desc=test
  5. # 上传路径为 /Users/username/demo 的项目,指定版本号为 v1.0.0,并将上传信息输出至 /Users/username/info.json
  6. http://127.0.0.1:端口号/upload?projectpath=%2FUsers%2Fusername%2Fdemo&version=v1.0.0&infooutput=%2Users%2username%2info.json

5. 构建 npm

接口定义:

URL:/buildnpm

HTTP 方法:GET

URL 参数必填说明
projectpath上传指定路径中的项目
compiletype编译类型,miniprogram (默认) 或 plugin

示例:

  1. # 构建路径为 /Users/username/demo 的项目
  2. http://127.0.0.1:端口号/buildnpm?projectpath=%2FUsers%2Fusername%2Fdemo&compiletype=miniprogram

6. 自动预览

接口定义:

URL:/autopreview

HTTP 方法:GET

URL 参数必填说明
projectpath指定路径中的项目。如项目已打开,自动刷新项目。如项目未创建,自动创建并自动预览项目
infooutput指定后,会将本次自动预览的额外信息以 json 格式输出至指定路径,如代码包大小、分包大小信息。

示例:

  1. # 自动预览路径为 /Users/username/demo 的项目,返回图片格式的二维码,并将预览信息输出至 /Users/username/info.json
  2. http://127.0.0.1:端口号/autopreview?projectpath=%2FUsers%2Fusername%2Fdemo&infooutput=%2Users%2username%2info.json

7. 关闭当前项目窗口

接口定义:

URL:/close

HTTP 方法:GET

URL 参数必填说明
projectpath指定路径中的项目。

示例

  1. http://127.0.0.1:端口号/close?projectpath=%2FUsers%2Fusername%2Fdemo

注:关闭项目时,会有弹窗提示是否阻止;如未阻止,将在 3 秒后关闭

8. 关闭开发者工具

接口定义:

URL:/quit

HTTP 方法:GET

示例

  1. http://127.0.0.1:端口号/quit

注:关闭开发者工具时,会有弹窗提示是否阻止;如未阻止,将在 3 秒后关闭