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

转自  CocosCreator 微信小游戏云函数简单使用 - 简书

六边形站神关注IP属地: 湖南

2021.09.09 16:33:41字数 201阅读 554

后台编写云函数

首先在后台开通云开发

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

猜你喜欢

转载自blog.csdn.net/qq_30121869/article/details/128481131