首先引入微信文件
<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script type="text/javascript" src="share.js"></script>
新建share.js
function share(datas){
/*
分享
*/
//success: to share
function encode(url) {
return encodeURIComponent(url).replace(/'/g, "%27").replace(/"/g, "%22");
}
//统计分享次数
function countShare(datas) {
var parameter = datas.parameter;
var countUrl = "https://activity.xxxxxx.com/activityapi/weixin/countShare.json?activityType="+datas.activityType;
$.ajax({
type: 'get',
contentType:"application/x-www-form-urlencoded;charset=UTF-8",
url: countUrl,
dataType:'jsonp',
jsonp:'jsoncallback',
success: function(data){
if(data.success){
}else{
}
},
error: function(xhr, type){
}
})
return
}
surl = window.location.href;
var url = "https://www.xxxxxx.com/weixin/wx_share.json?url=" + encode(window.location.href.split('#')[0]);
var callback = function (json) {
var data = json.message;
data = eval("(" + data + ")");
wx.config({
debug: false,// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: data.appId,// 必填,公众号的唯一标识
timestamp: data.timestamp,// 必填,生成签名的时间戳
nonceStr: data.nonceStr,// 必填,生成签名的随机串
signature: data.signature,// 必填,签名
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo']// 必填,需要使用的JS接口列表
});
wx.ready(function () {
var shareData = {
title: datas.title,
desc: datas.desc,
link: datas.shareUrl==undefined?surl:datas.shareUrl, // 分享链接
imgUrl: datas.imgUrl,
success: function () {
// 用户确认分享后执行的回调函数
//如果存在统计类型 则统计分享次数
if(datas.activityType){
countShare(datas);
}
}
};
var shareFrieds = {
title: datas.title,
link: datas.shareUrl==undefined?surl:datas.shareUrl, // 分享链接
imgUrl: datas.imgUrl,
success: function () {
// 用户确认分享后执行的回调函数
//如果存在统计类型 则统计分享次数
if(datas.activityType){
countShare(datas);
}
}
};
wx.onMenuShareAppMessage(shareData);//分享给好友
wx.onMenuShareQQ(shareData);
wx.onMenuShareWeibo(shareData);
wx.onMenuShareTimeline(shareFrieds);//朋友圈
console.log('weixin support set success.');
});
wx.error(function (res) {
//alert(res.errMsg);
});
};
$.ajax({
url: url,
dataType: "jsonp",
jsonp: "jsoncallback",
success: function (response) {
callback && callback(response);
},
error: function (xhr, type) {
console.log('xhr:' + xhr + "type:" + type);
}
})
}
调用
//微信分享
var datas = {
title: "分享标题",
desc: "分享描述",
imgUrl: "分享图片",
activityType: 'xxxx',// 用来查询分享次数
shareUrl: '分享链接'
};
share(datas);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。