QQ小程序 HTTP调用
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.01:端口号/open
tips:
-
HTTP服务端口号可在端口号文件位置查看,也可在开发者工具的工具栏-设置-安全设置中查看。
-
以下HTTP服务均需在安全服务端口打开的情况下使用
可用接口
1 打开开发者工具或指定项目
接口定义:
URL: /open
HTTP 方法: GET
URL参数 | 必填 | 说明 | projectpath |
---|---|---|---|
否 | 打开指定路径中的项目。若项目路径正确填写则打开项目,未填写项目路径则打开开发者工具。 |
示例:
## 打开工具
http://127.0.0.1:端口号/open
## 打开/刷新项目
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 | 否 | 指定输出登录结果文件路径 |
示例:
## 登录,返回图片格式的二维码
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
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"}
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
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
6 关闭当前项目窗口
接口定义:
URL:/close
HTTP 方法:GET
URL参数 | 必填 | 说明 |
---|---|---|
projectpath | 是 | 指定路径中的项目 |
示例:
关闭指定项目
http://127.0.0.1:端口号/close?projectpath=%2FUsers%2Fusername%2Fdemo
7 关闭开发者工具
接口定义:
URL:/quit
HTTP 方法:GET
退出开发者工具
http://127.0.0.1:端口号/quit