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