微信公眾平台文檔地址:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html
1.首先要先申請一個微信公眾號;
2.登錄公眾號后台綁定域名,配置js安全域名(不支持ip),具體如下;
登錄地址:https://mp.weixin.qq.com/
登錄成功后,點擊功能設置
設置綁定域名
注意將文件下載下載上傳至服務器的根目錄下,並將需要綁定的域名填寫在對應處,然后點擊保存
3.需要后端配合,前端掉后端接口,把分享的頁面網址傳給后端;
4.后台調用微信的接口,返回需要必填的參數,必填參數如下,最后的jsApiList是使用的js接口列表,不需要后端返回;
wx.config({ debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。 appId: '', // 必填,公眾號的唯一標識 timestamp: , // 必填,生成簽名的時間戳 nonceStr: '', // 必填,生成簽名的隨機串 signature: '',// 必填,簽名 jsApiList: [] // 必填,需要使用的JS接口列表 });
后端需要給你返回的數據

5.在需要調用JS接口的頁面引入JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.6.0.js
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
這里使用的是jquery的ajax調用接口,大家可以根據項目的配置來調整
注意:該功能是調用的微信接口,所以需要判斷是當前瀏覽器是否是微信瀏覽器,如果是微信瀏覽器的話在進行分享處理
// 微信分享 $(function(){ var apiRes = {}; $.ajax({ //請求方式 type : "get", //請求的媒體類型 contentType: "application/json;charset=UTF-8", //請求地址 url : "接口的url?url="+window.location.href, //數據,json字符串 data : '', //請求成功 success : function(result) { if(result.status == 0) {//保存后端返回過來的數據 apiRes = result.data; is_weixn(); }else{ console.log(result.statusText) } }, //請求失敗,包含具體的錯誤信息 error : function(e){ console.log(e.status); console.log(e.responseText); } }); function is_weixn(){//判斷是否是微信瀏覽器 var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i)=="micromessenger") {//是微信瀏覽器 var date = new Date().getTime(); wx.config({ debug: false, appId: apiRes.appId, timestamp: apiRes.timestamp, nonceStr: apiRes.noncestr, signature: apiRes.signature, jsApiList: [ 'onMenuShareTimeline', 'onMenuShareAppMessage', ] }); wx.ready(function () { // config信息驗證后會執行ready方法,所有接口調用都必須在config接口獲得結果之后,config是一個客戶端的異步操作,所以如果需要在頁面加載時就調用相關接口,則須把相關接口放在ready函數中調用來確保正確執行。對於用戶觸發時才調用的接口,則可以直接調用,不需要放在ready函數中。 // 注冊分享朋友圈事件。 wx.onMenuShareTimeline({ title: 'MILESTONE', // 分享標題 link: window.location.href, // 分享鏈接,該鏈接域名必須與當前企業的可信域名一致 imgUrl: 'http://it.oss.qorosauto.com/qoros/mina/milestone.jpg', // 分享圖標 success: function () { console.log('success!'); }, cancel: function () { console.log('cancel!'); } }); // 注冊分享朋友事件 wx.onMenuShareAppMessage({ title: '分享的標題', // 分享標題 desc: '分享的描述', link: window.location.href, // 分享鏈接,該鏈接域名必須與當前企業的可信域名一致 imgUrl: '圖標的鏈接', // 分享圖標 success: function () { console.log('success!'); }, cancel: function () { console.log('cancel!'); } }); }); wx.error(function(res){ // config信息驗證失敗會執行error函數,如簽名過期導致驗證失敗,具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數中查看,對於SPA可以在這里更新簽名。 }); } else { return; } } })