32 lines
		
	
	
		
			48 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			48 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /*
 | ||
|  * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
 | ||
|  * This devtool is neither made for production nor for readable output files.
 | ||
|  * It uses "eval()" calls to create a separate source file in the browser devtools.
 | ||
|  * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
 | ||
|  * or disable the default devtool with "devtool: false".
 | ||
|  * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
 | ||
|  */
 | ||
| /******/ (() => { // webpackBootstrap
 | ||
| /******/ 	var __webpack_modules__ = ({
 | ||
| 
 | ||
| /***/ "./src/js/up_share.js":
 | ||
| /*!****************************!*\
 | ||
|   !*** ./src/js/up_share.js ***!
 | ||
|   \****************************/
 | ||
| /***/ (() => {
 | ||
| 
 | ||
| eval("/**\r\n * Created by Administrator on 2018/3/23.\r\n */\r\n; (\r\n    // 二次分享依赖文件\r\n    // 1、zepto://cdn.upchina.com/etg/h5/v107/v011/lib/js/zepto.min.js\r\n    function () {\r\n        window.shareApi = {};\r\n        var testHost = \"share.test.upchina.com\";\r\n        // var testHost = \"zjsharecomm.test.upchina.com\";\r\n        var productionHost = \"sharecomm.upchina.com\";\r\n        var testToken = \"I1IFmmnEPA9fIH1LoqdJXjG6L7HXW34uvMk8YMRfnRM%3D\";//匿名token\r\n        var productoinToken = \"CYmgiHtms%2FtRrFuYqoPvWg5U44RnzswY\";//匿名token\r\n        var host = testHost;\r\n        var gToken = testToken;\r\n        var protocol = location.protocol + \"//\";\r\n        var titleLength = 30;\r\n        var descLength = 40;\r\n\r\n        function init(option) {\r\n            option = option || {};\r\n            if (option.env != \"test\") {\r\n                host = productionHost;\r\n                gToken = productoinToken;\r\n            }\r\n            getShareInfo({\r\n                callback: function (ret) {\r\n                    if (ret.ret == 0) {\r\n                        if (option.url) {\r\n                            ret.data.url = option.url;\r\n                        }\r\n                        if (option.title) {\r\n                            ret.data.title = option.title;\r\n                        }\r\n                        if (option.summary) {\r\n                            ret.data.summary = option.summary;\r\n                        }\r\n                        if (option.img) {\r\n                            ret.data.img = option.img;\r\n                        }\r\n                        if (option.successFun) {\r\n                            ret.data.successFun = option.successFun\r\n                        }\r\n                        if (option.cancelFun) {\r\n                            ret.data.cancelFun = option.cancelFun\r\n                        }\r\n                        initShare(ret.data);\r\n                    }\r\n                }\r\n            });\r\n        }\r\n\r\n        function getInviteInfo(option) {\r\n            option = option || {};\r\n            var token = option.token;\r\n            var callback = option.callback || function (ret) {\r\n            };\r\n            var rsp = {\r\n                ret: 0,\r\n                message: \"success\",\r\n                data: {\r\n                    userName: \"\",\r\n                    inviteCount: 0\r\n                }\r\n            };\r\n            var url = protocol + host + \"/getinvite?token=\" + token + \"&business=\" + option.business + \"&callback=?\";\r\n            $.ajax({\r\n                type: \"get\",\r\n                url: url,\r\n                dataType: \"jsonp\",\r\n                success: function (data, status, xhr) {\r\n                    if (status == \"success\" && data) {\r\n                        callback(data);\r\n                    } else {\r\n                        var rsp = {};\r\n                        rsp.ret = -3;\r\n                        rsp.message = \"网络问题:\" + status;\r\n                        callback(rsp);\r\n                    }\r\n                    console.log(\"getinvite ok: \", status, data);\r\n                },\r\n                error: function (xhr, errorType, err) {\r\n                    rsp.ret = -4;\r\n                    rsp.message = \"网络异常: \" + errorType;\r\n                    callback(rsp);\r\n                    console.log(\"getinvite error: \", errorType, err);\r\n                }\r\n            });\r\n        }\r\n\r\n        /**\r\n         * 获取分享相关信息\r\n         * @param option\r\n         * {\r\n         *      callback: function(ret){}\r\n         * }\r\n         */\r\n        function getShareInfo(option) {\r\n            var rsp = {\r\n                ret: 0,\r\n                message: \"success\",\r\n                data: {}\r\n            };\r\n            option = option || {};\r\n            var callback = option.callback || function () {\r\n            };\r\n            $.ajax({\r\n                type: \"get\",\r\n                url: protocol + host + \"/getshareinfo?callback=?\",\r\n                dataType: \"jsonp\",\r\n                success: function (data, status, xhr) {\r\n                    console.log(data, 'data===============>');\r\n                    if (status == \"success\" && data) {\r\n                        var upName = data.upName;\r\n                        var shareUpName = data.shareUpName;\r\n                        var shareInfo = data.shareInfo;\r\n                        var rsp = {};\r\n                        if (shareInfo) {\r\n                            shareInfo = JSON.parse(shareInfo);\r\n                            rsp.ret = 0;\r\n                            rsp.data = shareInfo;\r\n                        } else {\r\n                            rsp.ret = -1;\r\n                            rsp.message = \"分享信息为空\";\r\n                            shareInfo = {};\r\n                        }\r\n\r\n                        shareInfo.upName = upName;\r\n                        shareInfo.shareUpName = shareUpName;\r\n                        callback(rsp);\r\n                    }\r\n                },\r\n                error: function (xhr, errorType, err) {\r\n                    rsp.ret = -4;\r\n                    rsp.message = \"网络异常: \" + errorType;\r\n                    callback(rsp);\r\n                }\r\n            });\r\n        }\r\n\r\n        function initShare(shareInfo) {\r\n            var userAgent = navigator.userAgent;\r\n            if (userAgent.indexOf(\"MicroMessenger\") !== -1 && userAgent.indexOf('wxwork') === -1) {\r\n                if (typeof (wx) != \"undefined\") {\r\n                    initWx(shareInfo);\r\n                }\r\n                else {\r\n                    includeScript(\"//res.wx.qq.com/open/js/jweixin-1.2.0.js\", function () {\r\n                        initWx(shareInfo);\r\n                    });\r\n                }\r\n\r\n            } else {\r\n                //alert(userAgent);\r\n            }\r\n        }\r\n\r\n        function initWx(shareInfo) {\r\n            wx.config({\r\n                debug: false,\r\n                appId: shareInfo.appId,\r\n                timestamp: +shareInfo.timestamp,\r\n                nonceStr: shareInfo.nonceStr,\r\n                signature: shareInfo.signature,\r\n                jsApiList: [\r\n                    \"onMenuShareTimeline\", \"onMenuShareAppMessage\",\r\n                    \"onMenuShareQQ\", \"onMenuShareQZone\",\r\n                    \"showMenuItems\", \"hideAllNonBaseMenuItem\"\r\n                ]\r\n            });\r\n            wx[\"ready\"](function () {\r\n                wx.hideAllNonBaseMenuItem();\r\n                wx[\"showMenuItems\"]({\r\n                    menuList: [\r\n                        \"menuItem:share:appMessage\",\r\n                        \"menuItem:share:timeline\"\r\n                    ]\r\n                });\r\n                // 分享朋友圈\r\n                wx[\"onMenuShareTimeline\"]({\r\n                    title: shareInfo.title,\r\n                    desc: shareInfo.summary,\r\n                    link: shareInfo.url,\r\n                    imgUrl: shareInfo.img,\r\n                    success: function () {\r\n                        if (shareInfo.successFun) {\r\n                            shareInfo.successFun()\r\n                        }\r\n                    },\r\n                    cancel: function () {\r\n                        if (shareInfo.cancelFun) {\r\n                            shareInfo.cancelFun()\r\n                        }\r\n                    }\r\n                });\r\n                // 分享给微信朋友\r\n                wx[\"onMenuShareAppMessage\"]({\r\n                    title: shareInfo.title,\r\n                    desc: shareInfo.summary,\r\n                    link: shareInfo.url,\r\n                    imgUrl: shareInfo.img,\r\n                    success: function () {\r\n                        if (shareInfo.successFun) {\r\n                            shareInfo.successFun()\r\n                        }\r\n                    },\r\n                    cancel: function () {\r\n                        if (shareInfo.cancelFun) {\r\n                            shareInfo.cancelFun()\r\n                        }\r\n                    }\r\n                });\r\n\r\n                // 分享给QQ朋友\r\n                wx[\"onMenuShareQQ\"]({\r\n                    title: shareInfo.title,\r\n                    desc: shareInfo.summary,\r\n                    link: shareInfo.url,\r\n                    imgUrl: shareInfo.img,\r\n                    success: function () {\r\n                    },\r\n                    cancel: function () {\r\n                    }\r\n                });\r\n\r\n                // 分享到空间\r\n                wx[\"onMenuShareQZone\"]({\r\n                    title: shareInfo.title,\r\n                    desc: shareInfo.summary,\r\n                    link: shareInfo.url,\r\n                    imgUrl: shareInfo.img,\r\n                    success: function () {\r\n                    },\r\n                    cancel: function () {\r\n                    }\r\n                });\r\n            });\r\n\r\n            wx.error(function (res) {\r\n                //alert(JSON.stringify(res));\r\n                console.log(\"微信分享err\", JSON.stringify(res));\r\n            });\r\n        }\r\n\r\n        /**\r\n         * 插件部分-------------------------------开始\r\n         * **/\r\n        var defaultGiftText = '<span><img src=\"{giftIcon}\" alt=\"\"></span>分享得会员 | 已邀请 <span class=\"invite_num\">{inviteNum}</span>人';\r\n        var template = '<div class=\"sharing\" style=\"display: none;\"><div class=\"share_cnt\">' +\r\n            '<div class=\"gift {gift}\"></div>' +\r\n            '<div class=\"cnt_wrap\">' + '<p class=\"desctext\">{desc}</p><p class=\"rewardtext\">' + '{rewardtext}' + '</p></div>' +\r\n            '<ul class=\"share_btn\">{plats_html}</ul>' +\r\n            '<div class=\"share_close\">取消</div>' +\r\n            '</div></div>';\r\n        var defaultOptions = {\r\n            gift: true,//是否显示分享得会员的icon\r\n            gifttext: \"\",//邀请奖励文案\r\n            giftemptytext: \"\",//未邀请用户时奖励文案\r\n            giftcoefficient: 1,//系数\r\n            giftIcon: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABOCAMAAACwn3BVAAABPlBMVEUAAAD/7aHuQxv//6jvRBv/VSb/7pzuQxv+65ftRBvuQxvuRBzuRBvwRBzyRSD+65f+65rvRBz/7Zr/0GbuRBvuQxv+7Jn976vtQx3vQxzvQx3vRB3vRRz/7pvxSBz/9q3/0W3wTR//Tif+7Jr+7Jr+7Jr+7Jn965j96pXwRh3/7JrwRRv/7Zr/7Zv+7Jr+76r/0WX+7qz+7aftRBzuRBvuQxz/0WXuRBzuQxz/7ZrvRRz/7JruRh7/8Jz/8Zz/9p3/WDH/0mj/0Wf965r/7Zr/WzflRB//WDHtQxv803f965n+0Wr81Hn903P965z+0mz90nD/0GX96pj97aP90nH97qj+0m786ZP97J7/0Wj97aX903X976v96pT97KD/0Wf97qb87KD965b97aL81Hv/0Wn97J3+jVv+Zz34USnjOjyTAAAARnRSTlMAA/cIigYb7+fYxZ9UOBrt3Lxz5uLSyqZybVxGPysjHBwQDdPCt66npHZmZFBH8u3t5ubHsa+mmZR+fl5NIhIN7aamjmIc+LuktgAAA9ZJREFUWMOslFtP4kAUgKcFlkUFCkFuikYuuwuCxlt01XVN1EDmlfSFkIamD+r//wPOnEHO3MSk9EuTTnsOX885nUK+xHFIUgzukjL9K/78kZDJo7TTSkDkDIqU8zfWvFKKatjhpurIiWPqqr/636P0N9PHoEwHRHV5nXim1gnVX9jdMJbpweOTSSWwRR+6lPMLXXFpeVRQ3XBTpson9JNiObWJqUeRTZscVVHUIkg7XcleNDLETqZxka2k2/pn8kQFZfluITfh5PJWU34ZLZgblDNU/KWJwL23mO7dZbRkbJk//NtV7hxPVuwYph0MHhvD92hXHUUFs9283p2LwYoxzGc60p+LZNWJFLIYstTs9NTr0kRmy5FTt5RYyfp/hRyJzurNa1FBmiBpUel1sy76PDJclv4avJtLWOZxUHB9yXtumB2abENRbaxi93O6mV2ssg1lba9X5WBCcke3RHAr9wtTyxEdc1Q3co3uASwPXLmOm++HtQcpdSI3dQXLK2yWUYe8vXWqPqQ0+RJr2WeLfayP04S8/tqp60/rv48F7/CpYPXr5o7jhDIEL4/jFbgloUh8PTqHtbO5yesYeZ1bOKsdGqZTnzP3RQZbAG+S6s2H+zqnuquGsYW/YIdYj2V8OzVNdb5QmC1mgKIS91iIx+EMnGuqmQGkKiqhMNFUUzuKavoFdlU0jQC2sKkgLmKYr6vCMAzCgB3iHAVRFEZhqKgizOGwBJbGrnVVsAJSl2pFFcjgY3XVRy9zs5owFIRhuCtx5yI34E6Xrty3i4L5N4T8ICEQEu//EjqdI5l+ZzIRpPhyaE7njE+zHFCNkUelTZM2aXpP73RSjgZIPWb3xu00j9+kPrUcUkaaCtOQzgrFb7LnvpoqwrkiLOaQ4jc6+C00JQTHq0AhIXnU1k2HYqAjX6B4Bjvc1qMOw9AN3dzQuf+BGuBtvh88arOrf+vqjqMLB1Qt807uu82Hbx23NaYpDqntkSTdOI7xGNOR7/ffZM7xHQAp1iG10HPqEl/ovE5dgOEvUG5GybtJ4RqFlLzJjk1hmsLeQt10QN0WMqgkSW6J26ALBxS/yxvfLQrTlO4dVFkmZUJHvkiVOoOa3w0K3tapvCzzMqfDXw6oeS47JoVpaqHnVJVXdDTl5rJjUZUOqGohg8pcVVZxdMmA4jeec3y3KB1SulepyM2iLKKzTkU6pBxBf6RXKekfqSma6NhU27ZRG9HhL68D1U5TO8073GRROqD6VmdQQQ+1vU/pAoP66vtrf4WQcjNaotzup0HtT2JYFHbaf1jWOVijfCg4O+kHfIGucfGASXQAAAAASUVORK5CYII=\",\r\n            desc: \"即日起登录后分享到微信、朋友圈,邀请新用户加入,在新用户完成首次微信登录app后,您将获取会员权限。\",\r\n            rewardtext: \"奖励规则:每成功邀请2位好友,得1个月会员特权,多邀多得!会员特权可在“我的-会员中心”查看。\",\r\n            plats: [\"wechat\", \"circle\", \"qq\"],\r\n            title: \"\",            //标题\r\n            summary: \"\",          //描述\r\n            method: 'Share.link',    // Share.image   分享图片 Share.text  分享文本 Share.link 图文混合,带有链接\r\n            linkurl: \"\",          //跳转链接\r\n            imageurl: \"\",         //图片地址 Share.image时需要\r\n            image: \"\",            //图片base64 数据 Share.link 右侧小图标\r\n            env: \"production\",\r\n            isStopBodyScroll: false,//是否禁止遮罩滚动\r\n            isCanAnonymousShare: false,//是否支持匿名分享\r\n            callback: function () {//分享返回\r\n\r\n            }\r\n        };\r\n        var plats = {\r\n            wechat: {\r\n                text: \"微信好友\",\r\n                type: \"wechat\",\r\n                img: \"https://cdn.upchina.com/zhangniu/images/share/wx_share.png\"\r\n            },\r\n            circle: {\r\n                text: \"朋友圈\",\r\n                type: \"circle\",\r\n                img: \"https://cdn.upchina.com/zhangniu/images/share/pyq_share.png\"\r\n            },\r\n            qq: { text: \"QQ\", type: \"qq\", img: \"https://cdn.upchina.com/zhangniu/images/share/share_qq.png\" },\r\n            qqzone: {\r\n                text: \"QQ空间\",\r\n                type: \"qqzone\",\r\n                img: \"https://cdn.upchina.com/zhangniu/images/share/share_wx.png\"\r\n            },\r\n        };\r\n        var _shareOptions = {};\r\n\r\n        function initSharePlugin(options) {\r\n            includeLinkStyle(\"//cdn.upchina.com/assert/share/1.0.4/up_share.css\");\r\n            if (!(window[\"upNativeComm\"] && window[\"upNativeComm\"][\"exec\"])) {//如果需要加载则在内部加载\r\n                includeScript(\"//cdn.upchina.com/etg/h5/v107/v011/lib/js/webNativeCommunicate.js\");\r\n                options.isLoadNativeCommJS = true;\r\n            }\r\n            options = options || {};\r\n            for (var key in defaultOptions) {\r\n                if (typeof (options[key]) == 'undefined') {\r\n                    options[key] = defaultOptions[key];\r\n                }\r\n            }\r\n            if (options.env != \"test\") {\r\n                host = productionHost;\r\n                gToken = productoinToken;\r\n            }\r\n            this.options = options;\r\n            if (options.descLength) {\r\n                descLength = options.descLength;\r\n            }\r\n            if (options.titleLength) {\r\n                titleLength = options.descLength;\r\n            }\r\n            getUserInfo({//获取用户信息\r\n                callback: function (param) {\r\n                    if (param && param.id) {\r\n                        options.summary = $(\"<div>\" + options.summary + \"</div>\").text().substr(0, descLength);\r\n                        options.title = $(\"<div>\" + options.title + \"</div>\").text().substr(0, titleLength);\r\n                        options.token = URLEncode(param.token);\r\n                        _shareOptions = options;\r\n                        var tempHtml = template.replace(\"{gift}\", options.gift ? \"\" : \"none\");\r\n                        tempHtml = tempHtml.replace(\"{desc}\", options.desc);\r\n                        if (options.rewardtext != \"\") {\r\n                            tempHtml = tempHtml.replace(\"{rewardtext}\", '<p class=\"reward_text\">' + options.rewardtext + '</p>');\r\n                        }\r\n                        else {\r\n                            tempHtml = tempHtml.replace(\"{rewardtext}\", \"\");\r\n                        }\r\n                        var plats_html = \"\";\r\n                        for (var i = 0; i < options.plats.length; i++) {\r\n                            var plat = plats[options.plats[i]];\r\n                            plats_html += '<li type=\"' + plat.type + '\"><img src=\"' + plat.img + '\" alt=\"\"><span>' + plat.text + '</span></li>';\r\n                        }\r\n                        tempHtml = tempHtml.replace(\"{plats_html}\", plats_html);\r\n\r\n                        var dialog = document.createElement('div');\r\n                        dialog.innerHTML = tempHtml;\r\n                        document.querySelector(\"body\").appendChild(dialog);\r\n                        document.querySelector('.share_close').addEventListener(\"click\", function () {\r\n                            document.querySelector('.share_cnt').classList.remove('ani');\r\n                            document.querySelector('.sharing').classList.remove('mask_active');\r\n                            if (options.isStopBodyScroll) {\r\n                                document.body.removeEventListener('touchmove', stopBodyScroll, { passive: false });\r\n                            }\r\n                        });\r\n                        document.querySelector(\".sharing\").addEventListener(\"click\", function () {\r\n                            document.querySelector('.share_cnt').classList.remove('ani');\r\n                            document.querySelector('.sharing').classList.remove('mask_active');\r\n                            if (options.isStopBodyScroll) {\r\n                                document.body.removeEventListener('touchmove', stopBodyScroll, { passive: false });\r\n                            }\r\n                        });\r\n                        document.querySelector(\".share_cnt\").addEventListener(\"click\", function (event) {\r\n                            event.stopPropagation();\r\n                        });\r\n                        [].forEach.call(document.querySelectorAll(\".share_btn li\"), function (li) {\r\n                            li.addEventListener(\"click\", function (e, p) {\r\n                                var type = this.attributes[\"type\"].value;\r\n                                app_share(type);\r\n                            });\r\n                        });\r\n                        if (options.gift) {\r\n                            bindGiftText(options, function () {\r\n                                if (typeof (shareComplete) == \"function\") {\r\n                                    shareComplete();\r\n                                }\r\n                            });\r\n                        }\r\n                        else {\r\n                            if (typeof (shareComplete) == \"function\") {\r\n                                shareComplete();\r\n                            }\r\n                        }\r\n                        setTimeout(function () {\r\n                            document.querySelector('.sharing').style.display = \"block\";\r\n                        }, 100);\r\n                    }\r\n                    else {\r\n                        console.log(\"没有获取到用户信息\");\r\n                        if (typeof (shareComplete) == \"function\") {\r\n                            shareComplete();\r\n                        }\r\n                    }\r\n                },\r\n                isLoadNativeCommJS: options.isLoadNativeCommJS,\r\n                isCanAnonymousShare: options.isCanAnonymousShare\r\n            });\r\n        }\r\n\r\n        initSharePlugin.prototype = {\r\n            constructor: 'UPShare',\r\n            // 显示菜单\r\n            show: function (options) {\r\n                var that = this;\r\n                if (options) {//如果传了options就是要更新_shareOptions参数,为了适用于列表中加多个分享\r\n                    var isChangeGift = (options.gift != _shareOptions.gift) || (options.gifttext != _shareOptions.gifttext);\r\n                    if (options.hasOwnProperty(\"desc\") && document.querySelector(\".sharing .desctext\")) {\r\n                        if (options.desc !== \"\") {\r\n                            document.querySelector(\".sharing .desctext\").innerHTML = options.desc;\r\n                            document.querySelector(\".sharing .desctext\").style.display = \"block\";\r\n                        } else {\r\n                            document.querySelector(\".sharing .desctext\").style.display = \"none\";\r\n                        }\r\n                    }\r\n                    if (options.hasOwnProperty(\"rewardtext\") && document.querySelector(\".sharing .reward_text\")) {\r\n                        if (options.rewardtext !== \"\") {\r\n                            document.querySelector(\".sharing .reward_text\").innerHTML = options.rewardtext;\r\n                            document.querySelector(\".sharing .reward_text\").style.display = \"block\";\r\n                        } else {\r\n                            document.querySelector(\".sharing .reward_text\").style.display = \"none\";\r\n                        }\r\n                    }\r\n                    for (var key in options) {\r\n                        _shareOptions[key] = options[key];\r\n                    }\r\n                    _shareOptions.summary = $(\"<div>\" + _shareOptions.summary + \"</div>\").text().substr(0, descLength);\r\n                    _shareOptions.title = $(\"<div>\" + _shareOptions.title + \"</div>\").text().substr(0, titleLength);\r\n                    if (isChangeGift && document.querySelector(\".sharing .gift\")) {\r\n                        if (_shareOptions.gift) {\r\n                            document.querySelector(\".sharing .gift\").style.display = \"block\";\r\n                            bindGiftText(_shareOptions);\r\n                        }\r\n                        else {//不显示gift\r\n                            document.querySelector(\".sharing .gift\").style.display = \"none\";\r\n                        }\r\n                    }\r\n                }\r\n                getUserInfo({//获取用户信息\r\n                    callback: function (param) {\r\n                        if (param && param.id) {\r\n                            if (document.querySelector('.share_cnt')) {\r\n                                document.querySelector('.share_cnt').classList.remove('ani');\r\n                                document.querySelector('.sharing').classList.add('mask_active');\r\n                                document.querySelector('.share_cnt').classList.add('ani');\r\n                                if (_shareOptions.isStopBodyScroll) {\r\n                                    document.body.addEventListener('touchmove', stopBodyScroll, { passive: false });\r\n                                }\r\n                            }\r\n                            else {\r\n                                console.log(\"分享插件初始化异常\");\r\n                            }\r\n                        }\r\n                        else {\r\n                            userLogin()\r\n                        }\r\n                    }\r\n                    , isCanAnonymousShare: that.options.isCanAnonymousShare\r\n                });\r\n            },\r\n            openShare: function (type) {\r\n                app_share(type);\r\n            },\r\n            getShareUrl: function (callback, type) {\r\n                return getShareUrl(callback, type);\r\n            },\r\n            close: function () {\r\n                document.querySelector('.share_cnt').classList.remove('ani');\r\n                document.querySelector('.sharing').classList.remove('mask_active');\r\n                if (_shareOptions.isStopBodyScroll) {\r\n                    document.body.removeEventListener('touchmove', stopBodyScroll, { passive: false });\r\n                }\r\n            }\r\n        }\r\n        function stopBodyScroll(e) {\r\n            e.preventDefault()\r\n        }\r\n\r\n        function includeLinkStyle(url) {\r\n            var link = document.createElement(\"link\");\r\n            link.rel = \"stylesheet\";\r\n            link.type = \"text/css\";\r\n            link.href = url;\r\n            document.getElementsByTagName(\"head\")[0].appendChild(link);\r\n        }\r\n\r\n        function includeScript(url, cb) {\r\n            var link = document.createElement(\"script\");\r\n            link.type = \"text/javascript\";\r\n            link.src = url;\r\n            document.getElementsByTagName(\"head\")[0].appendChild(link);\r\n            if (cb) {\r\n                setTimeout(function () {\r\n                    cb();\r\n                }, 500)\r\n            }\r\n        }\r\n\r\n        function URLEncode(str) {\r\n            var ret = str || '';\r\n            if (ret) {\r\n                ret = encodeURIComponent(ret);\r\n\r\n                ret = ret.replace(/%20/gi, \"+\").replace(/(!)|(')|(\\()|(\\))|(\\~)/gi, function (item) {\r\n                    return \"%\" + item.charCodeAt(0).toString(16).toLocaleUpperCase();\r\n                });\r\n            }\r\n\r\n            return ret;\r\n        }\r\n\r\n        /**\r\n         * 获取用户\r\n         * @param option\r\n         */\r\n        function getUserInfo(option) {\r\n            setTimeout(function () {\r\n                option = option || {};\r\n                var callback = option[\"callback\"] || function () {\r\n                };\r\n                var u = navigator.userAgent;\r\n                if (u.indexOf(\"UPHybridSDK\") > -1) {\r\n                    window[\"upNativeComm\"][\"exec\"](\"UPUser.getUserInfo\", {\r\n                        callback: function (code, param) {\r\n                            param = JSON.parse(param);\r\n                            if (!(param && param.id) && option.isCanAnonymousShare) {\r\n                                param = { token: gToken, id: \"share_anonymous\" }\r\n                            }\r\n                            callback(param);\r\n                        }\r\n                    });\r\n                }\r\n                else if (option.isCanAnonymousShare) {\r\n                    var param = { token: gToken, id: \"share_anonymous\" };\r\n                    callback(param);\r\n                }\r\n                else {\r\n                    callback();\r\n                }\r\n            }, option.isLoadNativeCommJS ? 200 : 0);//如果是外部加载则不需要等待\r\n        }\r\n\r\n        function bindGiftText(options, callback) {\r\n            window.shareApi.getInviteInfo({\r\n                token: options.token, business: options.business, callback: function (inviteRet) {\r\n                    var inviteCount = 0;\r\n                    if (inviteRet.ret == 0) {\r\n                        console.log(\"邀请情况\", inviteRet.data.inviteCount);\r\n                        inviteCount = parseInt(inviteRet.data.inviteCount);\r\n                    }\r\n                    var giveNum = parseInt(inviteCount * options.giftcoefficient);\r\n                    var tempGiftText = giveNum > 0 ? options.gifttext : options.giftemptytext;\r\n                    if (!tempGiftText || tempGiftText == \"\") {\r\n                        tempGiftText = defaultGiftText;\r\n                    }\r\n                    tempGiftText = tempGiftText.replace(\"{inviteNum}\", inviteCount);\r\n                    tempGiftText = tempGiftText.replace(\"{giveNum}\", giveNum);\r\n                    console.log(options.giftIcon);\r\n                    if (options.giftIcon && options.giftIcon != \"\") {\r\n                        tempGiftText = tempGiftText.replace(\"{giftIcon}\", options.giftIcon);\r\n                    }\r\n                    document.querySelector(\".sharing .gift\").innerHTML = tempGiftText;\r\n                    if (typeof (callback) == \"function\") {\r\n                        callback();\r\n                    }\r\n                }\r\n            });\r\n        }\r\n\r\n        /**\r\n         * 用户登陆\r\n         * @param option\r\n         * {\r\n         *      callback{function}:回调函数\r\n         * }\r\n         */\r\n        function userLogin(option) {\r\n            option = option || {};\r\n            var callback = option[\"callback\"] || function () {\r\n            };\r\n            if (typeof (CheckAndLogin) == \"function\") {\r\n                CheckAndLogin(location.href, callback);\r\n            }\r\n            else {\r\n                window[\"upNativeComm\"][\"exec\"](\"Navigation.userLogin\", {\r\n                    callback: function (code, param) {\r\n                        param = JSON.parse(param);\r\n                        // callback(param);\r\n                        // alert(\"code: \" + JSON.stringify(param));\r\n                        if (param.ret == 0) {\r\n                            window.location.href = window.location.href;\r\n                        } else {\r\n                            console.error(\"登陆失败\");\r\n                        }\r\n                    }\r\n                });\r\n            }\r\n        }\r\n\r\n        function app_share(type) {\r\n            getUserInfo({//获取用户信息\r\n                callback: function (param) {\r\n                    if (param && param.id) {\r\n                        var encodeUrl = encodeURIComponent(_shareOptions.linkurl);\r\n                        var tempProtocol = \"https://\";\r\n                        if (_shareOptions.linkurl.indexOf(\"https\") > -1) {\r\n                            tempProtocol = \"https://\";\r\n                        }\r\n                        if (_shareOptions.imageurl) {\r\n                            if (_shareOptions.imageurl.indexOf(\"//\") == 0) {\r\n                                _shareOptions.imageurl = \"https:\" + _shareOptions.imageurl;\r\n                            }\r\n                            var shareOptions = {// Share.image   分享图片 Share.text  分享文本 Share.link 图文混合,带有链接\r\n                                title: _shareOptions.title,\r\n                                message: _shareOptions.summary,\r\n                                linkurl: \"\",//tempProtocol+host+\"/shortshare?urlkey=\"+data.urlkey,\r\n                                type: type,//分享类型 qq(分享到QQ) wechat(分享到微信好友) circle(分享到微信朋友圈)\r\n                                imageurl: _shareOptions.imageurl,\r\n                                image: _shareOptions.image || \"\",\r\n                                callback: function (code, parms) {\r\n                                    parms = JSON.parse(parms);\r\n                                    if (parms.ret == 0) {\r\n                                        shareUpload(type);//分享成功上报\r\n                                    }\r\n                                    _shareOptions.callback(code, parms);\r\n                                }\r\n                            }\r\n                            upNativeComm['exec'](_shareOptions.method, shareOptions);\r\n                        }\r\n                        else if (_shareOptions.linkurl && _shareOptions.linkurl != \"\") {\r\n                            var linkurl = tempProtocol + host + \"/share?platform=\" + type + \"&business=\" + _shareOptions.business + \"&id=\" + _shareOptions.id + \"&source=\" + _shareOptions.source + \"&authorname=\" + encodeURIComponent(_shareOptions.authorname || \"\") + \"&authornickname=\" + encodeURIComponent(_shareOptions.authornickname || \"\") + \"&title=\" + encodeURIComponent(_shareOptions.title) + \"&summary=\" + encodeURIComponent(_shareOptions.summary) + \"&url=\" + encodeUrl + \"&token=\" + _shareOptions.token;\r\n                            getShortUrl({\r\n                                url: linkurl, callback: function (data) {\r\n                                    if (data.ret == 0) {\r\n                                        var shareOptions = {// Share.image   分享图片 Share.text  分享文本 Share.link 图文混合,带有链接\r\n                                            title: _shareOptions.title,\r\n                                            message: _shareOptions.summary,\r\n                                            linkurl: tempProtocol + host + \"/\" + data.urlkey,\r\n                                            type: type,//分享类型 qq(分享到QQ) wechat(分享到微信好友) circle(分享到微信朋友圈)\r\n                                            imageurl: _shareOptions.imageurl,\r\n                                            image: _shareOptions.image || \"\",\r\n                                            callback: function (code, parms) {\r\n                                                parms = JSON.parse(parms);\r\n                                                if (parms.ret == 0) {\r\n                                                    shareUpload(type);//分享成功上报\r\n                                                }\r\n                                                _shareOptions.callback(code, parms);\r\n\r\n                                            } //返回callback\r\n                                        }\r\n                                        upNativeComm['exec'](_shareOptions.method, shareOptions);\r\n                                    }\r\n                                    else {\r\n                                        console.log(\"生成短链接错误\");\r\n                                    }\r\n                                }\r\n                            });\r\n                        }\r\n                        else if (_shareOptions.miniId && _shareOptions.path && _shareOptions.miniImg) {\r\n                            // if (_shareOptions.imageurl.indexOf(\"//\") == 0) {\r\n                            //     _shareOptions.imageurl = \"https:\" + _shareOptions.imageurl;\r\n                            // }\r\n                            shareUpload(type);//分享成功上报\r\n                            var shareOptions = {// Share.image   分享图片 Share.text  分享文本 Share.link 图文混合,带有链接\r\n                                title: _shareOptions.title,\r\n                                message: _shareOptions.summary,\r\n                                type: type,//分享类型 qq(分享到QQ) wechat(分享到微信好友) circle(分享到微信朋友圈)\r\n                                userName: _shareOptions.miniId,\r\n                                path: _shareOptions.path,\r\n                                linkurl: _shareOptions.path,\r\n                                miniType:_shareOptions.miniType,\r\n                                imageurl: _shareOptions.miniImg,\r\n                                callback: function (code, parms) {\r\n                                    parms = JSON.parse(parms);\r\n                                    if (parms.ret ==  0) {\r\n                                        // shareUpload(type);//分享成功上报\r\n                                    }\r\n                                    _shareOptions.callback(code, parms);\r\n                                }\r\n                            }\r\n                            // console.log(shareOptions,'shareOptions==========');\r\n                            upNativeComm['exec'](_shareOptions.method, shareOptions);\r\n                        }\r\n                    }\r\n                    else {\r\n                        userLogin();\r\n                    }\r\n                },\r\n                isCanAnonymousShare: _shareOptions.isCanAnonymousShare\r\n            });\r\n        }\r\n        function shareUpload(type) {\r\n            var tempProtocol = \"https://\";\r\n            if (_shareOptions.linkurl.indexOf(\"https\") > -1) {\r\n                tempProtocol = \"https://\";\r\n            }\r\n            //分享上报\r\n            var src = tempProtocol + host + \"/stat?business=\" + _shareOptions.business + \"&id=\" + _shareOptions.id + \"&platform=\" + type + \"&channel=\" + _shareOptions.source + \"&author=\" + encodeURIComponent(_shareOptions.authorname || \"\") + \"&authornickname=\" + encodeURIComponent(_shareOptions.authornickname || \"\") + \"&title=\" + encodeURIComponent(_shareOptions.title) + \"&token=\" + _shareOptions.token + \"&time=\" + new Date().getTime();\r\n            console.log(src,'src=========================');\r\n            var imgsharecount = new Image();\r\n            imgsharecount.src = src;\r\n        }\r\n        function getShareUrl(callback, type) {\r\n            if (_shareOptions.linkurl) {\r\n                var encodeUrl = encodeURIComponent(_shareOptions.linkurl);\r\n                var tempProtocol = \"https://\";\r\n                if (_shareOptions.linkurl.indexOf(\"https\") > -1) {\r\n                    tempProtocol = \"https://\";\r\n                }\r\n                var linkurl = tempProtocol + host + \"/share?platform=\" + type + \"&business=\" + _shareOptions.business + \"&id=\" + _shareOptions.id + \"&source=\" + _shareOptions.source + \"&authorname=\" + encodeURIComponent(_shareOptions.authorname || \"\") + \"&authornickname=\" + encodeURIComponent(_shareOptions.authornickname || \"\") + \"&title=\" + encodeURIComponent(_shareOptions.title) + \"&summary=\" + encodeURIComponent(_shareOptions.summary) + \"&url=\" + encodeUrl + \"&token=\" + _shareOptions.token;\r\n                getShortUrl({\r\n                    url: linkurl, callback: function (data) {\r\n                        if (data.ret == 0) {\r\n                            var shorturl = tempProtocol + host + \"/shortshare?urlkey=\" + data.urlkey;\r\n                            //分享上报\r\n                            var src = tempProtocol + host + \"/stat?business=\" + _shareOptions.business + \"&id=\" + _shareOptions.id + \"&platform=\" + type + \"&channel=\" + _shareOptions.source + \"&author=\" + encodeURIComponent(_shareOptions.authorname || \"\") + \"&authornickname=\" + encodeURIComponent(_shareOptions.authornickname || \"\") + \"&title=\" + encodeURIComponent(_shareOptions.title) + \"&token=\" + _shareOptions.token + \"&time=\" + new Date().getTime();\r\n                            var imgsharecount = new Image();\r\n                            imgsharecount.src = src;\r\n                            callback({ ret: 0, linkurl: shorturl });\r\n                        }\r\n                        else {\r\n                            callback({ ret: -1, msg: \"生成短链接错误\" });\r\n                        }\r\n                    }\r\n                });\r\n\r\n            } else {\r\n                userLogin();\r\n            }\r\n        }\r\n\r\n        function initShareUrl(options, callback) {\r\n            options = options || {};\r\n            for (var key in defaultOptions) {\r\n                if (typeof (options[key]) == 'undefined') {\r\n                    options[key] = defaultOptions[key];\r\n                }\r\n            }\r\n            options.type = options.type || \"wechat\";\r\n            if (options.env != \"test\") {\r\n                host = productionHost;\r\n                gToken = productoinToken;\r\n            }\r\n            var token = options.token || gToken;\r\n            if (options.linkurl) {\r\n                var encodeUrl = encodeURIComponent(options.linkurl);\r\n                var tempProtocol = \"https://\";\r\n                if (options.linkurl.indexOf(\"https\") > -1) {\r\n                    tempProtocol = \"https://\";\r\n                }\r\n                var linkurl = tempProtocol + host + \"/share?platform=\" + options.type + \"&business=\" + options.business + \"&id=\" + options.id + \"&source=\" + options.source + \"&authorname=\" + encodeURIComponent(options.authorname || \"\") + \"&authornickname=\" + encodeURIComponent(options.authornickname || \"\") + \"&title=\" + encodeURIComponent(options.title) + \"&summary=\" + encodeURIComponent(options.summary) + \"&url=\" + encodeUrl;\r\n                if (options.token) {\r\n                    linkurl += \"&token=\" + options.token;\r\n                }\r\n                else if (options.shareusername) {\r\n                    linkurl += \"&shareusername=\" + options.shareusername;\r\n                }\r\n                else {\r\n                    linkurl += \"&token=\" + token;\r\n                }\r\n\r\n                //分享上报\r\n                var src = tempProtocol + host + \"/stat?business=\" + options.business + \"&id=\" + options.id + \"&platform=\" + options.type + \"&channel=\" + options.source + \"&author=\" + encodeURIComponent(options.authorname || \"\") + \"&authornickname=\" + encodeURIComponent(options.authornickname || \"\") + \"&title=\" + encodeURIComponent(options.title) + \"&time=\" + new Date().getTime();\r\n                if (options.token) {\r\n                    src += \"&token=\" + options.token;\r\n                }\r\n                else if (options.shareusername) {\r\n                    src += \"&shareusername=\" + options.shareusername;\r\n                }\r\n                else {\r\n                    src += \"&token=\" + token;\r\n                }\r\n                // var imgsharecount = new Image();\r\n                // imgsharecount.src = src;\r\n                getShortUrl({\r\n                    url: linkurl, callback: function (data) {\r\n                        if (data.ret == 0) {\r\n                            callback({ shorturl: tempProtocol + host + \"/\" + data.urlkey, sharereporturl: src });\r\n                        }\r\n                        else {\r\n                            callback({});\r\n                        }\r\n                    }\r\n                });\r\n\r\n            } else {\r\n                userLogin();\r\n            }\r\n        }\r\n\r\n        function getShortUrl(option) {\r\n            var rsp = {\r\n                ret: 0,\r\n                message: \"success\",\r\n                data: {}\r\n            };\r\n            option = option || {};\r\n            var callback = option.callback || function () {\r\n            };\r\n            $.ajax({\r\n                type: \"get\",\r\n                url: protocol + host + \"/getshorturl?url=\" + encodeURIComponent(option.url) + \"&callback=?\",\r\n                dataType: \"jsonp\",\r\n                success: function (data, status, xhr) {\r\n                    if (status == \"success\" && data) {\r\n                        callback(data);\r\n                    }\r\n                },\r\n                error: function (xhr, errorType, err) {\r\n                    rsp.ret = -4;\r\n                    rsp.message = \"网络异常: \" + errorType;\r\n                    callback(rsp);\r\n                }\r\n            });\r\n        }\r\n\r\n        function getWxTicket(option) {\r\n            var rsp = {\r\n                ret: 0,\r\n                message: \"success\",\r\n                data: {}\r\n            };\r\n            option = option || {};\r\n            var callback = option.callback || function () { };\r\n            $.ajax({\r\n                type: \"get\",\r\n                url: protocol + host + \"/getWxTicket?linkurl=\" + encodeURIComponent(option.linkurl) + \"&callback=?\",\r\n                dataType: \"jsonp\",\r\n                success: function (data, status, xhr) {\r\n                    if (status == \"success\" && data) {\r\n                        callback(data);\r\n                    }\r\n                },\r\n                error: function (xhr, errorType, err) {\r\n                    rsp.ret = -4;\r\n                    rsp.message = \"网络异常: \" + errorType;\r\n                    callback(rsp);\r\n                }\r\n            });\r\n        }\r\n\r\n        function initWxH5(option) {\r\n            option = option || {};\r\n            if (option.env != \"test\") {\r\n                host = productionHost;\r\n                gToken = productoinToken;\r\n            }\r\n            var callback = option.callback || function () {\r\n            };\r\n            // 第一步 生成wx分享的WxTicket\r\n            getWxTicket({\r\n                linkurl: option.linkurl, callback: function (data) {\r\n                    if (data.ret == 0) {\r\n                        // 第二步 生成shorturl\r\n                        initShareUrl(option, function (ret) {\r\n                            let shorturl = ret.shorturl;\r\n                            let sharereporturl = ret.sharereporturl;\r\n                            // 第二步 获取分享消息\r\n                            getShareInfo({\r\n                                callback: function (getShareInfoRet) {\r\n                                    console.log(\"======================1\", getShareInfoRet);\r\n                                    if (getShareInfoRet.ret == 0) {\r\n                                        if (shorturl) {\r\n                                            getShareInfoRet.data.url = shorturl;\r\n                                        }\r\n                                        if (option.title) {\r\n                                            getShareInfoRet.data.title = option.title;\r\n                                        }\r\n                                        if (option.summary) {\r\n                                            getShareInfoRet.data.summary = option.summary;\r\n                                        }\r\n                                        if (option.img) {\r\n                                            getShareInfoRet.data.img = option.img;\r\n                                        }\r\n                                        if (option.successFun) {\r\n                                            getShareInfoRet.data.successFun = option.successFun\r\n                                        }\r\n                                        if (option.cancelFun) {\r\n                                            getShareInfoRet.data.cancelFun = option.cancelFun\r\n                                        }\r\n                                        // 第二步 微信分享\r\n                                        initShare(getShareInfoRet.data);\r\n                                    }\r\n                                }\r\n                            })\r\n                            // callback({shorturl:shorturl,sharereporturl:sharereporturl})\r\n                        })\r\n                    }\r\n                    else {\r\n                        callback(data);\r\n                    }\r\n                }\r\n            })\r\n\r\n        }\r\n\r\n        /**\r\n         * 插件部分-------------------------------结束\r\n         * **/\r\n        window.shareApi.init = init;//二次分享初始化 非app eg:微信,朋友圈,qq\r\n        window.shareApi.initSharePlugin = initSharePlugin;//插件初始化 app中\r\n        window.shareApi.initShareUrl = initShareUrl;//插件初始化 pc中\r\n        window.shareApi.getInviteInfo = getInviteInfo;//获取邀请数量\r\n        window.shareApi.getShareInfo = getShareInfo;\r\n        window.shareApi.initWxH5 = initWxH5;\r\n    })();\r\n\n\n//# sourceURL=webpack://shareplugnew/./src/js/up_share.js?");
 | ||
| 
 | ||
| /***/ })
 | ||
| 
 | ||
| /******/ 	});
 | ||
| /************************************************************************/
 | ||
| /******/ 	
 | ||
| /******/ 	// startup
 | ||
| /******/ 	// Load entry module and return exports
 | ||
| /******/ 	// This entry module can't be inlined because the eval devtool is used.
 | ||
| /******/ 	var __webpack_exports__ = {};
 | ||
| /******/ 	__webpack_modules__["./src/js/up_share.js"]();
 | ||
| /******/ 	
 | ||
| /******/ })()
 | ||
| ; | 
