如果項目文件node_modules中沒有weixin-js-sdk文件,則直接使用本文章提供的;
如果不生效,則在template.h5.html中引入
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
首先引入weixin-js-sdk
<script>import * as weixin from 'weixin-js-sdk'import * as UserApi from '@/api/user'export default {data() {return {}},onLoad(options) {this.weixinShareInfo();},methods: {weixinShareInfo(){var that = this;//獲取當前url然后傳遞給后臺獲取授權和簽名信息var urls = window.location.href.split('#')[0]; //當前網頁的URL,不包含#及其后面部分console.log('888:',window.location.href.split('#')[0]);var data = {urls:urls}//獲取到微信分享相關配置UserApi.fenxiang(data, { load: true }).then(res => {if(res.data && res.data.signData){console.log('res.data.signData:',res.data.signData);weixin.config({debug: false, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。appId: res.data.signData.appId, // 必填,公眾號的唯一標識timestamp: res.data.signData.timestamp, // 必填,生成簽名的時間戳nonceStr: res.data.signData.nonceStr, // 必填,生成簽名的隨機串signature: res.data.signData.signature,// 必填,簽名jsApiList: ["onMenuShareTimeline","onMenuShareQQ","onMenuShareAppMessage","updateAppMessageShareData","updateTimelineShareData"] // 必填,需要使用的JS接口列表});weixin.ready(function(){console.log(999999999998888888888);weixin.checkJsApi({jsApiList: ['updateAppMessageShareData',"updateTimelineShareData"], // 需要檢測的JS接口列表,所有JS接口列表見附錄2,success: function(res2) {// 以鍵值對的形式返回,可用的api值true,不可用為false// 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}// config信息驗證后會執行ready方法,所有接口調用都必須在config接口獲得結果之后,config是一個客戶端的異步操作,所以如果需要在頁面加載時就調用相關接口,則須把相關接口放在ready函數中調用來確保正確執行。對于用戶觸發時才調用的接口,則可以直接調用,不需要放在ready函數中。weixin.updateAppMessageShareData({ title: '測試標題', // 分享標題desc: res.data.signData.intro, // 分享描述link: res.data.signData.url, // 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公眾號JS安全域名一致imgUrl: res.data.signData.fximg, // 分享圖標success: function () {// 設置成功console.log('===分享===');}})weixin.updateTimelineShareData({title: '測試標題', // 分享標題desc: res.data.signData.intro, // 分享描述link: res.data.signData.url, // 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公眾號JS安全域名一致imgUrl: res.data.signData.fximg, // 分享圖標success: function () {// 設置成功console.log('===分享===');}})},fail: function(err){console.log('checkJsApi:',err);}});})weixin.error(function(err){console.log('err:',err);// config信息驗證失敗會執行error函數,如簽名過期導致驗證失敗,具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數中查看,對于SPA可以在這里更新簽名。})}}).catch(err => {})},}}
</script>