Cocos creator 3.x起的微信子域,和旧版不一样了,当前做微信排行榜教程。

以前是使用creator新建一个子域项目进行操作,详情参考皮神的手把手案例:

微信小游戏接入好友排行榜(开放数据域)https://forum.cocos.org/t/topic/92773

新版本官方教程文档: https://docs.cocos.com/creator/manual/zh/editor/publish/build-open-data-context.html?h=%E6%8E%92%E8%A1%8C%E6%A6%9C

文档教程里面缺了主域部分:主要在Rank界面上挂脚本,代码如下:

import { _decorator, Component, Node } from 'cc'
import { WECHAT } from 'cc/env'
const { ccclass, property } = _decorator

@ccclass('rankControl')
export class rankControl extends Component {
  start() {
    if (WECHAT) {
    	//获取排行榜信息
      window['wx'].postMessage({
        value: 'rankData',
      })

      // 上报排行榜, openId暂时拿不到,公司里有封装的类
      this.setUserCloudData('openid', '这里是openId')
      //上报数据
      this.setUserCloudData('chapter', String(1))
    }
  }

  update(deltaTime: number) {}

  // 上传玩家数据
  public setUserCloudData(key: string, value) {
    if (WECHAT) {
      console.log('上传数据:', { key, value })
      window['wx'].setUserCloudStorage({
        KVDataList: [{ key, value }],
        success: (res) => {
          console.log('上传玩家数据成功', res, { key, value })
        },
        fail: (err) => {
          console.log('上传玩家数据失败', err, { key, value })
        },
      })
    }
  }
}
公司子域模板:可替换默认生成的模板

更多推荐