CocosCreator 微信小游戏云函数简单使用

后台编写云函数

首先在后台开通云开发

1.png

在编辑器里点击按钮,创建环境

配置云函数文件夹路径

2.png

在project.config.json中,增加cloudfunctionRoot
同时在assets同级新建文件夹,名字要匹配

创建云函数

在云开发后台创建后,同步下来的函数只有index.js,所以在编辑里新建

3.png

输入云函数名字,此时会更新一个新的文件夹
4.png

我们需要在index.js里添加代码

// 云函数入口文件
const cloud = require('wx-server-sdk')
//首先调用cloud.init()进行初始化
cloud.init()  
//获取数据库(数据库自行创建,类似mongodb)
const db = cloud.database()
//获取集合
const todos = db.collection('UserInfo')
//查询的最大条数
const MAX_LIMIT = 100
// 云函数入口函数
/*
event 指的是触发云函数的事件,当小程序端调用云函数时,event 就是
小程序端调用云函数时传入的参数,外加后端自动注入的小程序用户的 openid 和小程序的 appid。
context 对象包含了此处调用的调用信息和运行状态,可以用它来了解服务运行的情况。
*/
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  const {OPENID} = wxContext;
  const tasks = await todos.orderBy('score','desc').limit(MAX_LIMIT).get();
  let userData = await todos.where({openid:OPENID}).get();

  return {
    res : tasks,
    mydata : userData
  }
}

编写好代码后,右键文件夹进行上传


5.png

这样就完成了一个云函数的创建和部署

CocosCreator使用云函数

    //------------------------云开发-----------------------
    public cloudInit(){
        wx.cloud.init()
    }
    public callCloudFunction(funName,option,succ?,fail?){
        wx.cloud.callFunction({
            name : funName,
            data : option,
            success : succ,
            fail : fail
        })
    }

在使用之前切记先调用wx.cloud.init()
funName 为之前创建的云函数名称
option 则为云函数收到的event

        .callCloudFunction(
            'uploadNameHead',
            {
                score: StorageManager.getSingleBestScore(),
                nickname: info.nickName,
                headurl: info.avatarUrl
            },
            (res) => {
                Log('调用云函数uploadNameHead成功 ', res)
            }
        )
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容