本地调试
微信提供了本地调试云托管容器的能力。您可以使用微信官方提供的插件以及微信开发者工具进行本地调试。支持本地镜像构建、微信信息与能力集成、VPC在线调试、小程序请求模拟。
从v1.0.12开始,插件启动的容器支持在微信开发者工具中访问和本地调试。小程序模拟器中的请求将在本地进行。该功能需要将开发者工具更新到最新版本并保证插件版本。更新到最新版本。
公众号调试使用限制:仅支持手动模拟请求/浏览器请求。暂时不支持;暂时不支持调试;暂时不支持资源复用调试; 。如果您需要调试微信支付等依赖真实数据的功能,请手动更改为开发者自己的真实数据。不要直接使用本地调试直接得到的数据。准备在本机上安装。在本地准备代码(如果没有,请参阅快速入门来创建代码)。安装代码。如需安装微信开发者工具,请下载微信开发者工具以快速开始使用。 1.准备目录
如果同时只编辑调试一项服务,可以直接以服务代码目录为根目录打开(暂不支持),确保根目录下有文件,服务名称为显示在插件面板中。
如果同时编辑调试多个服务,则需要将这些服务放在同一个父文件夹下,然后打开这个文件夹或者更高一级的文件夹,然后在根目录下创建一个..json,该文件需要包含字段。字段指定一个子目录作为包含每个云托管服务用于管理调试的代码的文件夹。假设要调试两个服务,分别命名,并以这两个服务的代码文件夹所在的父目录命名。工作区目录应组织如下:
|-- cloudcontainers | |-- travel | |-- hotel |-- project.config.json
..json如下:
{ "cloudcontainerRoot": "cloudcontainers" }
2.安装插件
在扩展栏中搜索 - 然后安装:
安装后,您将在侧边栏中看到一个面板。在此面板中,您可以看到两个服务:
在调试过程中,因为我们需要获取微信信息,所以我们会使用云托管的CLI Key。因此,我们需要在插件配置中填写和cli key,并点击插件面板中的⚙图标打开配置:
打开配置后,填写相应字段。 cli 密钥是云托管 CLI 密钥。登录微信云托管控制台即可获取如图:
3.构建镜像并启动容器
右键单击服务名称并选择,将构建镜像并启动容器。
内置终端会显示镜像构建和容器启动的日志。如果过程中出现故障,可以查看日志进行排查。
容器构建并启动成功后,插件面板中的状态图标也会相应更新:
启动容器需要相应的容器配置信息(.//..json)。如果没有,系统将提示您创建它。配置文件字段及含义如下:
应特别注意端口号、路径和自定义环境变量。
{ "containers": [ { "name": "your-container-name", "domain": "", "ip": "" } ],

4.调试:请求容器、查看日志、连接终端
此时,您可以请求容器。插件面板旁边将显示两个端口号。通过第一个端口访问容器会有微信相关信息(包含在etc中),而通过第二个端口访问容器不会有微信相关信息。直接向容器内部请求信息。右键该服务,选择Open in (via WX) 和 Open in (no WX auth) 在浏览器中打开,分别对应这两种情况。您还可以通过其他工具编写代码或请求。
假设插件中显示的服务访问端口号分别为 和 ,则测试访问链路为:
# 不带微信信息的端口,直接访问即可,适合在浏览器调试 http://127.0.0.1:27081 # 微信端口,请求时会模拟微信用户信息的 Header,如 x-wx-openid,适合微信开发者工具中使用 http://127.0.0.1:27082
在微信开发者工具中,您可以选择连接已启动的容器,以在小程序模拟器中访问本地云托管容器。
该功能需要使用微信开发者工具v1.05。及以上版本,并将插件更新至v1.0.12或以上版本。
在微信开发者工具面板中,找到“ ”,右键单击容器名称,选择,在小程序代码中使用wx..访问容器。
调用时请注意其中的X-WX-需要与容器名称一致。
查看日志
调试过程中,您可以右键单击服务名称,选择“查看日志”来查看日志。
连接端子

如果需要进入容器内部终端进行调试定位问题,可以右键服务名称,选择进入容器内部终端。
5. 服务之间互相调用
服务容器可以通过为每个服务配置域名/IP来相互调用。配置文件位于工作空间根目录下的.//.json文件中。示例如下:
{ "containers": [ { // 服务名 "name": "travel", // 内网域名 "domain": "test-962903-1255370898.ap-shanghai.internal-run.tcloudbase.com", // ip "ip": "10.0.0.1", // 这个值由插件管理,代表服务对应的实例ID,无需主动修改 "containerId": "b97f1fa2d6ebb14075b2f3af420f5b14a413fc3d0f2700c8de0cb0f1eb4713ae" } ], "config": {} // 容器配置信息 }
修改文件后,需要重启对应的容器,然后当需要访问对应的服务时,就可以通过域名/IP来访问了。
6.本地开启在线VPC调试
如果容器内访问内网地址,可以在插件面板中为VPC添加内网域名/IP(或者在插件配置中手动输入):
同时需要在插件配置中指定需要访问哪个环境的VPC(如果不指定,打开VPC节点时会提示选择):
添加节点后,可以右键启动:
启动完成后,访问服务容器中的地址会自动代理访问线上VPC对应的地址。您可以通过该方式访问VPC内的数据库等任意资源。
本地调试如何使用“开放接口服务”
使用插件,可以在支持该环境的系统上本地调试云调用。
(1) 快速入门 如果尚未安装,请下载安装。在扩展栏中搜索它 - 并安装它。配置完成后,在左侧面板中,右键单击VPC,然后单击“启动”()。右键单击用户容器,单击()即可访问容器中的本地云调用。
将插件更新到最新版本,启动自己的业务服务。业务服务运行过程中,启动vpc中的服务,或者先启动服务再启动业务服务。顺序没有限制。
该插件会在您的云托管环境中开启代理服务,与本地服务、业务服务共享同一网络,从而实现本地的“开放接口服务”。请注意,本地调试只是模拟业务服务所在的环境,并非实际的线上部署情况。
(二)常见问题 1、如何判断请求是否是通过本地云端调用的? 2.支持云通话吗?
由于技术原因,本地调试目前不支持云端调用,需要暂时使用HTTP协议进行本地调试。
3、为什么不支持外网直接访问开放接口服务?
为了保证小程序凭证和小程序敏感接口的安全,开放接口服务不允许外部网络直接访问。通过本地云调用,将推出与线上版本相同能力的调试镜像,并可通过本地调试安全访问内网VPC接口。
4、为什么本地启用了数据库代理,却无法通过容器内的内网地址访问数据库?错误消息为:2013 (): 丢失于 ':', : 11
由于开启全局代理导致,请检查开发者工具中是否开启了全局代理。