收藏
回答

vue中 调用weixin-js-sdk 分享失败?

微信分享功能

问题:使用如下代码进行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 () {
        // 设置成功
      }
    })
  })
}
回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容