1:引入jssdk
let jssdk = require('../../common/jssdk.js')
2: 获取当前页面的地址
let local = location.href;
2:分享方法
shareInit: function() {
let _this = this;
this.$api.share({
data: {
url: location.href.split("#")[0] //
},
success(ret) {
jssdk.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: ret.data.appId, // 必填,公众号的唯一标识
timestamp: ret.data.timestamp, // 必填,生成签名的时间戳
nonceStr: ret.data.nonceStr, // 必填,生成签名的随机串
signature: ret.data.signature, // 必填,签名
jsApiList: ['onMenuShareAppMessage','onMenuShareTimeline'] // 必填,需要使用的JS接口列表
});
jssdk.ready(function(res) {
let link = location.href.split('#')[0];
let shareInfo = uni.getStorageSync('shareInfo');
jssdk.onMenuShareAppMessage({
title: shareInfo.title, // 分享标题
desc: shareInfo.desc, // 分享描述
link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: shareInfo.cover[0], // 分享图标
type: 'link', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function() {
// 用户点击了分享后执行的回调函数
}
});
jssdk.onMenuShareTimeline({
title: shareInfo.title, // 分享标题
link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: shareInfo.cover[0], // 分享图标
success: function () {
// 用户点击了分享后执行的回调函数
}
});
// jssdk.updateAppMessageShareData({
// title: shareInfo.title, // 分享标题
// desc: shareInfo.desc, // 分享描述
// link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
// imgUrl: shareInfo.cover[0], // 分享图标
// success: function() {
// // 设置成功
// }
// })
})
jssdk.error(function(err) {
console.log(err);
uni.showToast({
title: '亲,分享初始化失败了~',
icon: 'none'
});
})
}
});
},