手机端微信分享功能

移动端分享功能,市面上常用的分享功能有很多,但是大多都存在兼容性问题,个人更倾向于微信分享功能(好多都是通过微信访问的)

 

 

 

 

 

 

 

 

 

 

//  必须引入的js  
/* <script src="../js/jweixin-1.0.0.js"></script>
<script src="../js/NativeShare.js"></script> */
$(function() {
    var timestamp;
    var nonceStr;
    var signature;
    var desc = $('meta[name="description"]').attr('content');
    var title = $(document).attr('title');
    var imgUrl = 'http://m.lusenky.com/img/icon.png'
    var url = window.location.href
    $.ajax({
        url: formal + '/wx/share',
        type: "post",
        contentType: "application/json",
        async: false,
        dataType: "json",
        data: JSON.stringify({
            "url": url,
        }),
        success: function(res) {
            if (res.code == 0) {
                timestamp = res.data.timestamp
                nonceStr = res.data.noncestr
                signature = res.data.signature
            }

        }
    })

    var nativeShare = new NativeShare()
    var shareData = {
        title: title, // 分享标题
        desc: desc, // 分享描述
        // 如果是微信该link的域名必须要在微信后台配置的安全域名之内的。
        link: url, // 分享链接
        icon: 'http://m.lusenky.com/img/icon.png', // 分享图标

        // 不要过于依赖以下两个回调,很多浏览器是不支持的
        success: function() {
            alert('success')
        },
        fail: function() {
            alert('fail')
        }
    }
    nativeShare.setShareData(shareData)

    function call(command) {
        try {
            nativeShare.call(command)
        } catch (err) {
            // 如果不支持,你可以在这里做降级处理
            alert(err.message)
        }
    }

    function setTitle(title) {
        nativeShare.setShareData({
            title: title,
        })
    }
    // 是否为微信打开
    function isWeiXin() {
        var ua = window.navigator.userAgent.toLowerCase();
        if (ua.match(/MicroMessenger/i) == 'micromessenger' || ua.match(/_SQ_/i) == '_sq_') {
            return true;
        } else {
            return false;
        }
    }
    var imgsurl = 'http://www.lusenky.com/img/buss/smf.png'
    var wei = isWeiXin()
    if (imgsurl.indexOf("http") > -1) {
        imgsurl = imgsurl;
    } else {
        imgsurl = formImg + imgsurl;
    }
    wx.config({
        debug: false,
        appId: 'wxb8a42c451d3f1793',
        timestamp: timestamp,
        nonceStr: nonceStr,
        signature: signature,
        jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'startRecord', 'stopRecord', 'onVoiceRecordEnd', 'playVoice', 'pauseVoice', 'stopVoice', 'onVoicePlayEnd', 'uploadVoice', 'downloadVoice', 'chooseImage', 'previewImage', 'uploadImage', 'downloadImage', 'translateVoice', 'getNetworkType', 'openLocation', 'getLocation', 'hideOptionMenu', 'showOptionMenu', 'hideMenuItems', 'showMenuItems', 'hideAllNonBaseMenuItem', 'showAllNonBaseMenuItem', 'closeWindow', 'scanQRCode', 'chooseWXPay', 'openProductSpecificView', 'addCard', 'chooseCard', 'openCard']
    });

    wx.ready(function() {
        wx.onMenuShareTimeline({
            title: title, // 分享标题
            desc: desc, // 分享描述
            // 如果是微信该link的域名必须要在微信后台配置的安全域名之内的。
            link: url, // 分享链接
            imgUrl: imgUrl, // 分享图标
            type: '', // 分享类型,music、video或link,不填默认为link
            dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
            success: function() {},
            cancel: function() {

            }
        });

        wx.onMenuShareAppMessage({
            title: title, // 分享标题
            desc: desc, // 分享描述
            // 如果是微信该link的域名必须要在微信后台配置的安全域名之内的。
            link: url, // 分享链接
            imgUrl: imgUrl, // 分享图标
            type: '', // 分享类型,music、video或link,不填默认为link
            dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
            success: function() {

            },
            cancel: function() {
                alert('分享失败');
            }
        });

    })
})
 
 
 
 
那两个js 就简单提供下路径吧   需要用到的自己去拷贝下   网上应该也能搜到
http://m.lusenky.com/js/NativeShare.js
http://m.lusenky.com/js/jweixin-1.0.0.js
posted @ 2021-09-26 10:42  吃饭睡觉,打豆豆  阅读(535)  评论(0编辑  收藏  举报