法一:Cocos官方WXSubContextView组件
法二:纯微信API实现
开源项目:https://github.com/weishuluo/creator_wechat_rank_demo
教程:https://forum.cocos.com/t/demo-api/64299
注意事项
1,设置数字域目录
构建后,在build/wechatgame目录下默认是没有sub目录的。
一般的方式是手动创建sub目录,然后把数据域代码和资源放到sub内
高级的方法是通过构建模版来自动添加sub目录和其内部的资源.
在工程目录(assets文件夹所在目录)下创建 build-templates/wechatgame/sub 即可。
把数据域代码index.js和所需资源扔到该sub目录。
然后在构建工程的时候就会自动把该sub文件夹放到build/wechatgame目录下
2,微信端KVData的key和value均为string类型
官方文档
这点特别注意,否则可能导致存储失败。
比如:setUserCloudStorage
public static uploadLevelOpen(level) {
if (!window.window["wx"]) return
level = level.toString()
window["wx"].setUserCloudStorage({
KVDataList: [
{ key: RankConsts.OpenDataKeys.LevelKey, value: level },
],
success: (res) => {
console.log("uploadLevelOpen success:res=>", res)
},
fail: (res) => {
console.log("uploadLevelOpen fail:res=>", res)
}
})
}
如上代码,传入level的时候,cocos这边需要强制传个string类型的level。