安装:
1
|
cordova plugin add https:
//git.oschina.net/jiusem/WechatShare-for-PhoneGap.git
|
安装成功后,需要将插件目录中的 wxapi 文件夹 移动 到你的 主包 中,这是微信官方的要求,wxapi 文件夹的作用是接受来自微信的回传信息。
移动文件夹后,java文件会出现一个报错,将第一行的包名修改为你自己的主包名即可。
还需要做的工作是打开WechatShare.java文件,大约在58行处,将appID修改为你自己在微信开放平台申请到的。
至此,准备工作就绪,可以使用插件了。
与所有插件一样,你应当在deviceready事件后调用插件,像这样:
1
2
3
|
document.addEventListener(
'deviceready'
,
function
(){
//调用插件
},
false
);
|
首先来看看如何分享网页到微信,我想这是我们最常见的应用了:
1
2
3
4
5
6
7
8
9
10
|
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);
|
分享文字:
1
2
3
4
5
6
7
|
var
args = {
type:
'text'
,
text:
'需要分享的文字'
,
isSendToTimeline:
true
//true表示分享到朋友圈,false分享给好友
};
navigator.WechatShare.send(args);
|
分享图片:
1
2
3
4
5
6
7
8
|
var
args = {
type:
'image'
,
imageType:
'path'
,
//也可以使用 'url' 分享图片.
data:
'/test.png'
,
//SD card 路径 or url
isSendToTimeline:
true
};
navigator.WechatShare.send(args);
|
分享音乐:
1
2
3
4
5
6
7
8
9
10
11
|
var
args = {
type:
'music'
,
url:
'http://x.x.x/test.mp3'
,
title:
'title'
,
desc:
'desc'
,
isLowBand:
true
,
// 是否使用低音质
imgUrl:
''
,
//图片路径
isSendToTimeline:
true
};
navigator.WechatShare.send(args);
|
分享视频:
1
2
3
4
5
6
7
8
9
10
11
|
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);
|
分享文件:
1
2
3
4
5
6
7
8
9
10
|
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);
|
如果需要处理微信分享的结果,判断分享是否成功,可以定义一个回调函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
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文件,可以安装到手机上来测试。
可能的问题:有些网友反映将项目导入Eclipse后运行,不能调起微信。这是因为微信有校验签名的流程,请参考微信分享相关文档对签名的说明。
插件暂时仅支持Android,iOS版本也会尽快加上。