时间:2019-05-03 来源:小程序工厂
我的也出现这种问题,传了keyList KVDataList 也是空的
传的KVDataList是这样的
请问你如何解决的!?
找到原因了,原来keyList 的参数传错!应该要跟KVDataList 上传的key相对应!
补充一下,是这样
wx.getFriendCloudStorage({
keyList: ["score"],
success: function (res) {}
})
对 ,就是参数keyList没有传。
我知道了!有个参数keyList忘记传了。
终于等到回复了。是我描述的不是很清楚;我的理解是这样的,以下是官方文档的描述:
用户的 游戏数据 指的是用户的段位、战绩等游戏业务特有的数据,通过调用 wx.setUserCloudStorage() 可以将当前用户的游戏数据托管在微信后台。只有被托管过数据的用户,才会被视为 玩过 该小游戏的用户,才会出现在 wx.getFriendCloudStorage() 和 wx.getGroupCloudStorage() 返回的对象数组中。
那么,KVDataList 应该就是我理解的返回数据的对象数组,对吧?
我在主域中调用了以下方法:
let saveScore = await platform.setUserCloudStorage([{key:"score",value:""+currScore},{key:"maxScore",value:""+maxScore}]);
console.log("saveScore:",saveScore);//这里控制台输出打印ok
platform.js中的setUserCloudStorage如下:
function setUserCloudStorage(data){
return new Promise((resolve, reject) => {
wx.setUserCloudStorage({
KVDataList:data,
success: res => {
resolve(res);
}
});
});
}
查看以上截图,也成功输出了setUserCloudStorage:ok ,问题就来了,我提交的数据,为啥在getFriendCloudStorage()接口返回的数据KVDataList数组里,没有带上我前面提交的score和maxScore数据?
btw:您所提到的keyList指定的key列表,我不是很懂,怎么指定呢?
接口 wx.getFriendCloudStorage拉取的是keyList指定的key列表。如果你的keyList没指定(默认为空)或者填写的key没有被上报,则kvDataList会返回空。
我自己顶一下,有人来看看吗?