封装微信分享到朋友/朋友圈js

1 篇文章 0 订阅

只封装了微信分享到朋友和朋友圈:
在页面引入:

<script src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script src="/js/wxShare-1.1.0"></script>

然后在业务代码里调用:

wxShare.title='title';
wxShare.desc='desc';
wxShare.successCallback=function(){};
wxShare.ok();

tips:
微信每次更新分享话术都要重新调一次wx.onMenuShareAppMessage 或者wx.onMenuShareTimeline;
所以如果修改话术调用完封装的wxShare.title 等信息后,要再调一次wxShare.ok() 进行更新分享

/**
 * 微信分享给朋友/朋友圈
 * @wxShare  {object} 分享给朋友/朋友圈的参数和成功失败回调
 * wxShare.title.desc.url.imgUrl.successCallback.cancelCallback.ok()
 * @return {[type]} [description]
 */
$.get('/wxShare.action', { url: location.href.split('#')[0] }).done(function(res) {
    wx.config({
        debug: false,
        appId: res.appId,
        timestamp: res.timestamp,
        nonceStr: res.nonceStr,
        signature: res.signature,
        jsApiList: [
            'checkJsApi',
            'onMenuShareTimeline',
            'onMenuShareAppMessage',
            'onMenuShareQQ',
            'onMenuShareWeibo',
            'hideMenuItems',
            'showMenuItems',
            'hideAllNonBaseMenuItem',
            'showAllNonBaseMenuItem',
            'translateVoice',
            'startRecord',
            'stopRecord',
            'onRecordEnd',
            'playVoice',
            'pauseVoice',
            'stopVoice',
            'uploadVoice',
            'downloadVoice',
            'chooseImage',
            'previewImage',
            'uploadImage',
            'downloadImage',
            'getNetworkType',
            'openLocation',
            'getLocation',
            'hideOptionMenu',
            'showOptionMenu',
            'closeWindow',
            'scanQRCode',
            'chooseWXPay',
            'openProductSpecificView',
            'addCard',
            'chooseCard',
            'openCard'
        ]
    });
}).fail(function() { console.log('微信分享获取后台参数ajax失败!'); });

var wxShare = {
    ok: function() {
        var self = this;
        self.title = self.title || 'title';
        self.desc = self.desc || 'desc';
        self.link = self.link || location.href;
        self.imgUrl = self.imgUrl || location.protocol + '//' + location.host + '/logo.jpg';
        wx.ready(function() {
            wx.onMenuShareAppMessage({
                title: self.title,
                desc: self.desc,
                link: self.link,
                imgUrl: self.imgUrl,
                success: function() {
                    console.log('分享给朋友成功!');
                    if (typeof self.successCallback === 'function') {
                        self.successCallback();
                    }
                },
                cancel: function() {
                    console.log('分享给朋友失败!');
                    if (typeof self.cancelCallback === 'function') {
                        self.cancelCallback();
                    }
                }
            });
            wx.onMenuShareTimeline({
                title: self.title2 || self.title,
                desc: self.desc2 || self.desc,
                link: self.link2 || self.link,
                imgUrl: self.imgUrl2 || self.imgUrl,
                success: function() {
                    console.log('分享到朋友圈成功!');
                    if (typeof self.successCallback2 === 'function') {
                        self.successCallback2();
                    } else if (typeof self.successCallback === 'function') {
                        self.successCallback();
                    }
                },
                cancel: function() {
                    console.log('分享到朋友圈失败!');
                    if (typeof self.cancelCallback2 === 'function') {
                        self.cancelCallback2();
                    } else if (typeof self.cancelCallback === 'function') {
                        self.cancelCallback();
                    }
                }
            });
        });
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值