白鹭引擎的微信分享接口
来源:互联网 发布:咬人猫年龄知乎 编辑:程序博客网 时间:2024/04/28 16:52
在游戏开发中微信分享功能是必不可少的 。在白鹭引擎中微信的分享接口跟cocos-js有一点出入。代码如下
//获取签名分享 var url = "http://www.gamedo.net:8889/get_sign?game_url=" + encodeURIComponent(location.href).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+'); var urlloader = new egret.URLLoader(); var req = new egret.URLRequest(url); urlloader.load(req); req.method = egret.URLRequestMethod.GET; urlloader.addEventListener(egret.Event.COMPLETE, (e)=> { var signPackage = <SignPackage>JSON.parse(e.target.data); var bodyConfig = new BodyConfig(); bodyConfig.debug = true; bodyConfig.appId = 'wx8923c424f092e0af'; bodyConfig.timestamp = signPackage.timestamp; bodyConfig.nonceStr = signPackage.nonceStr; bodyConfig.signature = signPackage.signature; bodyConfig.jsApiList = [ 'checkJsApi', 'onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo' ] wx.config(bodyConfig); wx.ready(function(){ shareConfig(title, desctr, link, imgUrl); }) }, this);
其中url是需要访问的服务器地址,是在类中写的一个接口,里面定义了一下属性。如下
interface SignPackage { appId:string; nonceStr:string; timestamp:number; signature:string; url:string;}
给获得的数据使用JSON.parse()转成接口的数据类型。
通过白鹭引擎里面分装的new BodyConfig();,来设置签名和接口,给网络加载添加网络侦听,在侦听方法里面设置
公众号的唯一标识: appId
时间戳: timestamp
随机码: nonceStr
签名: signature
bodyConfig.jsApiList = [// 必填,需要使用的JS接口列表
// 所有要调用的 API 都要加到这个列表中
‘checkJsApi’,//判断当前客户端是否支持指定JS接口
‘chooseImage’//拍照或从手机相册中选图接口
];
例如在本例中需要使用分享到朋友圈,分享到QQ ,分享到微博等API所有在定义的时候这些API都存在于jsApiList 里面。
设置完基本信息之后然后通过wx.config()来注入权限验证配置。
然后通过ready接口处理成功验证。在ready接口里面调用全局的方法 ,来设置具体的接口的使用方法。具体的使用方法如下:
function shareConfig(title, desc, link, imgUrl) { var shareAppMessage = new BodyMenuShareAppMessage(); shareAppMessage.title = title; shareAppMessage.desc = desc; shareAppMessage.link = link; shareAppMessage.imgUrl = imgUrl; shareAppMessage.success = function(res){ SceneControl.createLoaingShare(); } shareAppMessage.fail = function(res){ alert("fenxiangshibai") } wx.onMenuShareAppMessage(shareAppMessage); /** * 分享到QQ */ var shareqq = new BodyMenuShareQQ(); shareqq.title = title; shareqq.desc = desc; shareqq.link = link; shareqq.imgUrl = imgUrl; shareqq.success = function(res){ SceneControl.createLoaingShare(); } shareqq.fail = function(res){ alert("fenxiangshibai") } wx.onMenuShareQQ(shareqq); /** * 分享到朋友圈 */ var sharet = new BodyMenuShareTimeline(); sharet.title = title+desc; sharet.link = link; sharet.imgUrl = imgUrl; sharet.success = function(res){ SceneControl.createLoaingShare(); } sharet.fail = function(res){ alert("fenxiangshibai") } wx.onMenuShareTimeline(sharet) /** * 分享到微博 */ var shareweibo = new BodyMenuShareWeibo(); shareweibo.title = title+desc; shareweibo.link = link; shareweibo.imgUrl = imgUrl; shareweibo.success = function(res){ SceneControl.createLoaingShare(); } shareweibo.fail = function(res){ alert("fenxiangshibai") } wx.onMenuShareWeibo(shareweibo)}
这个脚本必需是在游戏已加载的时候就注册分享接口。。。
0 0
- 白鹭引擎的微信分享接口
- 微信分享接口
- 微信分享接口
- 微信分享接口:
- 微信 jssdk 分享接口
- 微信分享接口开发
- 微信分享接口开发
- 微信分享接口开发
- 微信分享接口开发
- poker -3 +白鹭引擎
- Egret 白鹭引擎实践
- Egret---白鹭引擎
- 用h5的白鹭引擎做了个小游戏
- egret白鹭引擎出现不能操作数组情况的解决方法
- 白鹭引擎(egret)中锚点(anchoroffset)的位置体会
- 微信公众平台开发-分享接口的实现
- 微信分享接口开发所遇到的问题
- 白鹭引擎(Egret Engine )
- 算法练习----java字符全排列
- pom.xml配置文件讲解
- 第八周练习--工资计算
- UITableView的几种常见控件参数变更写法(持续更新-2016年10月26日)
- 安装了USB IF 测试工具, 大容量的U盘不能用了
- 白鹭引擎的微信分享接口
- mysql多维数据仓库指南--第二篇第7章(1)
- iOS - UITextView 匹配@和#号的特殊颜色
- Cocos2d-JS 性能优化
- 内核中的锁机制
- java调用执行ant命令
- 算法-第四版-练习1.3.27解答
- Memcache CAS协议介绍及使用
- iOS常用快捷键/终端常用指令