调用云托管服务

小程序端调用

小程序端使用 wx.cloud.callContainer 调用云托管服务,示例:

const result = await wx.cloud.callContainer({
  config: {
    env: '云环境 ID',
  },
  // 请求路径
  path: '/',
  // 请求 HTTP 方法
  method: `POST`,
  // 请求 Body
  data: {
    a: 1,
    b: 2,
  },
  header: {
    'X-WX-SERVICE': 'xxx', // 填入服务名称(微信云托管 - 服务管理 - 服务列表 - 服务名称)
  },
  // 指定请求响应为 json,如不是可改为 text
  dataType: 'json',
  // 指定回包返回文本,可选改为 arraybuffer
  responseType: 'text',
})

详细参数如下:

参数 object

属性 类型 默认值 必填 说明 最低版本
config.env string 云环境 ID
path string 开发者服务器接口地址
data string/object/ArrayBuffer 请求的参数
header Object 设置请求的 header,header 中不能设置 Referer。
content-type 默认为 application/json
timeout number 超时时间,单位为毫秒
method string GET HTTP 请求方法
dataType string json 返回的数据格式
responseType string text 响应的数据类型
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

如果希望 wx.cloud.container 返回 Promise,请勿传 success, fail 和 complete

object.method 的合法值

说明 最低版本
OPTIONS HTTP 请求 OPTIONS
GET HTTP 请求 GET
HEAD HTTP 请求 HEAD
POST HTTP 请求 POST
PUT HTTP 请求 PUT
DELETE HTTP 请求 DELETE
TRACE HTTP 请求 TRACE
CONNECT HTTP 请求 CONNECT

object.dataType 的合法值

说明 最低版本
json 返回的数据为 JSON,返回后会对返回的数据进行一次 JSON.parse
其他 不对返回的内容进行 JSON.parse

object.responseType 的合法值

说明 最低版本
text 响应的数据为文本
arraybuffer 响应的数据为 ArrayBuffer

公网直接调用

在服务详情中开启公网访问后,可以通过 HTTP 请求直接访问服务:

终端示例:

# 直接 GET 请求
curl -v https://test-962903-1255370898.ap-shanghai.run.tcloudbase.com

浏览器示例:

// 注:此处仅打印了回包 body
fetch('https://xxx.ap-shanghai.run.tcloudbase.com').then(r => r.json()).then(console.log)