zoukankan      html  css  js  c++  java
  • H5页面在微信端的分享(分享到朋友圈,好友)

    一、获取基本信息

    找到已有公众号的appid,根据这个appid和url向后端发起请求,拿到配置所需要的参数:timestamp、noncestr和signature。

    二、实现

    1、页面引入JS-SDK文件

    通过script标签,引入微信官网的JS-SDK文件

    <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js" type="text/javascript"></script>

    2、基本配置

    wx.config({
      debug:false,// 是否开启调试模式
      appId:appid,//appid
      timestamp:timestamp,// 时间戳
      nonceStr:noncestr,// 随机字符串
      signature:signature,// 签名
      jsApiList:[
        'onMenuShareTimeline',   
        'onMenuShareAppMessage',   
        'onMenuShareQQ', 
        'onMenuShareWeibo',
            'onMenuShareQZone'
          ]// 需要使用的JS接口列表
        })

    3、使用

    wx.ready(function(){
      // 分享给好友
      wx.onMenuShareAppMessage({
        title:title,// 分享标题
        desc:desc,// 分享描述
        link:link,// 分享链接
        imgUrl:imgUrl,// 分享图标
        success: function(){
          doShareDone()
        },
        cancel:function(){
          doShareCancel()
        }
      })
    // 分享到朋友圈
      wx.onMenuShareTimeline({
        title:title,// 分享标题
        link:link,// 分享链接
        imgUrl:imgUrl,// 分享图标
        success:function(){
          doShareDone()
        },
        cancel:function(){
          doShareCancel()
        }
      })
    })
    // 分享成功回调
    function doShareDone(){
      console.log('分享成功')
    }
    // 取消分享回调
    function doShareCancel(){
      console.log('取消了分享')
    }

    三、调试

    wx.config里的debug字段设置为true时,就可以进行调试。

    调试要用到微信开发者工具,选择公众号网页项目,输入页面地址就可以了。

    四、遇到的问题及解决方案

    微信JS-SDK说明文档的附录5里有大部分问题的解决方案,在这里我列出我遇到的几个上面没有给出解决方案的。

    1、Uncaught TypeError: Cannot read property 'config' of undefined

    解决:html页面单独引入了sdk,并且组件统一也引入了一遍sdk,导致问题,删除其中之一。

    2、Uncaught (in promise) TypeError: Cannot read property 'ready' of undefined

    解决:同问题1。

    3、invalid signature

    解决:如果文档里的方法都没有解决这个问题,还有一种方法,先设置一种最基础的配置,使其config ok,然后再设置一遍自己需要的有各种参数的分享文案,这样能绕过配置,成功分享。说的可能有点拗口,简单点理解就是,页面只要有一个config成功的配置,就可以再继续配置其它分享,哪怕这个分享配置的signature无效。

    与尘埃中开出花朵。
  • 相关阅读:
    windows下phpunit installing[转]
    一个简单的文件后缀获取——不是通过文件名,而是文件内容
    二进制加法
    收藏一个韩国棒子的未知高度居中方法
    带超时+POST/GET方式的获取远程文件,利用file_get_contents
    较深度地递归转义过滤
    利用单元测试在每个层上对 PHP 代码进行检查[转IBM]
    提取TP的一个格式化为json的针对的原始类型函数
    分享一个正则方式的UTF8/GBK中文切割
    NewBaldwinFlash的登场(稍简单的DNN模块)
  • 原文地址:https://www.cnblogs.com/congfeicong/p/9578681.html
Copyright © 2011-2022 走看看