// 微信jsSDK方法

const wx = window['wx'];
import api from "@/api/api.js";
import Vue from 'vue';
import {
    Toast
} from 'vant';


Vue.use(Toast);

/**
 * 分享
 *  @param {object} dataObj 微信签名参数
 *  @param {number} type 分享文案种类 0,1,2
 *  @param {function} callback 默认好友助力分享功能
 */
function wxConfig(dataObj, type, callback) {
    let {
        appId,
        nonceStr,
        signature,
        timestamp
    } = dataObj;

    wx.config({
        debug: false, // 开启调试模式
        appId: appId, // 必填，公众号的唯一标识
        timestamp: timestamp, // 必填，生成签名的时间戳
        nonceStr: nonceStr, // 必填，生成签名的随机串
        signature: signature, // 必填，签名，见附录1
        jsApiList: [
            "onMenuShareTimeline", //朋友圈
            "onMenuShareAppMessage", //朋友
            "hideMenuItems", //隐藏功能按钮
            "getLocation", //获取地理位置
            "openLocation", //打开内置地图
            "getNetworkType", //返回网络类型2g，3g，4g，wifi
        ] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
    });

    wx.ready(function () {
        callback && callback(type);
    });

    wx.error(function (res) {
        // Toast('请刷新页面重试')
        console.log(res);
    })
}

// 分享功能
function callbackShare(type) {

    // 分享提示文案
    let activityObj = {
        0: {
            title: '👉快帮我加速，抢湘雅专家1诊名额',
            desc: '我正在参加亮健优医推出的湘雅专家1诊活动名额抢夺，快帮帮我吧！'
        },
        1: {
            title: '👉拜托拜托，帮我增加一点幸运值吧',
            desc: '我正在参加亮健优医推出的湘雅专家1诊活动名额抢夺，快帮帮我吧！'
        },
        2: {
            title: '👉很多人都帮我加速了，就差你啦',
            desc: '我正在参加亮健优医的专家1诊活动名额抢夺，幸运值越高免费看专家机会越大哟！'
        }
    }


    var title = activityObj[type]['title'];

    var desc = activityObj[type]['desc'];

    var imgUrl = 'https://image.360lj.com/img/UEwelfare.png';
    var url = location.href.replace(/index.html#\//, '').split('&')[0];

    //分享到朋友圈
    wx.onMenuShareTimeline({
        title: title, // 分享标题
        link: process.env.VUE_APP_Url + "/api/Home/Login2?backurl=" + url + '%26type=' + type, // 分享链接
        imgUrl: imgUrl, // 分享图标
        success: function () {
            // 用户确认分享后执行的回调函数
            location.reload();
        },
        cancel: function () {
            // 用户取消分享后执行的回调函数
        }
    });

    //分享给朋友
    wx.onMenuShareAppMessage({
        title: title, // 分享标题
        desc: desc, // 分享描述
        link: process.env.VUE_APP_Url + "/api/Home/Login2?backurl=" + url + '%26type=' + type, // 分享链接
        imgUrl: imgUrl, // 分享图标
        type: "link", // 分享类型,music、video或link，不填默认为link
        dataUrl: "", // 如果type是music或video，则要提供数据链接，默认为空
        success: function () {
            // 用户确认分享后执行的回调函数
            location.reload();
        },
        cancel: function () {
            // 用户取消分享后执行的回调函数
        }
    });

    // 隐藏功能按钮
    wx.hideMenuItems({
        menuList: ["menuItem:share:qq", "menuItem:share:weiboApp", "menuItem:favorite", "menuItem:share:facebook", "menuItem:share:QZone"]
    })
}



/**
 * 好友助力分享
 *  @param {number} type 标题种类 0,1
 */
export function share(type) {
    api.GetSing().then(({
        data
    }) => {
        if (data.IsSuccess) {
            wxConfig(data.ResultObject, type, callbackShare);
        } else {
            // 失败
            Toast(data.ResultMsg);
        }
    })
}



/**
 * 通用微信js方法
 *  @param {function} callback 回调函数
 */
export function wxMethod(callback, type = 0) {
    api.GetSing().then(({
        data
    }) => {
        if (data.IsSuccess) {
            wxConfig(data.ResultObject, type, callback);
        } else {
            // 失败
            Toast(data.ResultMsg);
        }
    })
}

/**
 * 全局分享功能  需要等待结果返回
 *@param {string} title 标题
 *@param {string} desc 描述
 */
export var UEShare;


! function () {
    api.GetSing().then(res => {
        if (res.data.IsSuccess) {
            UEShare = function (title, desc) {
                wxConfig(res.data.ResultObject, 0, (title, desc) => {


                    var title = title || '亮健优医-' + document.title;

                    var desc = desc || '亮健优医--聚集数千名湘雅专家的综合性智慧医疗平台';

                    // console.log('UEShare', '分享', 'title', title, 'desc', desc);

                    var imgUrl = 'https://image.360lj.com/img/UEshare.png';
                    var url = location.href.replace(/index.html#\//, '').split('&')[0];

                    //分享到朋友圈
                    wx.onMenuShareTimeline({
                        title: title, // 分享标题
                        link: process.env.VUE_APP_Url + "/api/Home/Login2?backurl=" + url, // 分享链接
                        imgUrl: imgUrl, // 分享图标
                        success: function () {
                            // 用户确认分享后执行的回调函数
                            location.reload();
                        },
                        cancel: function () {
                            // 用户取消分享后执行的回调函数
                        }
                    });

                    //分享给朋友
                    wx.onMenuShareAppMessage({
                        title: title, // 分享标题
                        desc: desc, // 分享描述
                        link: process.env.VUE_APP_Url + "/api/Home/Login2?backurl=" + url, // 分享链接
                        imgUrl: imgUrl, // 分享图标
                        type: "link", // 分享类型,music、video或link，不填默认为link
                        dataUrl: "", // 如果type是music或video，则要提供数据链接，默认为空
                        success: function () {
                            // 用户确认分享后执行的回调函数
                            location.reload();
                        },
                        cancel: function () {
                            // 用户取消分享后执行的回调函数
                        }
                    });

                    // 隐藏功能按钮
                    wx.hideMenuItems({
                        menuList: ["menuItem:share:qq", "menuItem:share:weiboApp", "menuItem:favorite", "menuItem:share:facebook", "menuItem:share:QZone"]
                    })
                });
            }
        } else {
            // 失败
            Toast(data.ResultMsg);
        }
    })
}();