import { getWxShareConfig } from '@/apis/common';
import { isWxClient } from '@/assets/js/utils';
export default {
mounted () {
},
methods: {
/**
*
* @param {*} config 参数
* @param config.title
* @param config.desc
* @param config.link
* @param config.imgUrl
*/
async initWeChatHandle ({ title, desc, shareLink, imgUrl }) {
link = location.href; // 获取签名的链接一定是当前页面的链接
if (!isWxClient()) {
return;
}
const signObjResp = await this.$axios.post(getWxShareConfig, {
url: link
});
let signObj;
if (signObjResp.data.code === 200) {
signObj = signObjResp.data.data;
}
if (!signObj) {
return;
}
// 引入npm包
this.wx = require('jweixin-module');
this.wx.config({
// debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: signObj.appId, // 必填,公众号的唯一标识
timestamp: signObj.timestamp, // 必填,生成签名的时间戳
nonceStr: signObj.nonceStr, // 必填,生成签名的随机串
signature: signObj.signature, // 必填,签名
jsApiList: [
'onMenuShareTimeline',
'onMenuShareAppMessage',
// "hideMenuItems",
// "showMenuItems",
// "getLocation",
'updateAppMessageShareData',
'updateTimelineShareData'
] // 必填,需要使用的JS接口列表
});
this.wx.ready(() => {
// TODO
this.setWechatShareText({
title,
desc,
link:shareLink || 'www.baidu.com', // 分享的链接可以自定义
imgUrl
});
});
},
setWechatShareText (shareData, notifFn) {
this.wx.updateAppMessageShareData({
title: shareData.title, // 分享标题
desc: shareData.desc, // 分享描述 desc
link: shareData.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: shareData.imgUrl, // 分享图标
success () {
console.log('here is true');
// 设置成功
if (notifFn) {
notifFn();
}
},
error (err) {
console.log(err);
// loaddingloadding.style.display = 'none'
},
fail (err) {
console.log(err);
// loaddingloadding.style.display = 'none'
}
});
this.wx.updateTimelineShareData({
title: shareData.title, // 分享标题
desc: shareData.desc, // 分享描述
link: shareData.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: shareData.imgUrl, // 分享图标
success () {
// 设置成功
if (notifFn) {
notifFn();
}
}
});
}
}
};
微信分享简单代码块
最新推荐文章于 2024-05-05 18:23:59 发布