wx-share.js 2.78 KB
/* global wx */
/**
 * 微信分享
 * @author: xuqi<qi.xu@yoho.cn>
 * @date: 2015/10/30
 */


module.exports = function() {
    let $ = require('yoho-jquery');
    let _weChatInterface = '//m.yohobuy.com/activity/wechat/share';

    $.getJSON(_weChatInterface + '?url=' +
        encodeURIComponent(location.href.split('#')[0]) + '&callback=?', function(json) {
        let _appId, _timestamp, _nonceStr, _signature;


        if (typeof wx === 'undefined') {
            return;
        }

        if (typeof json !== 'undefined' && json !== '') {
            _appId = json.appId.toString();
            _timestamp = json.timestamp;
            _nonceStr = json.nonceStr.toString();
            _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',
                    'onRecordEnd',
                    'playVoice',
                    'pauseVoice',
                    'stopVoice',
                    'uploadVoice',
                    'downloadVoice',
                    'chooseImage',
                    'previewImage',
                    'uploadImage',
                    'downloadImage',
                    'getNetworkType',
                    'openLocation',
                    'getLocation',
                    'hideOptionMenu',
                    'showOptionMenu',
                    'closeWindow',
                    'scanQRCode',
                    'chooseWXPay',
                    'openProductSpecificView',
                    'addCard',
                    'chooseCard',
                    'openCard'
                ]
            });
        }
    });

    typeof wx !== 'undefined' && wx.ready(function() {
        let shareTitle = $('#shareTitle').val();
        let shareImg = $('#shareImg').val();
        let shareDesc = $('#shareDesc').val();
        let shareLink = $('#shareLink').val();
        let shareData = {
            title: shareTitle,
            desc: shareDesc,
            imgUrl: shareImg,
            link: shareLink
        };

        wx.onMenuShareAppMessage(shareData);
        wx.onMenuShareTimeline(shareData);
        wx.onMenuShareQQ(shareData);
        wx.onMenuShareWeibo(shareData);
    });
};