各位尊敬的大佬们,为何我在主域里通过wx.getUserInteractiveStorage()获取的数据是 “3”,如下图:
而在开放域中通过,wx.getFriendCloundStorage()得到的却只有 一条 数据呢?数据如下图:
主域代码如下:
wx.getUserInteractiveStorage({
keyList: ['2'],
success: (res) => {
console.log('getUserInteractiveStorage,获取用户加密交互数据', res);
let {encryptedData, iv, cloudID} = res;
wx.cloud.callFunction({
name: 'getUserInteractiveStorage',
data: {
userInteractive: wx.cloud.CloudID(cloudID),
}
}).then(res => {
console.log('cloud getUserInteractiveStorage,用户交互数据', res);
});
}
});
开发域代码如下:
wx.getFriendCloudStorage({
keyList: ['2'],
success: ({data}) => {
console.log('getFriendCloudStorage,获取用户主动分享邀请记录', data);
data = data.filter( item => item.KVDataList && item.KVDataList.length);
let result = [];
let self = data.find(item => item.openid=== selfOpenId);
let selfData;
try {
selfData = self && self.KVDataList && self.KVDataList[0] && self.KVDataList[0].value && JSON.parse(self.KVDataList[0].value);
} catch(e) {
console.error(e);
selfData = null;
}
if ( selfData ) {
result = data.filter( item => selfData.inviteRecords.find(r => r.openid === item.openid ))
}
resolve(result);
},
fail:(err)=>{
console.log('getFriendCloudStorage方法获取数据失败了:',err)
}
});
跪求各位大神和官方领导解答疑惑。(PS:代码都是按照官方demo写的。)
wx.getFriendCloundStorage() API与好友的互动型托管数据无关,要区分出 托管数据 和 好友的互动型托管数据,两个是不同的东西