白鷺引擎開發微信小遊戲: API 調用教程文檔 原

如何在 Egret 中調用小遊戲 API
在 Egret 中是可以直接調用小遊戲的 API 的,這篇文檔簡要介紹如何在 Egret 中使用小遊戲的 API。
新增 platform.ts 文件
 
在 src 下新增 platform.ts,代碼如下

1.    /** 
2.    * 平臺數據接口。
3.    * 由於每款遊戲通常需要發佈到多個平臺上,所以提取出一個統一的接口用於開發者獲取平臺數據信息
4.    * 推薦開發者通過這種方式封裝平臺邏輯,以保證整體結構的穩定
5.    * 由於不同平臺的接口形式各有不同,白鷺推薦開發者將所有接口封裝爲基於 Promise 的異步形式
6.    */
7.    declare interface Platform {
8.    
9.        getUserInfo(): Promise<any>;
10.    
11.        login(): Promise<any>
12.    
13.    }
14.    
15.    class DebugPlatform implements Platform {
16.        async getUserInfo() {
17.            return { nickName: "username" }
18.        }
19.        async login() {
20.    
21.        }
22.    }
23.    
24.    
25.    if (!window.platform) {
26.        window.platform = new DebugPlatform();
27.    }
28.    
29.    
30.    
31.    declare let platform: Platform;
32.    
33.    declare interface Window {
34.    
35.        platform: Platform
36.    }

這樣就可以在 Egret 項目中使用 platform 裏的方法了。但是如果我們當前的項目想要發佈成 H5 遊戲的話也不會報錯,保證整個項目的兼容性。
新增 platform.js 文件


通過文末的 小遊戲 API 文檔,我們可以方便的查看使用小遊戲 API。
 
我們 platform.js 代碼編寫如下

1.    /**
2.    * 請在白鷺引擎的Main.ts中調用 platform.login() 方法調用至此處。
3.    */
4.    
5.    class WxgamePlatform {
6.    
7.        name = 'wxgame'
8.    
9.        login() {
10.            return new Promise((resolve, reject) => {
11.                wx.login({
12.                    success: (res) => {
13.                        resolve(res)
14.                    }
15.                })
16.            })
17.        }
18.    
19.        getUserInfo() {
20.            return new Promise((resolve, reject) => {
21.                wx.getUserInfo({
22.                    withCredentials: true,
23.                    success: function (res) {
24.                        var userInfo = res.userInfo
25.                        var nickName = userInfo.nickName
26.                        var avatarUrl = userInfo.avatarUrl
27.                        var gender = userInfo.gender //性別 0:未知、1:男、2:女
28.                        var province = userInfo.province
29.                        var city = userInfo.city
30.                        var country = userInfo.country
31.                        resolve(userInfo);
32.                    }
33.                })
34.            })
35.        }
36.    }
37.    
38.    
39.    window.platform = new WxgamePlatform();

上述代碼使用了小遊戲的登陸 API,只需要在 Egret 項目中調用 platform.login() 方法即可。

引入 platform.js
但是在真正運行之前還需要將 platform.js 文件引入進去
 
調用小遊戲的 API
 
最後只需要在你需要的地方添加方法就可了,搞定!
 
運行發現沒有效果,因爲我剛纔已經登陸過了,所以選擇清除登錄狀態。
 
然後運行,搞定!
小結
因爲上述過程 5.1.2 版本都已經集成,項目默認會有一個登陸方法的示例,大家可以按照示例使用其它的小遊戲 API,爲了保證最好的體驗我們元旦回來後再進行更新,感謝大家一直以來的支持。
小遊戲 API 調用注意事項
因爲小遊戲 API 運行需要小遊戲環境,所以在 H5 上是無法直接預覽的,所以你需要在「微信開發者工具」中預覽效果。
 
更多 API 請查看:小遊戲 API 文檔

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