微信小游戏开发上手:中篇
panda - Cocos Creator 主程
王哲 - Cocos 创始人
在 前一篇文章 中,我们给大家介绍了上手微信小游戏开发所需要的知识,以及小游戏的开发环境和工具。今天我们会更详细分析小游戏环境给大家开放的各种 SDK 接口,以及这些接口可以承载什么样的游戏体验。当然,微信 小游戏官方文档 中,对这些接口都有很详细的使用介绍,我们不会重复这些具体的 API 调用细节,会更多侧重在这些接口所提供的功能和潜力上。最后,我们还会给出一个 Cocos Creator 制作小游戏的案例。
1st. 小游戏提供的接口能力
微信 SDK 接口通用规则
微信的 SDK 接口大多有非常接近的使用方式和命名规则,下面是我们总结出来的一些经验:
- onXXX & offXXX:这类 API 一般都是的事件注册和反注册
- xxxSync:在某个函数名后添加 Sync 就是该函数的同步方法,同时也说明原始函数一定是异步调用
- 异步函数:由于微信很多 API 都需要做后台请求,或从微信运行内核中获取信息,所以存在大量的异步接口,有时会提供它们的同步版本,但在大多数情况下我们仍然建议使用异步接口,以便更方便得捕获异常,组织异常处理代码。
- 异步函数的调用方式:微信 API 内的异步函数绝大多数都接受一个对象作为参数,该对象內应该包含:
- success:成功回调
- fail:失败回调
- complete:完成回调(调用成功、失败都会执行)
wx.getSystemInfo({
success: function (res) {
// res 一般是一个包含调用结果的对象
console.log('This phone is ' + res.brand + ' ' + res.model);
fail: function (res) {
// 通过 res.errMsg 可以获取错误信息
console.warn(res.errMsg);
complete: function () {
console.log('API call completed');
- getXXX & setXXX:获取和设置接口,比较反常理的是,很多这样的接口也是异步的,需要仔细阅读 API 文档
接下来我们来看具体的接口,先看大家最关注的三大接口:用户、转发和支付接口。
用户接口
用户接口方面,开发者最应该关注的就是用户的登录了,登录接口的使用示例如下
wx.login({
success: function (res) {
// res.code 为用户的登录凭证
if (res.code) {
// 游戏服务器处理用户登录
else {
// 失败处理
console.log('获取用户登录态失败!' + res.errMsg);
fail: function (res) {