如果項目文件node_modules中沒有weixin-js-sdk文件,則直接使用本文章提供的;
如果不生效,則在template.h5.html中引入
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>文章來源:http://www.zghlxwxcb.cn/news/detail-835574.html
首先引入weixin-js-sdk文章來源地址http://www.zghlxwxcb.cn/news/detail-835574.html
<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]; //當前網(wǎng)頁的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, // 開啟調(diào)試模式,調(diào)用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數(shù),可以在pc端打開,參數(shù)信息會通過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信息驗證后會執(zhí)行ready方法,所有接口調(diào)用都必須在config接口獲得結(jié)果之后,config是一個客戶端的異步操作,所以如果需要在頁面加載時就調(diào)用相關接口,則須把相關接口放在ready函數(shù)中調(diào)用來確保正確執(zhí)行。對于用戶觸發(fā)時才調(diào)用的接口,則可以直接調(diào)用,不需要放在ready函數(shù)中。
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信息驗證失敗會執(zhí)行error函數(shù),如簽名過期導致驗證失敗,具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數(shù)中查看,對于SPA可以在這里更新簽名。
})
}
}).catch(err => {
})
},
}
}
</script>
到了這里,關于uniapp微信公眾號H5分享的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!