share.js 3.36 KB
//初始化config信息
import httpServer from '../utils/jsonp';
import wx from "weixin-js-sdk";

const _weChatInterface = '//action.yoho.cn/api/share/getSignPackage';//签名等相关配置,yoho公众号
export default {

    wxSignature: fun => {
        httpServer(_weChatInterface + "?pageurl=" + encodeURIComponent(location.href.split('#')[0])).then((json) => {
            if (!json.appId) {
                document.getElementById('share').innerText = 'false';
                return false;
            } else {
                document.getElementById('share').innerText = 'true';
                let _appId = json.appId.toString();
                let _timestamp = json.timestamp;
                let _nonceStr = json.nonceStr.toString();
                let _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;
            }
        })
    },

    wxShare: shareDate => {
        document.getElementById('share').innerText = 'wxShare';

        let share_data = shareDate || {
            title: '',
            imgUrl: '',
            desc: '',
            link: document.location.href,
            success: function () {
            }
        };
        wx.ready(function () {
            document.getElementById('share').innerText = JSON.stringify(share_data);
            // 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);
        });
    }
}