添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
谦虚好学的紫菜  ·  sqlalchemy all vs ...·  1 年前    · 
奋斗的炒饭  ·  Docker-compose / ...·  2 年前    · 
安静的熊猫  ·  python3 -m venv: ...·  2 年前    · 
微信小游戏开发上手:中篇

微信小游戏开发上手:中篇

5 年前

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) {