• 前端微信分享


    这里只谈HTML界面的微信分享。安卓和IOS均有对应的API包。

    HTML界面的分享,是2015元旦期间微信删掉了老的  WeixinJSBridge 方式(原因是微信无法管理它),

    推出了需要鉴权、并和公众号绑定的JS JDK。 

    默认分享

      特征  

        无需引用JDK。微信自动读取网页标题、网页第一张图片、location.href 三元素作为分享内容。

          步骤

    <head>
        <!--1,设置标题-->
        <title>这是我设的微信默认分享</title>
    </head>
    <body>
        <!--2, 设置图片-->
        <img src=http://image5.suning.cn/b2c/catentries/000000000124346362_1_400x400.jpg width='0' height='0' />
    </body> 

          测试

        测试页面

        

        可以在PC端打开看到源码

          注意点

        微信读不到图片的情况分以下几种 

          1  图片<= 300PX*300PX,微信可能读不到图

                      2  图片 style不能设置Display:none

                      3  图片尽量放到body下第一个元素

                

    自定义分享

         特征

          引入微信JS JDK,通过微信鉴权,注入自定义标题、内容、图片,链接分享

            步骤

        1  设置JS安全域名   登录公众号--公众号设置--功能设置

               

                  2  引入微信JS JDK  <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"> </script>

                  3   配置微信鉴权消息

                         

    <!--请求后台,生成鉴权消息。后台需要做缓存。2小时内从缓存里读。原因是鉴权信息里的签名两小时后失效,需重新生成。-->
    <!--后台如何生成鉴权消息?  以java为例,前端提供URL地址,后台进行sha1加密。然后将鉴权消息返回前端。-->
    <!--然后前端配置鉴权消息-->
    <!--前端代码-->
    <script>
        $.ajax({
            url: 'XXXX.do',
            data:{
                shareUrl:encodeURI(location.href)
            },
            success:function(data){
                wx.config({
                    debug: false,
                    appId: Const.APP_ID,
                    timestamp: data.timestamp,
                    nonceStr: data.nonceStr,
                    signature: data.signature,
                    jsApiList: [
                        'onMenuShareTimeline',
                        'onMenuShareAppMessage',
                        'hideMenuItems',
                        'showMenuItems'
                    ]
                });
            },
            error:function(data){
                console.error('req '+ Const.CHECK_WECHAT + " error "+data);
            }
        });
    </script>      

             4  注入分享   

    var shareConfig = {
                    "imgUrl":  config.shareIcon || Const.SHARE_IMG,
                    "link": config.url || location.href,
                    "desc": config.shareContent || Const.SHARE_DESC,
                    "title": config.title || Const.SHARE_TITLE
                };
    
                wx.ready(function () {
                    wx.checkJsApi({
                        jsApiList: [
                            'onMenuShareTimeline',
                            'onMenuShareAppMessage',
                            'hideMenuItems',
                            'showMenuItems'
                        ],
                        success: function (res) {
                        }
                    });
                    wx.onMenuShareAppMessage(shareConfig);
                    wx.onMenuShareTimeline(shareConfig);
    
                });

      测试

        微信JDK 步骤的详细说明文档  http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html

                实际运用  

                        

            注意点

                  1  若分享不对,开启微信的debug模式,观察弹出的异常信息,去http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html此页面查找异常原因

                    debug模式开启

    wx.config({
                    debug: true //设为true开启debug,上线时设为false
      ...
  • 相关阅读:
    安装apache服务
    基于mysqld_multi实现MySQL 5.7.24多实例多进程配置
    linux安装lolcat实现彩色文字输出信息
    haproxy+keepalived实现高可用
    LVS DR模拟实验
    nginx+keepalived实现高可用
    cpu相关信息查看
    LVS集群
    session之memcache
    tomcat之redis
  • 原文地址:https://www.cnblogs.com/mominger/p/4326539.html
Copyright © 2020-2023  润新知