文档章节

白鹭引擎开发微信小游戏: API 调用教程文档

白鹭科技
 白鹭科技
发布于 2018/01/09 18:29
字数 741
阅读 3609
收藏 0

如何在 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 文档

© 著作权归作者所有

白鹭科技
粉丝 11
博文 18
码字总数 29793
作品 0
私信 提问
加载中

评论(2)

白鹭科技
白鹭科技 博主

引用来自“UC10D”的评论

真机报错 unhandled promise rejection, 知道是什么问题吗

回复@UC10D : 关于技术问题可入群咨询白鹭技术服务童靴,添加orchids_yu入白鹭技术社群。
UC10D
UC10D
真机报错 unhandled promise rejection, 知道是什么问题吗
白鹭引擎 5.3.0 正式发布,支持 3D 游戏开发

一直关注白鹭引擎的童靴会发现,今天白鹭引擎先后完成了白鹭引擎5.2.0、白鹭引擎5.3.0两个版本的更迭,在周三发布《白鹭引擎稳定版即将发布,后续路线图同步公开》文中,我们已详细介绍了白鹭...

白鹭科技
2018/05/25
1K
2
高手问答第 187 期 —— 白鹭引擎架构师带来的微信小游戏开发技巧分享

2017 年 12 月 28 日,微信发布了小游戏。2018 年 1 月 15 日微信小游戏预告将全面开放,未来面向企业和个人开发者开放,进一步助推小游戏行业走向成熟。 依靠着最大的中文即时通信社交 App ...

局长
2018/01/30
5.9K
42
白鹭引擎 5.1.2 发布 完善对微信小游戏支持

新年伊始,白鹭科技于1月2日正式发布白鹭引擎(Egret Engine)5.1.2,本次版本是针对在17年12月份发布的白鹭引擎5.1.1版本的一次功能迭代。更新后白鹭引擎完善了对微信小游戏支持,并引入了 ...

白鹭科技
2018/01/08
3.4K
7
白鹭引擎 5.2.7 新增自动合图插件、二进制和声音缓存方案功能

2018年8月13日,白鹭引擎发布5.2.7 版本。本次版本主要新增了两大功能:命令行增加自动合图插件TextureMergerPlugin,微信小游戏支持库增加二进制和声音缓存方案。 同时,本次版本还是对 5....

白鹭科技
2018/08/13
1K
2
Egret3D 1.1 发布,支持更多高级渲染特性

9月4日,Egret3D 推出1.1版本,该版本是 1.0 正式版之后的第一次大版本更新。本次更新后,Egret3D1.1支持更多高级渲染特性,为即将发布的3D编辑器打造了更坚实的底层基础。更新至1.1 版本后,...

白鹭科技
2018/09/04
771
0

没有更多内容

加载失败,请刷新页面

加载更多

作为一个(IT)程序员!聊天没有话题?试试这十二种技巧

首先呢?我是一名程序员,经常性和同事没话题。 因为每天都会有自己的任务要做,程序员对于其他行业来说;是相对来说比较忙的。你会经常看到程序员在发呆、调试密密麻麻代码、红色报错发呆;...

小英子wep
今天
12
0
【SpringBoot】产生背景及简介

一、SpringBoot介绍 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不再需要...

zw965
今天
4
0
简述并发编程分为三个核心问题:分工、同步、互斥。

总的来说,并发编程可以总结为三个核心问题:分工、同步、互斥。 所谓分工指的是如何高效地拆解任务并分配给线程,而同步指的是线程之间如何协作,互斥则是保证同一时刻只允许一个线程访问共...

dust8080
今天
6
0
OSChina 周四乱弹 —— 当你简历注水但还是找到了工作

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌 :#今日歌曲推荐# 分享成龙的单曲《男儿当自强》。 《男儿当自强》- 成龙 手机党少年们想听歌,请使劲儿戳(这里) @hxg2016 :刚在...

小小编辑
今天
3.2K
22
靠写代码赚钱的一些门路

作者 @mezod 译者 @josephchang10 如今,通过自己的代码去赚钱变得越来越简单,不过对很多人来说依然还是很难,因为他们不知道有哪些门路。 今天给大家分享一个精彩的 GitHub 库,这个库整理...

高级农民工
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部