很久没做移动端活动了,想不少人都参与过微信里面的活动,既然活动就少不了分享。那我就行一个前端的角度说说如何实现微信分享的吧。

对应微信分享,现在已有公共接口,微信的开发者文档SDK:https://mp.weixin.qq.com/wiki/11/74ad127cc054f6b80759c40f77ec03db.html

首先要引用官方的jweixin-1.0.0.js,然后便可启用接口,下面就以分享到微信好友,朋友圈,QQ好友,QQ空间为例

 

var link = window.location.href.replace('weixin-share.html','');
            var shareData = {
                    imgUrl: link +"img/share.jpg",   // 分享图标
                    link:link + 'weixin-share.html?inviteCode='+localStorage.inviteCode,// 分享链接
                    desc: '流量告急不用慌,每邀1人送1次,疯狂邀请疯狂送,流量之王就是你!',// 分享描述
                    title: '邀请送,500M流量疯狂送!',// 分享标题
                    success: function () {
                        if(localStorage.lastname){
                            alert("分享成功");
                        }

                      },
                      cancel: function () {
                          // 用户取消分享后执行的回调函数
                      }
                };
            if (typeof wx != 'undefined') {
                wx.config({
                    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                    appId: 'wx4601e3fa5832f936', // 必填,公众号的唯一标识
                    timestamp:'1472778330' , // 必填,生成签名的时间戳
                    nonceStr: 'HZSMK123', // 必填,生成签名的随机串
                    signature: 'fb0a612086e3bb8c2fb6c462c8a45722fce8409b',// 必填,后台生成,与url有关签名,见附录1
                    jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage','hideMenuItems','onMenuShareQQ','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
                });
                wx.ready(function(){
                    // 分享到朋友圈
                    wx.onMenuShareTimeline(
                            shareData
                    );
                    // 分享给朋友
                    wx.onMenuShareAppMessage(
                            shareData
                    );
                    // 分享到QQ
                    wx.onMenuShareQQ(
                        shareData
                    );
                    // 分享到QQ空间
                    wx.onMenuShareQZone(
                        shareData
                    );
                    // 隐藏菜单项
                    wx.hideMenuItems({
                        menuList: [
                                   'menuItem:exposeArticle', //举报
                                   'menuItem:setFont',
                                   'menuItem:refresh',
                                   'menuItem:copyUrl', //复制链接
                                   'menuItem:originPage',
                                   'menuItem:readMode',
                                   'menuItem:openWithQQBrowser',
                                   'menuItem:openWithSafari',
                                   'menuItem:share:email'
                                   ] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3
                    });

                });
            }

 

 

 

说明一下appId必须是对外有效的公众号唯一id,signature必须后台生成传给前端,此时项目代码的分享功能只有放在制定(与微信绑定的)的二级域名下才可以起效

 

posted on 2016-09-30 15:39  小海豚Dolphins  阅读(2688)  评论(0编辑  收藏  举报