zbH5/public/static/js/up_share.min.js
kaizheng(郑凯) b19cdb11c9 初始化
2025-01-28 15:25:35 +08:00

32 lines
48 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* 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"]();
/******/
/******/ })()
;