跳到主要内容

使用方法

服务创建及管理

通过 AnyService 页面,可以进行服务创建及管理。

创建服务

创建服务时,填写如下相关信息:

  • 服务名称:服务名称,用于便于记录。
  • 服务标识:支持英文、数字、下划线输入。服务标识在环境内唯一,在调用服务时将会使用标识作为指引。
  • 备注:用于记录相关描述说明。
  • 源站协议:指定通过 HTTP 或 HTTPS 协议访问已有服务。如果在连接信息上没有填写端口,则会根据协议采用默认端口连接,HTTP 为 80,HTTPS 为 443。
  • 源站连接信息:配置已有服务的 IP 地址或域名,如果有指定端口,需要在 IP 或域名上带有端口。例如 139.186.239.126 、 tcb.tencentcloudapi.com:8080。
  • 源站访问凭证:可选配置。可参考 Authorization Basic 规范填写。 如果填写了此配置,每次请求源站时,都会将该值添加到 Headers 中的 x-anyservice-authorization 上;源站可以根据此值进行认证,或识别此请求来源为 AnyService 服务。另外需要注意:源站协议选择了为 HTTP 的情况下,请求在返回源站是为明文传递,此时访问凭证也为明文传递。

管理服务

已创建的服务将在服务列表中呈现。您可以查看服务的相关信息,并进行操作。

  • 编辑服务:编辑服务可以修改除标识外的各项信息。
  • 删除服务:确认后可以删除已有服务。

对服务的修改和删除都可能影响已经在使用服务的代码,请自行注意操作可能产生的影响。

调用服务

小程序中调用

通过如下方式可以在小程序中调用服务

云开发环境初始化 在小程序加载阶段,或使用服务阶段调用一次初始化。全局执行一次即可。

wx.cloud.init(
{
env:"xxxx" //
}
)

例如在小程序的全局初始化中初始化云开发环境。

App({
async onLaunch() {
// 使用callContainer前一定要init一下,全局执行一次即可
wx.cloud.init()
}
})

调用服务

使用如下方式可以调用服务,其中需要注意的参数包括env和 header中的X-AnyService-Name

  • X-WX-SERVICE: 固定为 tcbanyservice
  • X-AnyService-Name: 填写创建服务时设置的服务标识。
  • path:填写请求路径,从 / 根目录开始,填写为实际后端的处理地址。

除需要注意的参数外,其他方法和参数均可以参考wx.request方法,包括 method、data、dataType等等。

// 确认已经在 onLaunch 中调用过 wx.cloud.init 初始化环境(任意环境均可,可以填空)
const res = await wx.cloud.callContainer({
path: '/xxx', // 填入业务自定义路径和参数,根目录,就是 /
method: 'POST', // 按照自己的业务开发,选择对应的方法
header: {
"X-WX-SERVICE": "tcbanyservice", //固定写法
"X-AnyService-Name": "填入服务标识", // X-AnyService-Name 中填入服务标识
// 其他header参数照常填写
}
// dataType:'text', // 默认不填是以JSON形式解析返回结果,若不想让SDK自己解析,可以填text
// 其余参数同 wx.request
});

console.log(res);

额外数据

通过 SDK 在小程序中调用服务时,会通过 HTTP Header 携带更多信息,可以通过解析 header 获得相关数据并在后续使用。

请求 header

header具体数据
X-WX-OPENID小程序用户 openid
X-WX-APPID小程序 AppID
X-WX-UNIONID小程序用户 unionid,并且满足 unionid 获取条件时有
X-WX-FROM-OPENID资源复用情况下,小程序用户 openid
X-WX-FROM-APPID资源复用情况下,使用方小程序 AppID
X-WX-FROM-UNIONID资源复用情况下,小程序用户 unionid,并且满足 unionid 获取条件时有
X-WX-ENV所在云环境 ID
X-WX-SOURCE调用来源(本次运行是被什么触发)
X-WX-PLATFORM调用平台
X-Forwarded-For客户端 IPv4 或IPv6 地址
X-AnyService-NameAnyService 服务标识

响应 header

header具体数据
X-Cloudbase-Request-Id云开发请求 request id
X-Cloudbase-Upstream-Status-Code远端服务的响应状态码
X-Cloudbase-Upstream-Timecost远端服务的请求响应耗时
X-Cloudbase-Upstream-Type远端服务的响应类型