# HTTP调用

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

# HTTP调用说明

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

端口号文件位置:

  • macOS: ~/Library/Application Support/QQ小程序开发者工具/Default/.ide
  • Windows: ~/AppData/Local/QQ小程序开发者工具/User Data/Default/.ide

HTTP调用使用方式:

  • 开启安全服务端口: 打开开发者工具 -> 打开 工具栏-设置 选项 -> 选择“安全”设置 -> 开启服务端口。服务端口开启后,下次打开开发者工具会自动打开安全服务端口。
  • 使用HTTP调用: 打开浏览器,输入需要调用的接口的http路径,如打开开发者工具:http://127.0.0.1:端口号/open

tips:

  • HTTP服务端口号可在端口号文件位置查看,也可在开发者工具的工具栏-设置-安全设置中查看。
  • 以下HTTP服务均需在安全服务端口打开的情况下使用

# 可用接口

# 1 打开开发者工具或指定项目

接口定义:

URL: /open

HTTP 方法: GET

URL参数 必填 说明
projectpath 打开指定路径中的项目。若项目路径正确填写则打开项目,未填写项目路径则打开开发者工具。

示例:

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

注意:

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

# 2 登录

接口定义:

URL:/login

HTTP 方法:GET

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

示例:

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

# 3 预览

接口定义:

URL:/preview

HTTP 方法:GET

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

示例:

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

# 4 上传代码

接口定义:

URL:/upload

HTTP 方法:GET

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

示例:

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

# 5 构建 npm

接口定义:

URL:/buildnpm

HTTP 方法:GET

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

示例:

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

# 6 关闭当前项目窗口

接口定义:

URL:/close

HTTP 方法:GET

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

示例:

# 关闭指定项目
http://127.0.0.1:端口号/close?projectpath=%2FUsers%2Fusername%2Fdemo
1
2

# 7 关闭开发者工具

接口定义:

URL:/quit

HTTP 方法:GET

# 退出开发者工具
http://127.0.0.1:端口号/quit
1
2