微信分享到朋友圈自定義圖文


<script type="text/javascript">
$(function(){
getUrl();

});

function getUrl(){
$.ajax({
url:'/wechat/share',
type:'get',
data:{
"url": encodeURIComponent(location.href.split('#')[0])
},
success:function(json){
json = JSON.parse(json);
if(json.success == 1){
if(json.data){
wx.config({
debug: true,
appId: "wx043d1b90c7bd4cfa",
timestamp: json.data.timestamp,
nonceStr: json.data.nonceStr,
signature: json.data.signature,
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage']
});
wx.error(function(res){
alert(res.errMsg);
})

wx.ready(function(){
var encodeurl=location.href.split('#')[0];
wx.onMenuShareTimeline({
title: '閨蜜分享1000萬現金紅包,豪禮大放送!',
desc: "您的閨蜜為您送來20元現金紅包,機會難得,快來領取......",
link: encodeurl,  //分享的url以http或https開頭  。具體分享的地址應該不需要編碼,至少百度分享里面就是直接的url

imgUrl: "https://m.guimilicai.com/images/cent_cbg.png"
});
wx.onMenuShareAppMessage({
title: '閨蜜分享1000萬現金紅包,豪禮大放送!',
desc: "您的閨蜜為您送來20元現金紅包,機會難得,快來領取......",
link: encodeurl,
imgUrl: "https://m.guimilicai.com/images/cent_cbg.png",
});

});

}
}
},
error:function(){
alert(false);
}
})

}

 

</script>
</body>
</html>

后台返回的數據

 "success": 1,
    "code": null,
    "comment": null,
    "data": {
        "signature": "c556057efe17da230832abc07d1b287df9991278",
        "jsapi_ticket": "bxLdikRXVbTPdHSM05e5u5KK_6aepzSJbcorNNqO52PqNBTx1sGMuo_-iTq75JYvvkuyTsKmTOOyxSVv9NTq-g",
        "url": " www.baidu.com",
        "nonceStr": "eff876fc-f300-426d-99b5-20c7d15694b7",
        "timestamp": "1446539973"
    },
    "resultList": null
/wechat/share
參數url
 
微信jsdk說明文檔 附錄5
(確保你獲取用來簽名的url是動態獲取的,動態頁面可參見實例代碼中php的實現方式。如果是html的靜態頁面在前端通過ajax將url傳到后台簽名,前端需要用js獲取當前頁面除去'#'hash部分的鏈接(可用location.href.split('#')[0]獲取,而且需要encodeURIComponent),因為頁面一旦分享,微信客戶端會在你的鏈接末尾加入其它參數,如果不是動態獲取當前鏈接,將導致分享后的頁面簽名失敗。
 
 
因為你分享到微信的頁面會有好多個
所以你要分享的url也會有好多個
所以后台不可能寫死
所以你要把你當前頁面的url地址去除后面的#然后編碼ajax傳給后台
后台或者微信那邊會對這個url進行解碼
然后后台通過他自身從微信端口獲得的jsapi_ticket、noncestr、timestamp和你提供的動態url進行簽名
就得到了動態的簽名
 然后所有需要的東西都有了,后台返回個json給你
 

后台返回的數據

 "success": 1,
    "code": null,
    "comment": null,
    "data": {
        "signature": "c556057efe17da230832abc07d1b287df9991278",
        "jsapi_ticket": "bxLdikRXVbTPdHSM05e5u5KK_6aepzSJbcorNNqO52PqNBTx1sGMuo_-iTq75JYvvkuyTsKmTOOyxSVv9NTq-g",
        "url": " www.baidu.com",
        "nonceStr": "eff876fc-f300-426d-99b5-20c7d15694b7",
        "timestamp": "1446539973"
    },
    "resultList": null
/wechat/share
參數url

你把json里面的數據作為微信分享配置的參數進行配置
然后在wx.ready里去調用微信相應的功能接口(你這里調用的有分享到朋友圈和分享到微信朋友這兩個接口)
在接口里面你再去寫一些標題啊,描述啊之類的
簽名使用的url是用來追蹤你頁面的
 
 
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM