企业微信(h5页面嵌入企业微信)的分享总结

config和agentConfig的区别

  • 所有的接口都需要config的注入权限,部分接口需要config和agentConfig的注入权限

agentConfig - 出现的问题

1 errMsg:“agentConfig:invalid corpId more info athttps://open.work.weixin.qq.com/devtool/query?e=40013”

  • 解决:第三方公司配置的公司corpId和提供的企业微信corpId保持一致

2 errMsg:“agentConfig:invalid signature more info at https://open.work.weixin.qq.com/devtool/query?e=40093”

  • 解决:获取配置传的url必须是当前页面的地址

3 errMsg:“agentConfig:not match any reliable domain. more info at https://open.work.weixin.qq.com/devtool/query?e=80001”

  • 解决:需要第三方配置或后台返回时设置可信域名,并下载对应的.txt文件,然后让后台把.txt文件放到当前页面对应的域名下做根域名校验

4 agentConfig 成功 但是分享的标题,内容,图片还是不生效

  • 解决:使用config进行配置

config - 出现的问题

1 {errCode:2,err_info:“invalid signature more info at https://open.work.weixin.qq.com/devtool/query?e=40093”,errMsg}

  • 解决:第三方配置或后台返回时,应注意config的签名,随机字符串,时间戳和agentConfig的都不一样。config应使用自己的
<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script>
  function shareWxa () {
     
    // 配置的东西都是后台返的
    // 注意本地没法测分享,必须经过部署进行测试
    wx.config({
     
      beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
      // debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
      appId: '', // 必填,企业微信的corpID
      timestamp: '', // 必填,生成签名的时间戳
      nonceStr: '', // 必填,生成签名的随机串
      signature: '',// 必填,签名,见 附录-JS-SDK使用权限签名算法
      jsApiList: ['onMenuShareWechat','onMenuShareAppMessage','onMenuShareTimeline'] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
    });
    // wx.hideMenuItems({
     
    //     menuList: [
    //       "menuItem:setFont",
    //       "menuItem:refresh",
    //       "menuItem:share:appMessage",
    //       "menuItem:copyUrl",
    //       "menuItem:openWithSafari",
    //       "menuItem:share:email"
    //     ] // 要隐藏的菜单项
    // });
      // wx.agentConfig({
     
      //   corpid: '', // 必填,企业微信的corpid,必须与当前登录的企业一致
      //   agentid: '', // 必填,企业微信的应用id (e.g. 1000247)
      //   timestamp: '', // 必填,生成签名的时间戳
      //   nonceStr: '', // 必填,生成签名的随机串
      //   signature: '',// 必填,签名,见附录-JS-SDK使用权限签名算法
      //   jsApiList: ['onMenuShareWechat'], //必填
      //   success: function(res) {
     
      //       alert(JSON.stringify(res))
      //       // 回调
      //       console.log(res,'success')
      //   },
      //   fail: function(res) {
     
      //     alert(JSON.stringify(res))
      //     console.log(res,'fail')
      //       if(res.errMsg.indexOf('function not exist') > -1){
     
      //           alert('版本过低请升级')
      //       }
      //   }
      // })
      let that = this
      var shareInfo = {
     
        title: '我是标题',
        desc: '我是内容',
        link: 'https://www.baidu.com',
        image: 'https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E5%88%86%E4%BA%AB%E5%9B%BE%E6%A0%87&step_word=&hs=2&pn=35&spn=0&di=20930&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=3596508898%2C2415336671&os=1402785183%2C3328036340&simid=0%2C0&adpicid=0&lpn=0&ln=644&fr=&fmq=1594955634905_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=200&height=200&face=undefined&ist=&jit=&cg=&bdtype=11&oriquery=&objurl=http%3A%2F%2Fimage.uc.cn%2Fo%2Fwemedia%2Fs%2Fupload%2F2020%2F4bVgH21e9kgefcn%2Fe7caa89a79a8ad97955c799e77afa952.png%3B%2C3%2Cjpegx%3B3%2C310x&fromurl=ippr_z2C%24qAzdH3FAzdH3Fe_z%26e3By57h7_z%26e3Bv54AzdH3Fe_fi5oAzdH3Ft1_XNDvoM3YdMThyMA%3D%3D_z%26e3Bip4s&gsm=27&rpstart=0&rpnum=0&islist=&querylist=&force=undefined'
      }
      wx.ready(function () {
     
        // 分享给微信好友
        wx.onMenuShareWechat({
     
          title: shareInfo.title, // 分享标题
          desc: shareInfo.desc, // 分享描述
          link: that.shareDesc.url, // 分享链接
          imgUrl: shareInfo.image, // 分享图标
          success: function () {
     
          },
          cancel: function () {
     
          }
        });
        // 获取“转发”按钮点击状态及自定义分享内容接口
        wx.onMenuShareAppMessage({
     
          title: shareInfo.title, // 分享标题
          desc: shareInfo.desc, // 分享描述
          link: that.shareDesc.url, // 分享链接;在微信上分享时,该链接的域名必须与企业某个应用的可信域名一致
          imgUrl: shareInfo.image, // 分享图标
          success: function () {
     
          },
          cancel: function () {
     
          }
        })
        // 分享到微信朋友圈
        wx.onMenuShareTimeline({
     
          title: shareInfo.title, // 分享标题
          link: that.shareDesc.url, // 分享链接;在微信上分享时,该链接的域名必须与企业某个应用的可信域名一致
          imgUrl: shareInfo.image, // 分享图标
          success: function () {
     
          },
          cancel: function () {
     
          }
        })
      })
      wx.error(function(res){
     
        // console.log(res,'res')
      })
  }
</script>

你可能感兴趣的:(javascript)