微信分享功能
问题:使用如下代码进行h5微信分享功能,在微信中打开h5链接,点击右上角三个点进行分享,分享出去没有图标显示
在手机浏览器打开后进行 分享也是失败,请问这是什么原因呢
目前只能是从微信公众号打开h5链接 可以正常分享,这里是有什么限制吗,请问有对应官方文档没?
sdk版本 "weixin-js-sdk": "^1.6.5" 代码如下
import wx from 'weixin-js-sdk';
import {desc,shareImg,corpId} from './setupConfig';
export default (data,wxObj) => {
let url=window.location.href.split('#')[0];
let obj = {
title: data.title || document.title,
desc: data.desc || desc,
link: url,
imgUrl: data.imgUrl || shareImg,
}
const ua = window.navigator.userAgent.toLowerCase();
if (ua.indexOf('micromessenger') < 0) return false
let {appid,timestamp,nonceStr,signature}=wxObj;
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: appid, // 必填,公众号的唯一标识
timestamp: timestamp, // 必填,生成签名的时间戳
nonceStr: nonceStr, // 必填,生成签名的随机串
signature: signature,// 必填,签名,见附录1
jsApiList: [
'onMenuShareAppMessage',
'onMenuShareTimeline',
'onMenuShareQQ'
] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
wx.ready(() => {
//分享给朋友
let shareLink = window.location.href;
shareLink = shareLink.replace('/#/', '/?#/');
wx.onMenuShareAppMessage({
title: obj.title, // 分享标题
desc: obj.desc, // 分享描述
link: shareLink, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: obj.imgUrl, // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// alert(JSON.stringify(data))
// 用户确认分享后执行的回调函数
}
})
//分享到朋友圈
wx.onMenuShareTimeline({
title: obj.title, // 分享标题
link: shareLink, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: obj.imgUrl, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
})
wx.onMenuShareQQ({
title: obj.title, // 分享标题
desc: obj.desc, // 分享描述
link:shareLink, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: obj.imgUrl, // 分享图标
success: function () {
// 设置成功
}
})
})
}