去年7月底我在博客上发布了微信分享插件之后,一年来几乎有二三十位网友加我QQ,遇到各种问题,终究还是因为手动安装方式步骤繁琐,容易出错。
于是我决定开发命令行安装的版本,希望能为有需要的网友提供便利。然而,由于微信分享的一些限制,尚不能做到完全自动化,但已经比之前简单了许多。
安装:
cordova plugin add https://git.oschina.net/jiusem/WechatShare-for-PhoneGap.git
安装成功后,需要将插件目录中的 wxapi 文件夹 移动 到你的 主包 中,这是微信官方的要求,wxapi 文件夹的作用是接受来自微信的回传信息。
移动文件夹后,java文件会出现一个报错,将第一行的包名修改为你自己的主包名即可。
还需要做的工作是打开WechatShare.java文件,大约在58行处,将appID修改为你自己在微信开放平台申请到的。
至此,准备工作就绪,可以使用插件了。
与所有插件一样,你应当在deviceready事件后调用插件,像这样:
document.addEventListener(‘deviceready‘,function(){ //调用插件 },false);
首先来看看如何分享网页到微信,我想这是我们最常见的应用了:
var args = { type: ‘webpage‘, url:‘http://www.baidu.com‘, imgUrl:‘https://www.baidu.com/img/bdlogo.png‘, title:‘文章标题‘, desc:‘文章简介‘, isSendToTimeline:true //true表示分享到朋友圈,false分享给好友 }; navigator.WechatShare.send(args);
分享文字:
var args = { type: ‘text‘, text:‘需要分享的文字‘, isSendToTimeline:true //true表示分享到朋友圈,false分享给好友 }; navigator.WechatShare.send(args);
分享图片:
var args = { type: ‘image‘, imageType: ‘path‘,//也可以使用 ‘url‘ 分享图片. data: ‘/test.png‘,//SD card 路径 or url isSendToTimeline: true }; navigator.WechatShare.send(args);
分享音乐:
var args = { type: ‘music‘, url: ‘http://x.x.x/test.mp3‘, title: ‘title‘, desc: ‘desc‘, isLowBand: true,// 是否使用低音质 imgUrl:‘‘,//图片路径 isSendToTimeline: true }; navigator.WechatShare.send(args);
分享视频:
var args = { type: ‘video‘, url: ‘http://x.x.x.swf‘, title: ‘title‘, desc: ‘desc‘, isLowBand: true, imgUrl: ‘http://www.baidu.com/img/bdlogo.gif‘, isSendToTimeline: true }; navigator.WechatShare.send(args);
分享文件:
var args = { type: ‘file‘, path: ‘file:///test.mp3‘,//file‘s fullPath desc: ‘我在发本地文件‘, title: ‘文件‘, imgUrl: ‘http://www.baidu.com/img/bdlogo.gif‘, isSendToTimeline: true }; navigator.WechatShare.send(args);
如果需要处理微信分享的结果,判断分享是否成功,可以定义一个回调函数:
navigator.WechatShare.sendCallBack = function(result){ switch(result){ case 1: //分享成功 //...编写你的业务逻辑 break; case 2: //取消分享 //... break; case 3: //验证失败 //... break; case 4: //未知错误 //... break; } }
在git中,我提供了一个完整的Android分享示例,在example文件中:
https://git.oschina.net/jiusem/WechatShare-for-PhoneGap.git
里面包含keystore文件,可以用来调试;在bin文件夹中有一个生成的apk文件,可以安装到手机上来测试。
插件暂时仅支持Android,iOS版本也会尽快加上。如果有需要,可以参考:http://my.oschina.net/crazymus/blog/306702
还有问题?欢迎加QQ群交流:454566813 (PhoneGap/Cordova插件交流,请说明来自开源中国,谢谢!)