zoukankan      html  css  js  c++  java
  • 微信分享代码封装

    wxShare.js

    (function(){
        var wxShare = function(opts){
            var defaults = {
                getWxConfigUrl: '',         // 获取微信接口权限url
                orDebug: false,             // 是否开启调试模式
                title: '',                  // 分享标题
                desc: '',                   // 分享描述
                wxUrl: '',                  // 参与签名的url
                link: '',                   // 分享链接
                imgUrl: '',                 // 分享图标
                success: function(){},      // 用户确认分享后执行的回调函数
                cancel: function(){}        // 用户取消分享后执行的回调函数
            };
    
            var _opts = $.extend(defaults, opts);
    
            // 获取微信权限
            $.ajax({
                url: _opts['getWxConfigUrl'],
                type: 'POST',
                dataType: 'json',
                data: {share_url: _opts['wxUrl']},
            })
            .done(function(res) {
                if(typeof res == 'object'){
                    // 通过config接口注入权限验证配置
                    wx.config({
                        // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                        debug: _opts['orDebug'],
                        // 必填,公众号的唯一标识
                        appId: res.appId,
                        // 必填,生成签名的时间戳
                        timestamp: res.timestamp,
                        // 必填,生成签名的随机串
                        nonceStr: res.nonceStr,
                        // 必填,签名,见附录1
                        signature: res.signature,
                        // 必填,需要使用的JS接口列表
                        jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ']
                    });
                    // 处理config验证成功或失败
                    _wxReady(res.url);
                }else{
                    console.log('获取微信接口权限失败!');
                }
            })
            .fail(function() {
                console.log("获取微信接口权限失败!");
            });
    
            // 处理config验证成功或失败
            var _wxReady = function(urls){
                // wxConfig验证成功处理
                wx.ready(function(){
    
                    // 分享到朋友圈
                    wx.onMenuShareTimeline({
                        title: _opts['title'],
                        link: _opts['link'],
                        imgUrl: _opts['imgUrl'],
                        success: _opts['success'],
                        cancel: _opts['cancel']
                    });
    
                    // 分享给朋友
                    wx.onMenuShareAppMessage({
                        title: _opts['title'],
                        desc: _opts['desc'],
                        link: _opts['link'],
                        imgUrl: _opts['imgUrl'],
                        // type: '', // 分享类型,music、video或link,不填默认为link
                        // dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
                        success: _opts['success'],
                        cancel: _opts['cancel']
                    });
    
                    // 分享到QQ
                    wx.onMenuShareQQ({
                        title: _opts['title'],
                        desc: _opts['desc'],
                        link: _opts['link'],
                        imgUrl: _opts['imgUrl'],
                        success: _opts['success'],
                        cancel: _opts['cancel']
                    });
                });
    
                // wxConfig验证失败返回函数
                wx.error(function(res){
                    console.log(res,'wxConfig验证失败')
                });
            };
        };
    
        window.wxShare = wxShare;
    
    })();

    调用:

    //判断是否微信内置浏览器
    if(ua.match(/MicroMessenger/i) == 'micromessenger'){
            // 微信分享
            new wxShare({
                getWxConfigUrl: "../advice/getWxConfig",
                title: '送你68元红包,助攻你的618',
                desc: '会员神券日,来抢61.8元无门槛!',
                wxUrl: thisUrl,
                link: thisUrl,
                // imgUrl: "../js/sales/activity618/images/20190606154315.png",
                imgUrl:"http://www.800pharm.com/shop/js/sales/activity618/images/20190606154315.png",
                success:function(){
                    console.log("分享成功");
                },
                cancel:function(){
                    console.log("分享失败");
                }
            });
        }

    完整代码解释 请移步  https://github.com/lianglixiong/wechat.js

  • 相关阅读:
    Postman安装出错.NET Framework 4.5 failed to install
    给小白的资源
    windows update自启动解决方法
    Fragment简介及使用
    samba修复
    我的Android知识结构图——20200507停止更新,后续通过标签或分类继续完善结构图
    Android_适配器(adapter)之BaseAdapter
    Android_适配器(adapter)之SimpleAdapter
    Android_适配器(adapter)之ArrayAdapter
    Linux部分场景非常有用的命令集1_chattr&ldd&xargs&screen&ssh&磁盘&du
  • 原文地址:https://www.cnblogs.com/LLX8/p/11004862.html
Copyright © 2011-2022 走看看