主包设置:
1、项目-构建发布...(Ctrl+Shift+B)
![](https://img.haomeiwen.com/i8053350/ae8f5bce48067924.png)
发布平台选择“微信小游戏”
勾选MD5 Cache
输入appid
开放数据域代码目录:wx-open-data-project
2、子包设置
![](https://img.haomeiwen.com/i8053350/8516a08c98ecd038.png)
1、游戏名称与主包开放数据域代码目录一致:wx-open-data-project
2、发布平台选择:微信小游戏开放数据域
3、发布路径:工作目录下/runWork\build\wechatgame
母包向微信后台发送最高分:
onSendScoreToWX(){
wx.setUserCloudStorage({
KVDataList: [{ key: 'MaxScore', value: Math.random()*100+'' }],
success: res => {
console.log(res);
// 让子域更新当前用户的最高分,因为主域无法得到getUserCloadStorage;
let openDataContext = wx.getOpenDataContext();
openDataContext.postMessage({
type: 'updateMaxScore',
});
},
fail: res => {
console.log(res);
}
});
}
子包接受数据。
wx.onMessage( data => {
if (data.type == 'updateMaxScore') {
console.log(data.type);
this.initUserInfo();
this.initFriendInfo();
}
});
子包请求排行数据,需要自己排序。
initFriendInfo () {
wx.getFriendCloudStorage({
keyList: ["MaxScore"],
success: (res) => {
cc.log(res.data);
res.data.sort((a, b) => {
return parseInt(a.KVDataList[0].value) - parseInt(b.KVDataList[0].value);
})
this.content.removeAllChildren();
for (let i = 0; i < res.data.length; ++i) {
this.createUserBlock(res.data[i],i);
}
},
fail: (res) => {
console.error(res);
}
});
},
问题:
1、setUserCloudStorage 出错,invalid data ;
检查数据格式是否正确,两个必须都是string
网友评论