PhoneGap/Cordova微信分享插件【升级版】

去年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插件交流,请说明来自开源中国,谢谢!)

PhoneGap/Cordova微信分享插件【升级版】

上一篇:微信系列——关闭微信企业号应用


下一篇:转: 从微信的故障谈谈服务可用性