第一步:npm install jweixin-module --save
第二步:在main.js里或者具体的页面这样写
import jswx from 'jweixin-module/out/index.js'
let wx_config = “后台返回的config”
jswx.config(
{
debug:false,
appId:wx_config.appId, // 必填,公众号的唯一标识
timestamp:wx_config.timestamp , // 必填,生成签名的时间戳
nonceStr: wx_config.nonceStr, // 必填,生成签名的随机串
signature: wx_config.signature,// 必填,签名
jsApiList:wx_config.jsApiList // 必填,需要使用的JS接口列表
}
);
jswx.ready(()=>{
//分享给朋友
jswx.onMenuShareTimeline({
title: 'xxxx', // 分享标题
link: 'https://www.xxx.com', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: 'https:///www.xxx.com/icon.png', // 分享图标
success: function () {
// 用户点击了分享后执行的回调函数
},
});
//分享朋友圈
jswx.onMenuShareAppMessage({
title: 'xxxx', // 分享标题
desc: 'xxxx', // 分享描述
link: 'https://www.xxx.com', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: 'https:///www.xxx.com/icon.png', // 分享图标
success: function () {
uni.showToast({
title: '分享成功',
duration: 2000
});
}
});
})
//以上
亲测可用,再有问题就是后台的锅了,怼他们。。。。。还有一个,如果一切正常报:invalid Signature ,那有可能是后台需要获取你前端当前页面的href,否则一直会报这个错,你获取window.location.href给它,如果是tp5的话,应该是
$url = ‘当前链接(前端获取分享那页的链接:window.location.href,传过来这里)’//这步非常重要,官方文档都没有的
$string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url";
$signature = sha1($string);
生成签名的这个位置
最终效果