首页 > 其他分享 >HTTP调用

HTTP调用

时间:2025-01-16 09:03:29浏览次数:1  
标签:调用 http 0.1 project v2 127.0 HTTP 端口号

若需在不依赖开发者工具场景如自身业务工程流水线上进行小程序项目上传、预览,则推荐使用 miniprogram-ci

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

HTTP V2

升级说明:自 1.02.202003092 开始,CLI & HTTP 接口升级 v2 版本,在 v2 版本中,旧版命令仍然可以使用,但已废弃并会在未来移除,请使用 v2 命令。v2 版本增加了云开发管理操作支持、优化命令形式、增加细致状态提示、支持长时间命令执行、支持国际化(中英文选择)等。

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

端口号文件位置:

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

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

注: MD5 的计算规则:MD5(${installPath}${nwVersion})

macOS: installPath == "/Applications/wechatwebdevtools.app/Contents/MacOS", nwVersion == '';

Windoes: installPath == '微信开发者工具.exe 所在的路径', nwVersion 是 installPath 目录下有一个 version 文件(JSON 格式)中 latestNw 的值

接口索引

所有接口的 URL 路径前缀都需 /v2

分类 作用 接口
登录 登录工具 /login
是否登录工具 /islogin
小程序代码 预览 /preview
上传代码 /upload
自动预览 /autopreview
构建 npm /buildnpm
清除缓存 /cleancache
工具窗口 启动工具 /open
关闭项目窗口 /close
关闭工具 /quit
重建文件监听 /resetfileutils
云开发 云开发操作 /cloud
云环境相关操作 /cloud/env
云函数相关操作 /cloud/functions
查看云环境列表 /cloud/env/list
查看云函数列表 /cloud/functions/list
查看云函数信息 /cloud/functions/info
上传云函数 /cloud/functions/deploy
增量上传云函数 /cloud/functions/inc-deploy
下载云函数 /cloud/functions/download

通用项目选项

通用 URL 参数

参数 说明
project 项目路径
appid 小程序 AppID 或第三方平台 AppID。如果有提供 project,该选项将忽略
ext-appid 第三方平台开发时被开发 AppID。如果有提供 project,该选项将忽略

接口文档

登录工具

接口定义:

Path:/v2/login

HTTP 方法:GET

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

示例:

# 登录,返回图片格式的二维码
http://127.0.0.1:端口号/v2/login
# 登录,取 base64 格式二维码
http://127.0.0.1:端口号/v2/login?qr-format=base64
# 登录,取 base64 格式二维码,并写入 /Users/username/logincode.txt
http://127.0.0.1:端口号/v2/login?qr-format=base64&qr-output=%2FUsers%2Fusername%2Flogincode.txt
# 登录,并写入登录结果到 /Users/username/loginresult.json
http://127.0.0.1:端口号/v2/login?result-output=%2FUsers%2Fusername%2Floginresult.json

是否已经登录工具

接口定义:

Path:/v2/islogin

HTTP 方法:GET

示例

http://127.0.0.1:端口号/v2/islogin

预览

接口定义:

URL:/v2/preview

HTTP 方法:GET

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

示例:

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

上传代码

接口定义:

URL:/v2/upload

HTTP 方法:GET

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

示例:

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

自动预览

接口定义:

URL:/autopreview

HTTP 方法:GET

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

示例:

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

构建 npm

接口定义:

URL:/buildnpm

HTTP 方法:GET

URL 参数 必填 说明
project 项目路径
compile-type 编译类型,miniprogram (默认) 或 plugin

示例:

# 构建路径为 /Users/username/demo 的项目
http://127.0.0.1:端口号/v2/buildnpm?project=%2FUsers%2Fusername%2Fdemo&compile-type=miniprogram

启动工具

接口定义:

URL: /open

HTTP 方法: GET

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

示例:

# 打开工具
http://127.0.0.1:端口号/v2/open
# 打开/刷新项目
http://127.0.0.1:端口号/v2/open?project=项目全路径

注意:

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

关闭项目窗口

接口定义:

URL:/close

HTTP 方法:GET

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

示例

http://127.0.0.1:端口号/v2/close?project=%2FUsers%2Fusername%2Fdemo

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

关闭工具

接口定义:

URL:/quit

HTTP 方法:GET

示例

http://127.0.0.1:端口号/v2/quit

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

重建文件监听

重置工具内部文件缓存,重新监听项目文件。

URL: /resetfileutils

HTTP 方法:GET

示例

http://127.0.0.1:端口号/v2/resetfileutils?project=%2FUsers%2Fusername%2Fdemo

清除工具缓存

接口定义:

URL:/cleancache

HTTP 方法:GET

URL 参数 必填 说明
project 预览指定路径中的项目。如项目已打开,自动刷新项目。如项目未创建,自动创建并预览项目
clean 指定要清除的缓存类型,可选值有 storage(数据)、file(文件)、seeion(登陆)、auth(授权)、network(网络)、compile(编译)、all(所有)

示例

http://127.0.0.1:端口号/v2/cleancache?clean%3Dstorage%26project%3D%2FUsers%2Fxxx%2Fminiprogram-10

云开发操作

在云开发命令中,除非特殊说明,均可通过指定 project 选项或 appid (如果是第三方平台则还加上 ext-appid)两者二选一的方式进行指定项目。

查看云环境列表

GET /v2/cloud/env/list

示例:

# 通过 project 查看
http://127.0.0.1:端口号/v2/cloud/env/list?project=%2FUsers%2Fusername%2Fdemo
# 通过 appid 查看
http://127.0.0.1:端口号/v2/cloud/env/list?appid=wx1111111111111

查看云函数列表

GET /v2/cloud/functions/list
URL 参数 必填 说明
env 云环境 ID

示例:

# 通过 --project 查看环境 test-123 下的线上云函数
http://127.0.0.1:端口号/v2/cloud/?env=test-123&project=%2FUsers%2Fusername%2Fdemo
# 通过 --appid 查看环境 test-123 下的线上云函数
http://127.0.0.1:端口号/v2/cloud/?env=test-123&appid=wx1111111111111

查看云函数信息

GET /v2/cloud/functions/info
URL 参数 必填 说明
env 云环境 ID
names 云函数名称,多个云函数则以逗号分隔

示例:

# 通过 --project 查看环境 test-123 下的云函数 aaa, bbb 的信息
http://127.0.0.1:端口号/v2/cloud/functions/info?env=test-123&names=aaa,bbb&project=%2FUsers%2Fusername%2Fdemo
# 通过 --appid 查看环境 test-123 下的云函数 aaa, bbb 的信息
http://127.0.0.1:端口号/v2/cloud/functions/list?env=test-123&names=aaa,bbb&appid=wx1111111111111

上传云函数

GET /v2/cloud/functions/deploy
URL 参数 必填 说明
env 云环境 ID
names 云函数名称,多个云函数则以逗号分隔。将会在 project.config.json 中指定的 "cloudfunctionRoot" 目录下找同名文件夹。若使用,则必须提供 project 选项
paths 需要部署的云函数目录路径,多个则以空格分隔。将认为函数目录名即为函数名称。使用该选项则云函数目录组织结构不用遵循必须在 project.config.json "cloudfunctionRoot" 的方式
remote-npm-install 云端安装依赖,指定选项后 node_modules 将不会上传

示例:

# 上传云函数根目录下名为 func_a, func_b 的两个云函数至云环境 ENVID,开启云端安装依赖
http://127.0.0.1:端口号/v2/cloud/functions/deploy?env=ENVID&remote-npm-install&names=func_a,func_b&project=%2Faaa%2Fbbb%2Fccc
# 指定绝对路径目录上传,开启云端安装依赖
http://127.0.0.1:端口号/v2/cloud/functions/deploy?env=ENVID&remote-npm-install&paths=%2Fa%2Fb%2Ffunc_a,%2Fx%2Fy%2Ffunc_b&appid=APPID

增量上传云函数

GET /v2/cloud/functions/inc-deploy
URL 参数 必填 说明
env 云环境 ID
name 需要更新的云函数名,使用该选项则不应使用 path 选项。将会在 project.config.json 中指定的 "cloudfunctionRoot" 目录下找同名文件夹。若使用,则必须提供 project 选项
path 云函数目录,使用该选项则不应使用 name 选项。将认为函数目录名即为函数名称。使用该选项则云函数目录组织结构不用遵循必须在 project.config.json "cloudfunctionRoot" 的方式
file 需要增量更新的相对文件/目录路径,路径必须是相对云函数目录的路径

示例:

# 增量上传,指定云函数名
http://127.0.0.1:端口号/v2/cloud/functions/inc-deploy?env=ENVID&name=func_a&file=index.js&project=%2Faaa%2Fbbb%2Fccc
# 增量上传,指定云函数路径
http://127.0.0.1:端口号/v2/cloud/functions/inc-deploy?env=ENVID&path=%2Faaa%2Ffunc_a&file=index.js&appid=APPID

下载云函数

GET /v2/cloud/functions/download
URL 参数 必填 说明
env 云环境 ID
name 云函数名
path 下载后的存放位置

示例:

# 下载云函数 func_a 至 /xxx/yyy 目录
http://127.0.0.1:端口号/v2/cloud/functions/download?env=ENVID&name=func_a&path=%2Fxxx%2Fyyy&appid=APPID

标签:调用,http,0.1,project,v2,127.0,HTTP,端口号
From: https://www.cnblogs.com/AtlasLapetos/p/18641863

相关文章

  • 【Niquests】最简单和先进的Python HTTP 客户端,完美替换Requests
    什么是NiquestsNiquests是一个简单而优雅的HTTP客户端,简单说它是Requests的直接替代品。因为多年来Requests功能一直处于停滞不前的状态,由于不前进的状态并且没有发展,这阻止了数百万开发人员使用更高级的功能,所以就有了Niquests,Niquests是唯一能够自动提供HTTP/1.1......
  • springboot 项目配置https
    当你的前端网页添加了https后,那么由于…前端调用后端的接口,同样的也需要配置https。下面以宝塔为例,如何实现,请看下面讲解:1.准备好SSL证书application.yml源文件:spring:redis:host:60.204.232.18port:6379database:3cloud:nacos:......
  • 理解和解决Spring框架中的事务自调用问题
    Spring框架以其强大的事务管理功能著称,尤其是通过注解的方式,极大地方便了开发者。然而,事务管理在某些情况下可能会遇到问题,其中一个常见的问题是“事务自调用”。本文将详细介绍什么是事务自调用问题、为什么会出现这个问题,以及如何解决这个问题。一、事务自调用问题概述1.1什......
  • TCP 与 HTTP keepalive 关系
    1.概念介绍   TCPkeepalive     TCPkeepalive是一种TCP协议层面的机制。它的主要作用是在TCP连接处于空闲状态时,定期发送探测包来检测连接的对端是否还存活。例如,在一个长时间没有数据传输的TCP连接中,服务器端可能会按照配置好的时间间隔(如每隔7200秒)发送一个TCP......
  • 【c++】函数调用机制
    【c++】函数调用机制1.建立栈帧空间2.传递数据,为局部变量分配空间3.保护现场,主调函数运行状态和返回值地址入栈4.执行被调函数体5.释放局部变量的栈空间6.恢复现场,取主调函数运行状态和返回值地址7.继续执行主调函数后续语句详细介绍:ebpespeax等均是寄存器1.......
  • JS的调用方式与执行顺序
    常见的使用方式(可以在HTML页面中的任意位置添加<script>标签):1.直接在<scripttype="module"></script>标签内写JS代码。例如:index.html中的内容为:<body><scripttype="module">letx=2;console.log(x);</script>&......
  • 获取阿里巴巴商品详情的高效途径:API调用与代码示例
    在当今电商蓬勃发展的时代,阿里巴巴作为全球知名的B2B平台,汇聚了海量的商品信息。对于开发者和商家而言,能够精准、高效地获取这些商品详情数据,无疑将为业务拓展和决策提供强大助力。本文将为您详细解读如何通过阿里巴巴开放平台API获取商品详情,并附上实用的代码示例,助您轻松上手......
  • CS61B srping 2018 proj1Gold-Autograding https://sp18.datastructur.es/ 我放弃了
    介绍和GettingtheSkeletonFiles想办法找到下面四个文件这个proj要编写一个autoGrader,提供如下文件:StudentArrayDeque.java:AbuggyimplementationofArrayDeque.有错误的ArrayDequeArrayDequeSolution.java:AcorrectimplementationofArrayDeque.正确的ArrayDequ......
  • 如何解决 HTTP 500 内部服务器错误?
    HTTP500内部服务器错误通常是由于服务器端的代码问题或配置错误引起的。为了更好地诊断和解决问题,首先需要获取详细的错误信息。以下是解决HTTP500错误的步骤:1.启用详细错误信息服务器通常会屏蔽详细的错误信息,以防止泄露敏感数据。可以通过修改配置文件来显示详细的错误......
  • js 调用 IIS部署的 WebAPI 相关配置
    1.跨域问题处理需要在web.config添加节点<system.webServer><httpProtocol><customHeaders><addname="Access-Control-Allow-Origin"value="*"/><addname="Access-Control-Allow-Headers"......