赞
踩
真的不想再更了,但项目进行还是遇到了些麻烦事。记录下来,互相学习。
为了制作排行榜,需要用到微信开放域,说白了就是微信为了保护数据弄出来的玩意儿,有点麻烦。微信开放数据域参考:https://ldc2.layabox.com/doc/?nav=zh-ts-5-0-7
1,父子域之间的通信
作用:在子域中获取到微信的关系链数据
大致流程:
&1,需要两个工程
&2,在game.json中添加代码:
{
"deviceOrientation": "portrait",
"openDataContext": "src/myOpenDataContext"
}
&3,开放数据域不能向主域发送消息,主域可以调用开放数据域实例的postmassage()方法向开放数据域发送消息
// game.js
let openDataContext = wx.getOpenDataContext()
openDataContext.postMessage({
text: 'hello',
year: (new Date()).getFullYear()
})
在开放数据域中通过 wx.onMessage() 方法可以监听从主域发来的消息。
// src/myOpenDataContext/index.js
wx.onMessage(data => {
console.log(data)
/* {
text: 'hello',
year: 2018
} */
})
&4,
主域 : Laya.MiniAdpter.init(true,false);
子域 :Laya.MiniAdpter.init(true,true);
Demo操作步骤:
&1,创建两个工程,一个为主域(主项目),另一个为子域(排行榜)
&2,父域工程代码及修改:
- [{
- "index": 1,
- "avatarIP": "test/4.png",
- "UserName": "侧故事",
- "RankValue": 100
- }, {
- "index": 1,
- "avatarIP": "test/4.png",
- "UserName": "侧故事",
- "RankValue": 100
- }, {
- "index": 1,
- "avatarIP": "test/4.png",
- "UserName": "侧故事",
- "RankValue": 100
- }, {
- "index": 1,
- "avatarIP": "test/4.png",
- "UserName": "侧故事",
- "RankValue": 100
- }]

reward.json
&3,子域修改:
&4,其他的修改
修改game.json的配置等
最终实现效果:
2019.7.30号更新:
这玩意儿太坑了,今天中午折腾了一中午,在首行的地方不应该加Laya.MiniAdpter.init(true,false);,否则微信中会报找不到的错。
2,获得开放域数据
发送需要存储的数据:
参考:https://developers.weixin.qq.com/minigame/dev/api/open-api/data/KVData.html
关于发送的字段,需要到微信官方开发者后台进行配置。
最终运行结果(没有添加数据段):
示例项目地址(包含主域与子域工程):https://download.csdn.net/download/tel17610887670/11456606
如果有问题可以在博客下方留言。共同学习,共同进步。
2019/731日更新:
&1,如果想获取到开放域中的值,发送与接收的KVDataList中的key需要保持一致。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。