1.云呼叫基础知识
小程序开发技术文档的服务端接口列表中会列出所有服务端接口,若接口支持云调用,则会在接口名称旁添加云调用标签,在支持云调用的接口文档中,会将调用文档和云调用文档分开列出。
也就是说,开发服务端接口有两种方式(方法):一种是调用,一种是云调用。调用是所有开发语言都通用的,是比较传统的开发方式;而云调用则是云开发提供的比较便捷的开发方式。值得一提的是,我们还可以使用云函数来调用接口,比如在HTTP处理部分介绍的。
云调用是云端开发基于云函数提供的小程序使用开放接口的能力,支持调用云函数中服务器的开放接口。使用云调用调用云函数中服务器接口时无需交易所,只要从小程序触发的云函数发起云调用,都会自动经过微信鉴权,注册权限后,即可直接调用发送订阅消息、客服消息等开放接口。
这里需要注意的是,当我们在调试云端调用的云函数时,如果直接使用云测试会报错,这是因为云测试无法获取用户登录状态信息,所以建议在小程序端触发进行调试。
云端调用大大方便了我们使用小程序能力开放API。以订阅消息为例,在使用云端调用之前,我们需要按照如下步骤发送订阅消息:
如果使用云调用则无需兑换,只需按照下面的步骤操作即可,同样适用于其他云调用接口:
也就是说,通过调用就可以实现云开发的云调用能力,但是使用云调用要方便很多。这里要强调一下,使用云调用分两步,第一是在云函数配置文件中添加接口权限(方法见下文,后面章节会介绍),第二就是使用云函数进行处理。
2.云函数配置文件
使用云调用需要配置云调用权限,每个云函数需要声明自己要使用的接口,否则无法调用,声明方式是在云函数目录下的.json配置文件的.字段中添加要调用的接口名(对应接口名可以在云调用相关接口文档中找到)。.为字符串数组字段,值必须是要调用的服务端接口名。
每次使用微信开发者工具上传云函数时,都会根据配置更新权限,配置缓存10分钟左右,更新后若提示没有权限,请等待10分钟后重试。
如果你通过微信开发者工具中的“新建云函数”创建云函数,在云函数目录下会有一个.json配置文件,目录结构如下。如果你通过其他方式创建云函数,也建议准备好以下三个文件(如果没有可以自行复制创建):

test //云函数目录 ├── config.json //权限和定时触发器等的配置文件 ├── index.js //云函数 ├── package.json //云函数的依赖管理
.json文件还可以用于配置定时触发器,比如云函数需要使用订阅消息和内容安全权限,每5秒发送一次订阅消息,.json文件写法如下:
{ "permissions": { "openapi": [ "subscribeMessage.send", "security.imgSecCheck" ] }, "triggers": [ { "name": "tomylove", "type": "timer", "config": "*/5 * * * * * *" } ] }
.json配置文件的格式和前面介绍的json文件配置的格式是一样的,比如数组末尾不能有逗号,配置文件中不能有注释等,千万不要搞错。
三、扩展能力快速入门 1、扩展能力讲解
扩展能力可以让云开发更方便地调用腾讯云的服务,比如图片处理、短信验证、数据库等。这些除了使用部分云开发资源(有免费额度)外,还会使用部分腾讯云服务,因此会产生一定费用(即与云开发分开计费)。云开发资源的费用可以在云开发控制台中查看;而使用腾讯云服务产生的额外费用可以在腾讯云费用中心中查看。
扩展能力还可以更方便地使用腾讯云的账号体系实现跨云开发资源、跨终端调用,以及云开发团队为方便开发者和运维人员开发的CMS内容管理系统。和云调用一样,扩展能力也会继续增加更多好用的功能。尤其图片处理能力和CMS内容管理,强烈建议作为云开发的核心扩展进行安装。
2. 安装扩展功能
安装扩展能力需要我们登录腾讯云开发的Web控制台,登录时要选择其他登录方式-微信公众号,然后扫码授权,选择关联的小程序账号登录。选择云开发环境后,可以点击左侧扩展能力的管理菜单,将扩展能力安装到指定的云开发环境中。
扩展能力的安装其实就是根据不同扩展能力对应的服务进行如下步骤,这样开发者就不需要关注腾讯云一些过于复杂的概念或者编写云函数等:
扩展能力可以根据需要进行安装和卸载,即使安装了也只会占用云函数和集合的额度,不使用不会产生任何费用。卸载时也可以删除这些角色和权限策略(强烈建议不要删除角色和权限策略)以及对应的云函数和数据库。卸载后重新安装即可。
注意,扩展能力的角色和权限策略是适用于所有云开发环境的,即您在一个云开发环境安装扩展能力时创建了角色并指定了权限策略,则在其他云开发环境中无需再次配置。但云函数和云数据库中的集合仍需要您通过安装或自行创建。