我在作咱們的項目中用到了判斷用戶是否將文章或者內容經過微信分享出去了,肯定用戶經過微信分享出去後給用戶增長相應的積分。
15年微信修改了策略能夠直接調用對應的接口
引入微信接口文件 http://res.wx.qq.com/open/js/jweixin-1.0.0.js
開始分享代碼html
WeixinApi.ready(function(Api) {
// 微信分享的數據
var wxData = {
"appId": "", // 服務號能夠填寫appId
"imgUrl" : 'http://www.forasp.cn/logo.jpg',
"link" : location.href,
"desc" : document.title,
"title" : document.title
};
// 分享的回調
var wxCallbacks = {
// 分享操做開始以前
ready : function() {
},
cancel : function(resp) {
},
// 分享失敗了
fail : function(resp) {
},
// 分享成功
confirm : function(resp) {
shareok();
},
all : function(resp,shareTo) {
}
};
Api.shareToFriend(wxData, wxCallbacks);
Api.shareToTimeline(wxData, wxCallbacks);
Api.shareToWeibo(wxData, wxCallbacks);
Api.generalShare(wxData,wxCallbacks);
});
function shareok(){
}
參考 http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
下面是之前的代碼,15年後不能用了
ajax
首先咱們看一下我修改用戶發送給朋友或者分享到朋友圈代碼
function onBridgeReady() {//當用戶分享信息時
WeixinJSBridge.on('menu:share:appmessage', function(argv)
{
WeixinJSBridge.invoke('sendAppMessage',{
"title":document.title,//微信分享標題
"link":location.href,//微信分享鏈接
"desc": document.desc,//微信分享簡介
"img_url":"http://www.forasp.cn/images/logo2.gif",//這個是分享圖片
"img_width":"120",//這個是分享圖片寬度
"img_height":"120",//這個是分享圖片高度
},function(data){/**這裏是咱們的重點,分享回調函數,咱們經過 回調函數中的參數能夠判斷用戶作了那種操做**/
if(data.err_msg=="send_app_msg:ok")send_intergal();//當分享成功時,咱們調用咱們本身定義函數
});
});
WeixinJSBridge.on('menu:share:timeline', function(argv){//當用戶分享到朋友圈
WeixinJSBridge.invoke('shareTimeline',{
"title":document.title,
"link":location.href,
"desc": document.desc,
"img_url":"http://www.forasp.cn/images/logo2.gif",
"img_width":"120",
"img_height":"120",
},function(data){/**這裏是咱們的重點,分享回調函數,咱們經過**/
if(data.err_msg=="send_app_msg:ok")send_intergal();
});
});
}
//
這裏是咱們定義的當分享成功後處理函數,通常是ajax,這裏的回調函數不能保證百分百都執行成功。
function send_intergal(){
$.post('/share_sure',{},function(data){},'json');
}
//當用戶進行頁面加載時,將Weixin瀏覽器定義的事件進行綁定。
if (typeof WeixinJSBridge === "undefined"){
if (document.addEventListener){
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
}
}else{
onBridgeReady();
}