本文来自Cocos官方论坛,感谢「达闻西」的分享!

1. 引言

本来是自己写的笔记,想想还是发出来把,能让不少新手少走弯路,毕竟自己也是摸索了好久!以图片的形式,让大家更直观点!

微信小游戏API官方手册 https://developers.weixin.qq.com/minigame/dev/index.html?t=18122815

“写和读”:有“写”才有“读”!

“微信数据开放域”简称为:“开放域”,也可以叫“子域” “主项目”简称为:“主域”

都知道微信开放数据域,是微信为了保护用户的数据,而专门设置的一个独立的小项目!只能在开放域中,由微信它自己去调用开放域的API!

正因为如此,我们只能在开放域中获取微信好友等数据,然后在开放域中制作好我们想要的“展示界面”,诸如排行榜之类!

最终,开放域返回给我们主项目的,就是开放域主场景Canvas显示的“一幅图片”而已!

而这幅图片,会自动显示在我们主项目当中的,有组件WXSubContextView的Sprite节点里面!

2. 前提准备

主项目中,需要显示开放域数据的Sprite节点上,给其添加组件WXSubContextView,然后该Sprite节点会自动接收开放数据域返回的“图片”! PS:该Sprite节点的尺寸,需要和开放域中的Canvas一样,才不会被拉伸!!

注意:微信调用的这些开放域API,都是延迟执行的,数据并不是实时的!

所以,这些API都有自己的回调方法(success,fail,complete 等等),需等待其执行完后,再执行对应的回调,方能正常读写数据!详情,请查看微信小游戏API官方手册,开放数据那一部分!

3. 步骤解析

1、wx.postMessage

在主域的代码脚本中,必须先给开放域发送一些消息,即一些指令!这样开放域才能做出相应的回应,去执行我们想要执行的操作! wx.postMessage(),看下图:

2、wx.onMessage

在开放域中,接收主域发送过来的消息指令(这里的代码可以写在start里面,也可以在onLoad里面) 接收到的消息指令,就是case 3,执行数据更新方法! wx.onMessage()

3、wx.setUserCloudStorage()

添加或更新用户微信托管数据,里面可指定需修改的数据项! wx.setUserCloudStorage()KVDataList:只想添加或修改分数,就填分数该项的键值对! (当然,也可以同时改动多项键值对,只需在KVDataList里继续添加键值对即可,最好根据情况,给方法传进来多个参数,对应键值对)

4、wx.getFriendCloudStorage()

获取微信好友们的数据(制作排行榜等等) wx.getFriendCloudStorage()

4. 后记

由于只是记录一个流程,介绍简单的步骤,方便大家理解,所以很多代码地方都简化了,实际当中,肯定会有更多的细节和需求!


欢迎关注「奎特尔星球」公众号,欢迎大家投稿,来我们一起成长!

「奎特尔星球」微信公众号

「奎特尔星球」博客网站,建设中...

微信小游戏|开放数据域的写与读相关推荐

  1. LayaAir 绘制微信小游戏开放数据域画面

    LayaAir 绘制微信小游戏开放数据域画面 请大家关注我的微博:@NormanLin_BadPixel坏像素 之前写过用cocosCreator绘制微信小游戏子域的教程,保持整体思路不变,现在再写一 ...

  2. 微信小游戏开放域之helloworld

    标签: 微信小游戏,开放域 微信小游戏-开放数据域的配置 概念 开放数据域 是一个封闭.独立的 JavaScript 作用域.开放数据域主要作用就是获取用户的关系链数据,并且展示关系链数据 具体使用方 ...

  3. 微信小游戏:主域子域

    主域 通常我们所有的功能在主域中就可以完成,主域中有游戏开发所需的所有接口.但是当我们想要做需要访问用户好友数据信息的时候,就需要用到开放数据域中的接口,开放数据域中的接口只能在子域中访问,这也就是我 ...

  4. Unity 之 转微信小游戏本地数据存储方法分享

    Unity 之 转微信小游戏本地数据存储 问题背景 微信小游戏读写本地文件 WebGL平台的一些限制 报错查看方法分享 问题背景 近期在将Unity转换为小游戏的时候发现在读写本地文件的时候,使用Ap ...

  5. CocosCreator微信小游戏开放域使用(排行榜)

    CocosCreator官方文档 微信小程序开放域官方文档 实现步骤: 单独创建一个开放域项目,并设置接收消息方法 const { ccclass, property } = cc._decorato ...

  6. creator 微信小游戏存取数据

    本人小白,这是自我总结,不管对错,欢迎大神评论纠错 creator 2.0.9版本,在做微信小游戏是,用cc.sys.localStorage.getItem读数据会有问题, 我本来想的读取金币数,因 ...

  7. 微信小游戏开放测试~

    " 小程序游戏类目开放测试,开发者可开发.调试小游戏.同时,对小游戏开放微信社交关系链.虚拟支付能力." 01 - 小游戏开放测试 开发者注册小程序帐号后可选择"游戏&q ...

  8. 微信小游戏服务器数据持久化,微信小程序wx.setStorage数据缓存实现缓存过期时间...

    为了项目性能等方面的考虑,有时候有必要为用户经常访问的页面使用缓存机制:在技术上,服务端和前端都有相应的缓存机制.比如传统的session及cookie等等,在微信小程序中,并没有cookie机制,但 ...

  9. CocosCreator微信小游戏排行榜及开放数据域的理解与使用

    微信小游戏开放数据域及排行榜的使用 好久没有写博客了,距离上一次博客,已经有了近半年之久,这段时间发生了太多的事,当然,这些不是今天的主题,接下来我们主要讲一讲微信小游戏开放数据域的使用,以及如果制作 ...

最新文章

  1. WPF Effect 造成的字体模糊
  2. unicode 编码转换漏洞_好程序员Python教程之字符串编码知识小结
  3. Mysql 百万级数据优化资料
  4. processing python模式_python学习Processing
  5. [原创].怎样制作一个简单ip,以方便在Quartus II和Nios II中使用?
  6. 互联网晚报 | 04月07日 星期四 |​ ​​​​刘强东卸任京东集团CEO,徐雷接任;世卫组织:中医药对治疗新冠有效...
  7. java 线程管理_Java平台线程管理
  8. android 日历日期,android 日历 开始日期 与结束日期
  9. python datetime datetime
  10. asp.net身份认证
  11. 如何开始rails项目
  12. 取datatable某一列的值_R-缺失值识别与处理
  13. 关于安卓手机无法将外置声卡的效果录入到手机自拍视频上的问题。
  14. 2015年 教师全员远程培训挂机 教师远程全员培训挂机 教师继续教育挂机 挂机软件 全国通用版...
  15. 美国2021年因极端天气损失上千亿美元
  16. vdi虚拟服务器,VMware VDI部署攻略之三:VDI安装及配置
  17. python中检测键盘(上下左右) 代码
  18. python中列表概念,Python 列表的简单介绍
  19. 首发 华为Mate7青春版拆机换电池
  20. 音频wav文件格式分析

热门文章

  1. Android Rom修改制作工具软件集合
  2. GSMA RCS架构
  3. 2020年云南省土地利用数据生产流程
  4. java计算机毕业设计计算机专业在线学习评估软件-演示录像-源码+数据库+lw文档+系统
  5. 无人驾驶大巴试车_中国无人驾驶汽车高速公路试车成功
  6. 从市值14亿美元到1000美元,人人车经历了什么?
  7. windows10在桌面上显示“我的电脑”
  8. linux readme
  9. Mysql学习(4)——MySQL设计规范总结
  10. [BD 41-758] The following clock pins are not connected to a valid clock source