getFriendCloudStorage:ok回调成功的keyList没数据?
发布于 6 年前 作者 dzhao 9170 次浏览 来自 问答

首先,主域中调用setUserCloudStorage已经调用成功,为啥开放域中调用的getFriendCloudStorage返回的数据中,KVDataList数组的长度为0?



如图:

8 回复

我没写错也获取不到了

我的也出现这种问题,传了keyList KVDataList 也是空的

传的KVDataList是这样的

请问你如何解决的!?

我知道了!

有个

参数keyList忘记传了。

补充一下,是这样

wx.getFriendCloudStorage({

keyList: [score],

success: function (res) {}

})

对 ,就是参数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会返回空。

我自己顶一下,有人来看看吗?

回到顶部