五,Layaair對接微信程序:排行榜

  真的不想再更了,但項目進行還是遇到了些麻煩事。記錄下來,互相學習。

  爲了製作排行榜,需要用到微信開放域,說白了就是微信爲了保護數據弄出來的玩意兒,有點麻煩。微信開放數據域參考: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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章