微信分享

176 阅读1分钟

微信分享笔记

    let timestamp=new Date().getTime();//生成签名的时间戳
      let nonceStr=this.generateMixed();
      let signature=''
  //获取token的接口(后端请求返给前端)
      execute(
        'data',
        `query{
          wechatPublicToken
        }`
      ).then((res) => {
        let wechatPublicToken=res.wechatPublicToken;
     //获取ticket的接口(后端请求返给前端)        
      execute(
          'data',
          `query{
            wechatTicket(accessToken:"${wechatPublicToken}"){
              errmsg
              errcode
              ticket
              expiresIn
            }
          }`
        ).then((res)=>{
         let jsapi_ticket=res.wechatTicket.ticket;
          let string1=`jsapi_ticket=${jsapi_ticket}&noncestr=${nonceStr}&timestamp=${timestamp}&url=http://zhidao.dev.gzxiaoxin.cn/pages/sendFriends/index`;
            signature=sha1(string1);
           wx.config({
                debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                appId: '', // 必填,公众号的唯一标识
                timestamp:timestamp, // 必填,生成签名的时间戳
                nonceStr: nonceStr, // 必填,生成签名的随机串
                signature: signature, // 必填,签名,见附录1
                jsApiList: ["onMenuShareTimeline", "updateAppMessageShareData","onMenuShareAppMessage", "onMenuShareQQ", "onMenuShareQZone", "hideMenuItems"] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
             }); 
        })

      })
    }

  hasshareWeChatPeople=()=>{
    wx.ready(function(){
     //检查有没有对应api的方法
      wx.checkJsApi({
        jsApiList: ['updateAppMessageShareData'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
        success: function(res) {
        // 以键值对的形式返回,可用的api值true,不可用为false
        // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
        }
      });
      //分享
      wx.updateAppMessageShareData({ 
        title: '', // 分享标题
        desc: '', // 分享描述
        link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
        imgUrl: '', // 分享图标
        success: function () {
          // 设置成功
          alert('分享成功')
        }
      })

报错问题 
the permission value is offline verifying

解决方案

如果还是不行,检查一下页面是否在微信公众号里面打开的,需要配置在公众号中才能正确执行