setUserCloudStorage 每个value只能存128字节与文档不符
发布于 5 年前 作者 mingpeng 749 次浏览 来自 问答

文档见

https://mp.weixin.qq.com/debug/wxagame/dev/document/open-api/data/wx.setUserCloudStorage.html?t=2018323

托管数据的限制

  1. 每个openid所标识的微信用户在每个游戏上托管的数据不能超过128个key-value对。

  2. 上报的key-value列表当中每一项的key+value长度都不能超过1K(1024)字节。

  3. 上报的key-value列表当中每一个key长度都不能超过128字节。

从上周开始, 每当试图存储超过128字节的value时即报错 “setUserCloudStorage:fail some key-value in list meet length exceed”

5 回复

已经找到问题修复了,后台在上线,今天应该能解决

在调用setUserCloudStorage的时候 我每一次都只设置一个key 例如

wx.setUserCloudStorage({
  KVDataList: [{ key: k, value: v }],
  success: (msg) => { console.log('saveObjectToCloud succeeds', msg) },
  fail: (msg) => { console.log('saveObjectToCloud fails', msg) },
})

复现了,我们修下

我又做了些试验 我感觉可能是你们服务端代码有问题

成功:
wx.setUserCloudStorage({
      KVDataList: [{ key: 'test', value: 'aaaa...' /*124个a*/ }],
      success: (msg) => {console.log('success', msg)},
      fail: (msg) => {console.log('fail', msg)},
    })
 
失败:
wx.setUserCloudStorage({
      KVDataList: [{ key: 'test', value: 'aaaa...' /*125个a*/ }],
      success: (msg) => {console.log('success', msg)},
      fail: (msg) => {console.log('fail', msg)},
    })

是否尝试过只设置一对 key-value,并且 value 超过 128 字节的情况呢

回到顶部