0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 小程序

安装微信开发者工具,快速上手一个服务代码

发表时间:2023-10-17 08:44:37

文章来源:炫佑科技

浏览次数:165

菏泽炫佑科技 菏泽炫佑小程序开发 菏泽炫佑app制作 炫佑科技

安装微信开发者工具,快速上手一个服务代码

微信提供了本地调试云托管容器的能力。 您可以使用微信官方提供的插件以及微信开发工具进行本地调试。 支持本地镜像构建、微信信息与能力集成、VPC在线调试、小程序请求模拟。

从v1.0.12开始,插件启动的容器支持在微信开发工具中访问和本地调试。 小程序模拟器中的请求将在本地进行。 该功能需要将开发工具更新到*新版本并保证插件版本。 更新到*新版本。

公众号调试使用限制:仅支持手动模拟请求/浏览器请求。 暂时不支持; 暂时不支持调试; 暂时不支持资源复用小程序; 。 如果您需要调试微信支付等依赖真实数据的功能,请手动更改为开发自己的真实数据。 不要直接使用本地调试直接得到的数据。准备在本机上安装。 在本地准备代码(如果没有,请参阅快速入门来创建代码)。 安装代码。 如需安装微信开发工具,请下载微信开发工具以快速开始使用。 1.准备目录

如果同时只编辑调试一项服务,可以直接以服务代码目录为根目录打开(暂不支持),确保根目录下有文件,服务名称为显示在插件面板中。

如果同时编辑调试多个服务,则需要将这些服务放在同一个父文件夹下,然后打开这个文件夹或者更高一级的文件夹,然后在根目录下创建一个..json企业微信小程序开发,该文件需要包含字段。 字段指定一个子目录作为包含每个云托管服务用于管理调试的代码的文件夹。 假设要调试两个服务,分别是named和hotel,并且存放这两个服务的代码文件夹的父目录是named,那么目录应该组织如下:

|-- cloudcontainers
|   |-- travel
|   |-- hotel
|-- project.config.json

..json如下:

{
  "cloudcontainerRoot": "cloudcontainers"
}

2.安装插件

在扩展栏中搜索 - 然后安装:

安装后,您将在侧边栏中看到一个面板。 例如,您可以在此面板中看到酒店和两项服务:

在调试过程中,因为我们需要获取微信信息,所以我们会使用云托管的CLI Key。 因此,我们需要在插件配置中填写小程序appid和cli key,然后点击插件面板中的⚙图标打开配置:

打开配置后,填写相应字段。 cli 密钥是云托管 CLI 密钥。 登录微信云托管控制台即可获取如图:

3.构建镜像并启动容器

右键单击服务名称并选择启动。 将构建映像并启动容器。

内置终端会显示镜像构建和容器启动的日志。 如果过程中出现故障,可以查看日志进行排查。

容器构建并启动成功后,插件面板中的状态图标也会相应更新:

启动容器需要相应的容器配置信息(.//debug..json)。 如果没有,系统将提示您创建它。 配置文件字段及含义如下:

应特别注意端口号、路径和自定义环境变量。

{
  "containers": [
    {
      "name": "your-container-name",
      "domain": "",
      "ip": ""
    }
  ],
  "config": {
    "your-container-name": {
      "dockerfilePath": "Dockerfile",
      "buildDir": "",
      "containerPort": 80,
      "envParams": {
        // 本地调试模板项目时,须填入以下环境变量用于连接数据库
        "MYSQL_ADDRESS": "",
        "MYSQL_USERNAME": "",
        "MYSQL_PASSWORD": ""
      },
      "cpu": 0.5,
      "mem": 1,
      "policyType": "cpu",
      "policyThreshold": 60,
      "customLogs": "stdout",
      "initialDelaySeconds": 2,
      "minNum": 0,
      "maxNum": 50,
      "remark": ""
    }
  }
}

4.调试:请求容器、查看日志、连接终端

此时,您可以请求容器。 插件面板旁边将显示两个端口号。 通过**个端口访问容器会有微信相关信息(包括appid等),通过第二个端口访问容器不会有微信。 直接在容器内部请求相关信息。 右键单击该服务并选择打开方式(通过 WX)和打开方式(无 WX 身份验证)。 可以在浏览器中打开,分别对应这两种情况。 您还可以通过 .

假设插件中显示的服务访问端口号为27081和27082,则测试访问链接为:

# 不带微信信息的端口,直接访问即可,适合在浏览器调试
http://127.0.0.1:27081
# 微信端口,请求时会模拟微信用户信息的 Header,如 x-wx-openid,适合微信开发者工具中使用
http://127.0.0.1:27082

在微信开发工具中,您可以选择连接已启动的容器,以访问小程序模拟器中本地云托管的容器。

该功能需要使用微信开发工具v1.05。 及以上版本,并将插件更新至v1.0.12或以上版本。

在微信开发工具面板中,找到“ ”,右键容器名称,选择并使用wx.cloud。 在小程序代码中访问容器。

调用时请注意其中的X-WX-需要与容器名称一致。

查看日志

调试过程中,可以右键单击服务名称,选择“查看日志”来查看日志。

连接端子

如果需要进入容器内部终端进行调试定位问题,可以右键服务名称,选择Shell进入容器内部终端。

5. 服务之间互相调用

服务容器可以通过为每个服务配置域名/IP来相互调用。 配置文件位于工作空间根目录下的.//debug.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调试

如果容器内访问内网地址,可以在插件面板中的Proxy Nodes for VPC下添加内网域名/IP(或者在插件配置中手动输入):

同时需要在插件配置中指定需要访问哪个环境的VPC(如果不指定,打开VPC节点时会提示选择):

添加节点后,可以右键start启动:

启动完成后,访问服务容器中的地址会自动代理访问线上VPC对应的地址。 您可以通过该方法访问VPC内的数据库等任意资源。

本地调试如何使用“开放接口服务”

使用插件,可以在支持该环境的系统上本地调试云调用。

(1) 快速入门 如果尚未安装,请下载安装。 在扩展栏中搜索它 - 并安装它。 配置完成后,右键单击左侧面板中的“VPC 代理节点”安装微信开发者工具,快速上手一个服务代码,然后单击“启动”。 右键单击用户容器,单击“启动”即可访问容器内的本地云调用。

将插件更新到*新版本,启动自己的业务服务。 业务服务运行过程中,启动vpc中的服务,或者先启动服务,再启动业务服务。 顺序没有限制。

该插件会在您的云托管环境中开启代理服务,与本地服务、业务服务共享同一网络,从而实现本地的“开放接口服务”。 请注意,本地调试只是模拟业务服务所在的环境,并非实际的线上部署情况。

(二)常见问题 1、如何判断请求是否是通过本地云端调用的? 2.是否支持HTTPS云调用?

由于技术原因,本地调试目前不支持HTTPS云调用,需要暂时使用HTTP协议进行本地调试。

3、为什么不支持外网直接访问开放接口服务?

为了保证小程序凭证和小程序敏感接口的安全,开放接口服务不允许外部网络直接访问。 通过本地云调用,将推出与线上版本能力一致的调试镜像,并可通过本地调试安全访问内网VPC接口。

4、为什么本地启用了数据库代理,却无法通过容器内的内网地址访问数据库? 错误消息为:ERROR 2013 (HY000): Lost to MySQL at ': ', error: 11

由于开启全局代理导致,请检查开发工具中是否开启了全局代理。

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多