前端微信分享功能

826 阅读1分钟

这是多年前的做前段时候写的微信分享功能

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <span class="yxk_user"></span>
        <span class="hunahang">内容</span>
    </body>
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    <!-- 分享 -->
    <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
    <script type="text/javascript">
        // 名字中间加省略号的解决方法
        nameStar();
        function nameStar(){
            $('.yxk_user').each(function(index,item){
                var name = $(item).text().replace(/(.{1}).*(.{1})/,"$1**$2");
                $(item).text(name)
            })
        }
        // 换行显示
        hunahang($('.hunahang'));
        function hunahang(val){
            var text = val;
            text.each(function(index,item){
                if($(item).text().indexOf("<br/>")){
                    $(item).html($(item).text().replace(/\n|\r|(\r\n)|(\u0085)|(\u2028)|(\u2029)/g, '<br/>'));
                }
            })

        }

        // ajax请求回来数据 额外的添加方法
        html = '<div class="comment_li clearfix">' +
                '<div class="comment_li_avatar">' +
                '<a href="" style="background-image: url('+count[j].avatar+');"></a>' +
                '<div>'+count[j].username+'</div>'+
                '</div>'+
                '<div>' +
                '<div class="comment_li_content clearfix">'+
                '<div class="li_content_stars clearfix">'+
                star_loop(count[j].mark)+
                '</div>'+
                '<div class="li_content_comment">'+count[j].content+'</div>'+
                lunbos(count[j].img)+
                '<div class="li_content_date">'+count[j].created_at+'<span>来自<a href="" target="_blank">游侠客APP</a></span></div>'+
                '<div class="pingjia">'+
                '<p>'+'<em class="">游小侠 回复:</em>'+count[j].reply.content+'</p>'+
                '<p>'+count[j].reply.created_at+'</p>'+
                '</div>'+
                '</div>'+
                '</div>';


                //循环星星
                function star_loop(num) {
                    var html_star = "";
                    for(var j=0;j<num;j++){
                        html_star += '<div class="star"></div>';
                    }
                    for(var j=0;j<(5-num);j++){
                        html_star += '<div class="stardark"></div>';
                    }
                    return html_star;
                }

                // 轮播
                function lunbos(imgs){
                    var lunbohtml = '';
                    if(!imgs){
                        return lunbohtml;
                    }
                    lunbohtml = '<div class="lunbo">'+
                        '<ul class="zy_uls clearfix">'+
                        loop_img(imgs)+
                        '</ul>'+
                        '<div class="cy_banner">'+
                        '<ul class="cy_lus clearfix">'+
                        '<div class="cy_imgs">'+
                        loop_img(imgs)+
                        '</div>'+
                        '</ul>'+
                        '<strong class="bt1"></strong>'+
                        ' <strong class="bt2"></strong>'+
                        ' </div>'+
                        ' </div>';
                    return lunbohtml;
                }
                //   轮播
                function loop_img(num) {
                    var html_star = "";
                    for(var m=0;m<num.length;m++){
                        html_star += '<li><img src="'+num[m]+'"></li>';
                    }
                    return html_star;
                }

                // 去掉重复内容
                var arrss = [];//数组
                var imgs = '';//单个数据
                function indexOf(val){
                    for(var i = 0; i < arrss.length; i++){
                        if(arrss[i] == val){
                            return i;
                        }
                    }
                }
                function remove(val){
                    var index = indexOf(val);
                    if(index > -1){
                        arrss.splice(index,1);
                    }
                }
                remove(imgs)

                // 微信分享功能
                 window.title = '{{$appshare['share_title'] or ''}}';
                window.desc = '{{$appshare['share_desc'] or ''}}';
                window.url = '{{route('zt.special',['chuntian'])}}';
                window.imgUrl = '{{asset('assets/src/images/zhuanti/chuntian/share.jpg')}}';

                wx.config({!! $wx_config !!});

                wx.ready(function () {

                    // 获取“分享到朋友圈”按钮点击状态及自定义分享内容接口
                    wx.onMenuShareTimeline({
                        title: window.title, // 分享标题
                        link: window.url,
                        imgUrl: window.imgUrl, // 分享图标
                        type: window.shareType?window.shareType:'link',
                        dataUrl: window.url,
                        success: function () {
                            // 用户确认分享后执行的回调函数
                        },
                        cancel: function () {
                            // 用户取消分享后执行的回调函数
                        }
                    });
                    // 获取“分享给朋友”按钮点击状态及自定义分享内容接口
                    wx.onMenuShareAppMessage({
                        title: window.title, // 分享标题
                        desc: window.desc, // 分享描述
                        link: window.url,
                        imgUrl: window.imgUrl, // 分享图标
                        type: window.shareType?window.shareType:'link', // 分享类型,music、video或link,不填默认为link
                        dataUrl: window.url,
                        success: function () {
                            // 用户确认分享后执行的回调函数
                        },
                        cancel: function () {
                            // 用户取消分享后执行的回调函数
                        }
                    });
                });

    </script>
</html>