share.js 2.92 KB
//初始化config信息
var httpServer = require('../utils/jsonp');

var _weChatInterface = '//action.yoho.cn/api/share/getSignPackage';//签名等相关配置,yoho公众号
function wx() {
}

wx.prototype.wxSignature = function (fun) {
    httpServer(_weChatInterface + "?pageurl=" + encodeURIComponent(location.href.split('#')[0])).then(function (json) {
        if (!json.appId) {
            return false;
        } else {
            var _appId = json.appId.toString();
            var _timestamp = json.timestamp;
            var _nonceStr = json.nonceStr.toString();
            var _signature = json.signature.toString();
            wx.config({
                debug: false,
                appId: _appId,
                timestamp: _timestamp,
                nonceStr: _nonceStr,
                signature: _signature,
                jsApiList: [
                    'checkJsApi',
                    'onMenuShareTimeline',
                    'onMenuShareAppMessage',
                    'onMenuShareQQ',
                    'onMenuShareWeibo',
                    'hideMenuItems',
                    'showMenuItems',
                    'hideAllNonBaseMenuItem',
                    'showAllNonBaseMenuItem',
                    'translateVoice',
                    'startRecord',
                    'stopRecord',
                    'onVoiceRecordEnd',
                    'playVoice',
                    'pauseVoice',
                    'stopVoice',
                    'uploadVoice',
                    'onVoicePlayEnd',
                    'downloadVoice',
                    'chooseImage',
                    'previewImage',
                    'uploadImage',
                    'downloadImage',
                    'getNetworkType',
                    'openLocation',
                    'getLocation',
                    'hideOptionMenu',
                    'showOptionMenu',
                    'closeWindow',
                    'scanQRCode',
                    'chooseWXPay',
                    'openProductSpecificView',
                    'addCard',
                    'chooseCard',
                    'openCard'
                ]
            });
            fun && setTimeout(fun, 500);
            return true;
        }
    })
};

wx.prototype.wxShare = function (shareDate) {
    this.wxSignature(function () {
        var share_data = shareDate || {
            title: '',
            imgUrl: '',
            desc: '',
            link: document.location.href,
            success: function () {
            }
        };
        wx.ready(function () {
            // 2.1 “分享给朋友”
            wx.onMenuShareAppMessage(share_data);
            // 2.2 “分享到朋友圈”
            wx.onMenuShareTimeline(share_data);
            // 2.3 “分享到QQ”
            wx.onMenuShareQQ(share_data);
            // 2.4 “分享到微博”
            wx.onMenuShareWeibo(share_data);
        });
    })

}

module.exports = wx;