1丶首先需要獲取微信配置信息,需要調后端提供的接口數據
2丶然后調用 wx.config 配置你需要調用的的微信接口 jsApiList
3丶微信官方的jsAPI接口 只能在 wx.ready()這個函數中調用
// 獲取微信配置信息
setWxConfig() {
// 進行簽名的時候 Android 不用使用之前的鏈接, ios 需要
let signLink =
navigator && navigator.userAgent && /(Android)/i.test(navigator.userAgent)
? location.href.split("#")[0]
: window.entryUrl;
getWxConfig(signLink).then((res) => {
console.log("這里是wxconfig配置信息", res);
var result = res.data;
if (!wx) {
alert("請升級當前微信版本!");
}
// eslint-disable-next-line
wx.config({
debug: false, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
appId: result.appId, // 必填,公眾號的唯一標識
timestamp: result.timestamp, // 必填,生成簽名的時間戳
nonceStr: result.nonceStr, // 必填,生成簽名的隨機串
signature: result.signature, // 必填,簽名
jsApiList: [
"onMenuShareAppMessage",
"onMenuShareTimeline",
"updateAppMessageShareData",
"updateTimelineShareData",
], // 必填,需要使用的JS接口列表
});
// eslint-disable-next-line
this.wxShare();
});
},
wxShare() {
// wx分享
let _this = this;
window.wx.ready(function () {
// 分享朋友圈
window.wx.updateTimelineShareData({
title: _this.articleTitle,// 分享標題
link: _this.pageUrl,// 分享urk
imgUrl: _this.articleImg, // 分享圖標
success: function () {
// 用戶確認分享后執行的回調函數
// _this.$Toast("分享朋友圈成功");
},
});
// 分享朋友
window.wx.updateAppMessageShareData({
title: _this.articleTitle,// 分享標題
desc: _this.articleCount,// 分享urk
link: _this.pageUrl,
imgUrl: _this.articleImg, // 分享圖標
type: "", // 分享類型,music、video或link,不填默認為link
dataUrl: "", // 如果type是music或video,則要提供數據鏈接,默認為空
success: function () {
// 用戶確認分享后執行的回調函數
// _this.$Toast("分享好友成功");
},
});
window.wx.error(function (res) {
// config信息驗證失敗會執行error函數,如簽名過期導致驗證失敗,具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數中查看,對於SPA可以在這里更新簽名。
console.log("errorMSG:" + res);
});
});
},