网友真实露脸自拍10p,成人国产精品秘?久久久按摩,国产精品久久久久久无码不卡,成人免费区一区二区三区

小程序模板網

微信小游戲好友排行榜快速開發教程

發布時間:2018-07-20 08:37 所屬欄目:小程序開發教程

要做這個好友排行榜.必然要有好友的戰績比分,然后再做排序,最后將數據呈現在UI上 , 可以分為下面幾個步驟:

  1. 保存每個用戶的分數
  2. 獲取好友列表,并獲取好友的分數
  3. 渲染排行榜

保存每個用戶的分數

保存每個用戶的分數,需要調用微信的云存儲API,將用戶的分數持久化的存起來 .


// 保存用戶數據,注意限制單條數據容量不得超過1024字節,
// 單個用戶數據總條數不得超過128條
wx.setUserCloudStroage(Object)復制代碼


//存儲最高分
var score = 100;
var kvScore = {"key":"score","value":score};
wx.setUserCloudStroage({"KVDataList":[kvScore]},"success":function(){
    //
});復制代碼

獲取好友列表,并獲取好友的分數

? 游戲中將玩家的分數保存起來以后,需要調用微信的云存儲API wx.getFirendCloudStorage, 獲取玩家的微信好友數據,這樣就拿到了每個好友的最高分.

值得一提的是,微信的這個接口在內部隱蔽的使用其微信的社交關系鏈 .

返回列表中的包含的 調用過wx.setUserCloudStroage 這個接口的用戶.

渲染排行榜

對分數進行排序 , 得到一個排行榜


let sharedCanvas = wx.getSharedCanvas()

function drawRankList (data) {
  data.forEach((item, index) => {
    // ...
  })
}

wx.getFriendCloudStorage({
  success: res => {
    let data = res.data
    drawRankList(data)
  }
})復制代碼

注意這個 sharedCanvas , 這是獨有的畫布 ,與小游戲中的畫布不是同一個東東.

使用sharedCanvas來自定義顯示玩家的用戶排行榜

重要說明

? 上述所涉及的微信接口 , 都只能在微信小游戲的 子域 使用 , 微信官網也稱之為開放數據域 , 其實應該稱之為 封閉數據域 . 
? 為什么這么說呢?
? 因為子域的js代碼執行環境和小游戲本身的代碼執行環境是隔離的. 兩者之間不能相通 , 子域只能接收外部的消息(如游戲的最高分),不能往外發消息(不能把用戶的好友關系鏈數據發給開發者服務器) , 內存不共享,也就意味著,開發者拿不到微信的社交關系鏈數據 . 在這樣的封閉條件下,開發者能做的只能是在子域的畫布上將排行榜數據以個性化的UI元素展示出來 。



易優小程序(企業版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.xiuhaier.com/wxmini/doc/course/24645.html 復制鏈接 如需定制請聯系易優客服咨詢:800182392 點擊咨詢
QQ在線咨詢
AI智能客服 ×