网上的介绍多是1.x版的,cocos creater 2.0 更方便了,官方文档也说的很清楚,重要的是还给了范例。
好友排行功能的数据用微信小程序提供的开发数据域,初于对数据的保护,对程序做了一些限制。所以要使用子域还实现。
你开发的游戏项目为主域, 新建一个小项目只实现好友排行榜功能,这个小项目称之为子域。
为了使子域的页面显示在主域的特定节点上,需要做以下工作:
1、主域项目构建时,在开放数据域代码目录填上子域的项目名,比如open-data。
2、子域构建时发布平台选择 WebChat Game opendata Context, 构成生成的文件夹拷贝到主域构建目录下,或者直接构建到主域目录:\build\wechatgame
3、在主域要显示排行榜的页面上 比如 Sprite节点,添加一个组件WXSubContextView(在其他组件中),使子域的页面显示在上面,如果需要与子域交互,为这个节点添加一个脚本。
主域可以通过wx.postMessage({type:‘show’});向子域发送消息。子域通过下面的函数接收
wx.onMessage( data => {
console.log(data);
if(data.type ==‘show’){
console.log(“主域要我展示!”);
_self.loadFriendData();}});
获取好友信息的接口:
wx.getFriendCloudStorage({
keyList: ['key123'],
success:function (res) {
console.log(res);
},fail(){
...}
keyList 为你要请求数据的键。数据是你自己存在上面的通过下面的接口:
wx.setUserCloudStorage({
KVDataList: [{key:'key123',value:‘123’ }],
success: res => {
console.log(res);
},
fail: res => {
console.log(res);
}
});
存储数据可以放在子域,也可以放在主域,视具体情况而定。
广告:扫码小游戏,帮我冲1000