在微信里之所以可以实现分享到朋友圈、分享给好友,完全依赖于微信浏览器内置的一个JS框架,也就是weixinJSBridge这个东西。这个东西是干啥的?简单来说,就是当微信内置浏览器完成内部初始化后会触发WeixinJSBridgeReady事件,在这个事件中,可以定义一些信息在“分享到朋友圈”,“分享给好友”,“分享到腾讯微博”时直接调用。
要定义哪些信息呢?
1、title:分享时的标题
2、desc:分享时的短描述
3、link:分享的链接,等于游戏本身的链接
4、img_url:这是分享时小图标的链接
5、img_width,img_height:小图标的长和宽,一般都是100
6、callback:这是回调函数,也就是分享后,自动会执行的动作,可以实现跳转网址!!!!!
这几个参数都知道了,那看下面这个定义:
dataForWeixin = {
img_url: ‘http://www.jiuyuango.com/mygame/fangzi/wxshare.jpg‘,
img_width: ‘100‘,
img_height: ‘100‘,
link: ‘http://www.jiuyuango.com/mygame/fangzi/index.html‘,
title: notes,
desc: "测测你未来住什么样的房子",
callback:function(){
//在这里可以添加你要跳转的网址,比如:
location.href="http://mp.weixin.qq.com/s?__biz=MzA4NTk4NzkxNg==&mid=200954988&idx=1&sn=865d9d4102acbcc322a49e73effb9ccd#rd"
}
};
这个dateForWeixin就是一个封装的对象,把这几个参数都包在一起了,可以支持把这个对象直接传给调用方法,看下面!
// 发送给好友
WJ.on(‘menu:share:appmessage‘, function() {
WJ.invoke(‘sendAppMessage‘, dataForWeixin, function(res) {
dataForWeixin.callback();
});
});
// 发送到朋友圈
WJ.on(‘menu:share:timeline‘, function() {
WJ.invoke(‘shareTimeline‘, dataForWeixin, function(res) {
dataForWeixin.callback();
});
});
// 发送到微博
WJ.on(‘menu:share:weibo‘, function() {
WJ.invoke(‘shareWeibo‘, dataForWeixin, function(res) {
dataForWeixin.callback();
});
});
这三段代码就非常清楚了,就是分享时会去调用的方法。注意 dataForWeixin.callback(),这个就是上面参数里的回调函数了。
当然并不是每个游戏都是和这种写法一模一样,你需要灵活掌握!
原文转自“涛舅舅博客”:http://game.jiuyuango.com/post/32.html