{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/lib/js/event/downloadFile.js","webpack:///./src/lib/js/utils.js","webpack:///./src/lib/js/event/query.js","webpack:///./src/lib/js/common/utils.js","webpack:///./src/lib/js/event/location.js","webpack:///./src/lib/js/initData.js","webpack:///./src/store/index.js","webpack:///./src/lib/js/event/params.js","webpack:///./src/main.js","webpack:///./src/lib/js/common/connectApp.js","webpack:///./src/lib/js/set-aio-share.js","webpack:///./src/lib/js/event/anchor.js","webpack:///./src/lib/js/event/hrefToEvent.js","webpack:///./src/lib/js/util.js","webpack:///./src/lib/js/event/index.js","webpack:///./src/lib/js/event sync \\.js$","webpack:///./src/lib/js/event/customEvent.js","webpack:///./src/lib/js/event/dialog.js","webpack:///./src/lib/js/event/resolveEvent.js","webpack:///./src/lib/js/event/bridge.js","webpack:///./src/lib/js/event/share.js","webpack:///./src/lib/js/event/stats.js","webpack:///./src/lib/js/common/recommendCom.js","webpack:///./src/lib/js/event/dial.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","jsonpScriptSrc","p","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","_params","require","_default","eventData","arguments","downloadUrl","test","location","href","newDownloadUrl","K","query","build","URL_PARAMS","_setAioShare","setTitle","title","ua","navigator","userAgent","toLowerCase","iframe","style","display","height","width","position","top","left","loaded","removeEventListener","body","removeChild","addEventListener","setGlobalData","res","SCENES","scenes","GLOBAL_DATA","global","PROJECT_ID","id","BUSINESS_DATA","businessData","__DATA__","shareData","getShareData","share","default","eventTable","_global","nextUrls","EVENT_LIST","_util","getTargetUrl","nextUrl","shortLink","link","getEventList","each","eventInfo","refId","eventArr","loadScript","url","callback","getElementsByTagName","readyState","onreadystatechange","seriParam","paramObj","isEncode","param","ownProperty","encodeURIComponent","substring","getQueryString","g","h","b","f","a","search","split","decodeURIComponent","refreshPageByBack","log","isIOS","match","isPageHide","reload","urlParams","dchn","dchnArr","targetDchn","targetDchnArr","concat","newDchn","join","newUrl","_queryString","_interopRequireDefault","_dajax","isEnv","indexOf","process","_queryString$parse","queryString","parse","env","_queryString$parse2","preview","dataApi","getData","_getData","_asyncToGenerator2","_regenerator","mark","_callee3","_queryString$parse3","wrap","_context3","prev","next","Array","isArray","abrupt","fetch","then","response","json","_ref","_callee","_res","_context","Dajax","sent","t0","t1","stop","_x","catch","_ref2","_callee2","_context2","_x2","_vue","_vuex","Vue","use","Vuex","store","Store","state","partnerId","E","accountNum","getters","getPartnerId","getAccountNum","mutations","setPartnerId","setAccountNum","obj","blackList","decode","params","lang","cityid","parseInt","twReg","_h","_dpubRender","_h2","eventActions","_interopRequireWildcard","_initData","_connectApp","_recommendCom","_utils","_utils2","_index4","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","ownKeys","keys","getOwnPropertySymbols","filter","_objectSpread","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","dpubWidget","D","is","web","bridge","agility","Coupon","layers","map","item","index","pageType","strategyId","testButton","recommend_business_line","props","shareUrl","listId","couponListKey","__DomData","__shareData","canShare","toLocaleLowerCase","setShare","setLoginConfig","loginType","__EVENT_ACTIONS","renderFn","genRenderFnForH5","promotionWidget","el","render","created","_this","getLoginInfofromApp","mountUserinfo","initPartnerSet","setShareConfig","$store","commit","utmSource","pageId","Omega","setConfig","attrs","pub_marketing_dchn","pub_marketing_pid","Info","uid","pub_marketing_cid","companyId","trackEvent","channel_id","checkIsVip","checkUserInfo","fusionUrl","ESBridge","appEnvObj","isDidiESApp","isDidiApp","isWx","isWxMiniApp","fetchIsVip","token","source","fetchGetAuthAndRecharge","_ref3","isNeedCheck","_ref4","isVip","is_vip","userinfoObj","sessionStorage","phone","getUserInfo","_ref5","bridgeApi","ready","JSON","getNowTaskVal","_ref6","startTime","endTime","taskId","form","urlApi","assign","typeTrans","4","10","11","12","withCredentials","getHotelList","order_source","datatype","timestamp","Date","getTime","app_version","company_id","city_id","cityId","didi_hotel_ids","hotelIds","checkin_date","checkout_date","perday_money_quota","travel_type","page_size","replace","post","headers","needEncrypt","baseShareConfig","weixin_appmsg","weixin_timeline","qq_appmsg","qzone","alipay_appmsg","alipay_timeline","ding_talk","EsShareConfig","share_url","share_url_origin","share_title","share_content","content","share_picture","icon","share_channel","updateRightIcon","rightNavButtonClicked","commonShare","DEFAULT_EXT","appId","path","ext","sina_weibo","success","shareCardContent","shareCardIcon","thumbUrl","shadowImg","queryUrl","dataURl","trim","refedId","hrefWithoutHash","newHref","_index","hrefToEvent","elem","nodeName","parent","getDomParent","getAttribute","preventDefault","stopPropagation","customInvoke","targetUrl","omegaTrack","textContent","fn","cloneDeep","_typeof2","findIdsByKey","ids","children","dom","selector","parentNode","iterator","matches","_stats","_query","_resolveEvent","invoke","statsFn","ex","resolveEvent","defaultEventData","action","actionName","eventName","webpackContext","req","webpackContextResolve","code","fnBody","Function","getElementById","actionsMap","invokeShare","download","dialog","dial","anchor","customEvent","market","actionNames","values","ele","arr","moduleAction","actionConText","actionModule","defaultDriverHtml","defaultBrowserHtml","defaultPassengerHtml","pastTime","bridgeType","navi_url","urlScheme","__wxjs_environment","webapp","wx","jumpWxApp","jumpBrowser","isBridge","miniProgram","navigateTo","createIframe","jump","defaultJump","openTime","jumpBrowserTimer","scrolling","frameBorder","filterAttrs","blackKeyList","sendAction","defaultConfig","label","getLabel","refElem","text","dataset","cat","tt","fetchPartnerId","fetchCreateJsapiSignature","getAccountInfo","activityId","alertDialog","msg","showClose","overflow","msgHtml","_html","innerHTML","WXJsUrl","setShareRecommend","DiDiShareConfig","WxMessageShareConfig","WxTimeLineShareConfig","postMessage","imageUrl","WeixinJSBridge","config","nonceStr","signature","jsApiList","updateAppMessageShareData","updateTimelineShareData","status","partner_id","updateConfig","configObj","appName","userInfo","queryDataU","recommendKeyParams","paramsJson","stringify","newQueryDataStr","referee","recommendFlag","HOME_URL","shareTitle","shareContent","shareIcon","imgUrl","afterDiDiShareConfig","afterEsShareConfig","afterWxMessageShareConfig","afterWxTimeLineShareConfig","totalAmount","history","replaceState"],"mappings":"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","file":"js/app.72d5acdd.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d213aa8\":\"8ab7cb21\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"//es-static.xiaojukeji.com/static/web/xpub/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/**\n * @description 下载文件\n * @author wangfupeng\n */\n\nimport { URL_PARAMS } from './params'\n\nexport default function (eventData = {}) {\n // aio 全局变量\n const downloadUrl = eventData.downloadUrl\n if (!downloadUrl) {\n console.error('download url is null or undefined')\n return\n }\n\n // 手机号、邮箱、onetravel、diditravel协议直接跳转\n if (/^(onetravel|diditravel|tel|mailto).*/i.test(downloadUrl)) {\n location.href = downloadUrl\n return\n }\n\n const newDownloadUrl = K.query.build(downloadUrl, URL_PARAMS())\n window.location.href = newDownloadUrl\n}\n","import { getShareData } from './set-aio-share'\n/**\n * 设置标题方法,解决ios部分app无法动态设置标题的问题\n *\n * @author tianjingsi\n * @date 2019-09-29\n * @param {*} title\n */\nfunction setTitle (title) {\n document.title = title\n const ua = navigator.userAgent.toLowerCase()\n if (/iphone|ipad|ipod/.test(ua) && (/micromessenger/.test(ua) || /ddudriver/.test(ua))) {\n const iframe = document.createElement('iframe')\n iframe.style.display = 'none'\n iframe.src = '//static.udache.com/gulfstream/webapp/css/image/sawtooth.png'\n iframe.style.height = 0\n iframe.style.width = 0\n iframe.style.position = 'absolute'\n iframe.style.top = 0\n iframe.style.left = 0\n\n const loaded = function loaded () {\n setTimeout(() => {\n iframe.removeEventListener('load', loaded)\n document.body.removeChild(iframe)\n }, 0)\n }\n iframe.addEventListener('load', loaded)\n document.body.appendChild(iframe)\n }\n}\nfunction setGlobalData (res) {\n window.SCENES = res.scenes\n window.GLOBAL_DATA = res.global\n window.PROJECT_ID = res.id\n window.BUSINESS_DATA = res.businessData\n // 设置 aio\n window.__DATA__ = {}\n\n // 设置分享\n const shareData = getShareData(res.global.share)\n // 挂载分享信息到window上,AIO 在微信中拉起分享时需要\n window.__DATA__.shareData = shareData\n return shareData\n}\nexport default {\n setTitle,\n setGlobalData\n}\n","/**\n * @description 查询事件数据\n * 不了解数据结构的可先参考 http://wiki.intra.xiaojukeji.com/pages/viewpage.action?pageId=239234920\n * @author wangfupeng\n */\n\nimport { each } from '../util'\n\n// 准备网页数据\nlet scenes\nlet eventTable\nlet _global\nlet nextUrls\n\n// 存储数据列表(根据 layerId 组织)\nlet EVENT_LIST\n\n/**\n * 试图从 nextUrls 中获取链接\n * @param {String} id nextUrl id\n * @returns {String} 成功返回链接,失败返回传入的 id\n */\nfunction getTargetUrl (id) {\n if (!id || nextUrls[id] == null) {\n return id\n }\n const nextUrl = nextUrls[id]\n if (nextUrl.shortLink) {\n return nextUrl.shortLink\n }\n if (nextUrl.link) {\n return nextUrl.link\n }\n return id\n}\n\n/**\n * 获取事件列表,根据 layerId 组件\n */\nfunction getEventList () {\n const result = {}\n\n // 遍历 eventTable\n each(eventTable, (key, eventInfo) => {\n // 节点 id\n const id = eventInfo.refId\n\n // 为每个节点,都新建一个数组,存储事件列表\n if (result[id] == null) {\n result[id] = []\n }\n const eventArr = result[id]\n\n // 记录当前事件\n eventArr.push(eventInfo)\n })\n\n return result\n}\n\n/**\n * 获取该组件的事件列表\n * @param {string} id layerId\n */\nfunction query (id) {\n if (scenes == null) scenes = window.SCENES || {}\n if (eventTable == null) eventTable = scenes.eventTable || {}\n if (_global == null) _global = window.GLOBAL_DATA || {}\n if (nextUrls == null) nextUrls = _global.nextUrls || {}\n if (EVENT_LIST == null) {\n EVENT_LIST = getEventList()\n }\n return EVENT_LIST[id] || []\n}\n\nexport {\n query,\n getTargetUrl\n}\n","const loadScript = function (url, callback) {\n const script = document.createElement('script')\n const head = document.getElementsByTagName('head')[0]\n script.type = 'text/javascript'\n\n if (script.readyState) {\n // IE\n script.onreadystatechange = function () {\n if (\n script.readyState === 'loaded' ||\n script.readyState === 'complete'\n ) {\n script.onreadystatechange = null\n head.removeChild(script)\n callback && callback()\n }\n }\n } else {\n // Others\n script.onload = function () {\n head.removeChild(script)\n callback && callback()\n }\n }\n script.src = url\n head.appendChild(script)\n}\nconst seriParam = function (paramObj, isEncode) {\n let param = ''\n const ownProperty = Object.prototype.hasOwnProperty\n for (const key in paramObj) {\n if (ownProperty.call(paramObj, key)) {\n param += key + '=' + (isEncode ? encodeURIComponent(paramObj[key]) : paramObj[key]) + '&'\n }\n }\n return param.substring(0, param.length - 1)\n}\nconst getQueryString = function () {\n let g\n let h\n const b = {}\n let d = null\n let e = null\n let f = null\n const a = location.search.length ? location.search.substring(1) : ''\n const c = a.split('&')\n if (c) {\n for (g = 0, h = c.length; h > g; g++) {\n d = c[g].split('=')\n e = decodeURIComponent(d[0])\n f = decodeURIComponent(d[1])\n b[e] = f\n }\n }\n return b\n}\nconst refreshPageByBack = function () {\n console.log('执行了!!!!!')\n const isIOS = navigator.userAgent.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/)\n // eslint-disable-next-line\n if (!!isIOS) {\n let isPageHide = false\n console.log('------> page <--------')\n window.addEventListener('pageshow', function () {\n if (isPageHide) {\n console.log('------> pageshow <------')\n window.location.reload()\n }\n })\n window.addEventListener('pagehide', function () {\n console.log('------> pagehide <------')\n isPageHide = true\n })\n }\n}\nexport {\n loadScript,\n seriParam,\n getQueryString,\n refreshPageByBack\n}\n","/**\n * @description 网页跳转事件\n * @author wangfupeng\n */\n\nimport { URL_PARAMS } from './params'\n\n/**\n * 跳转\n * @param {Object} eventData 事件配置\n */\nexport default function (eventData = {}) {\n const location = window.location\n const url = eventData.target\n if (!url) {\n console.error('target url is null or undefined')\n return\n }\n\n // 手机号、邮箱、onetravel、diditravel协议直接跳转\n if (/^(globalonetravel|onetravel|diditravel|tel|mailto).*/i.test(url)) {\n location.href = url\n return\n }\n const urlParams = URL_PARAMS()\n // ------------ 处理 dchn 参数 begin (wangfupeng) ------------\n // 获取当前 url 的 dchn 参数。多个参数值可能是数组形式,如 dchn=[aaa,bbb,ccc]\n const dchn = urlParams.dchn || ''\n // 万一是 dchn=[aaa,[bbb,ccc]] 形式,要将其 flat\n let dchnArr = dchn.match(/[A-Za-z0-9]+/g) || []\n // 获取将要跳转的目标页面的 dchn 参数,并将其插入到现有数组之前(必须是插入到之前!!!)\n const targetDchn = K.query.get('dchn', url)\n if (targetDchn != null) {\n // 注意,万一 targetDchn 也是 [aaa,[bbb,ccc]] 形式\n const targetDchnArr = targetDchn.match(/[A-Za-z0-9]+/g) || []\n dchnArr = targetDchnArr.concat(dchnArr)\n }\n // 变为字符串\n let newDchn = ''\n if (dchnArr.length === 1) {\n // 一个渠道号\n newDchn = dchnArr[0]\n } else if (dchnArr.length > 1) {\n // 多个渠道号\n newDchn = `[${dchnArr.join(',')}]`\n }\n // 重新赋值\n urlParams.dchn = newDchn\n // ------------ 处理 dchn 参数 end ------------\n\n const newUrl = K.query.build(url, urlParams)\n location.href = newUrl\n}\n","import queryString from 'query-string'\nimport Dajax from '@didi/dajax'\n\nconst isEnv = ['test', 'development'].indexOf(process.env.NODE_ENV) >= 0\nconst { env } = queryString.parse(window.location.search)\nconst { preview } = queryString.parse(window.location.search)\nlet dataApi = '//es-static.xiaojukeji.com/static/web/'\n\nif (env === 'dev') {\n dataApi = 'http://100.69.238.155:8002/static/ndpubimg/'\n}\n\nif (preview === 'true') {\n dataApi = 'http://100.69.238.155:8002/static/ndpubimg/'\n}\n\nif (isEnv) {\n dataApi = 'http://10.90.28.42:8052/static/anything/'\n}\n\nasync function getData () {\n // let data = {}\n let { s } = queryString.parse(window.location.search)\n console.log(s, s.length)\n if (Array.isArray(s)) {\n s = s[0]\n }\n console.log(s)\n if (s) {\n console.log('数据来源于接口请求')\n // try {\n return fetch(`//eos-marketing.es.xiaojukeji.com/api/v2/rule/timestamp/${s}`).then(function (response) {\n return response.json()\n }).then(async function (data) {\n if (data && data.data) {\n try {\n const res = await Dajax.get(`${dataApi}${s}.json?t=${data.data}`)\n return res.data\n } catch (error) {\n throw error\n }\n } else {\n try {\n const res = await Dajax.get(`${dataApi}${s}.json?t=1.0.0`)\n return res.data\n } catch (error) {\n throw error\n }\n }\n }).catch(async function (e) {\n try {\n const res = await Dajax.get(`${dataApi}${s}.json?t=1.0.0`)\n return res.data\n } catch (error) {\n throw error\n }\n })\n // } catch (err) {\n // throw err\n // }\n } else if (isEnv) {\n console.log('数据来源于mockData')\n return import('mockData')\n // try {\n // // eslint-disable-next-line global-require\n // return import('mockData')\n // } catch (err) {\n // throw err\n // }\n } else {\n throw new Error(`can not fetch data in ${process.env.NODE_ENV}, please check your url, it mast have s in query`)\n }\n // return data\n}\n\nexport default getData\n","import Vue from 'vue'\nimport Vuex from 'vuex'\n// 挂载Vuex\nVue.use(Vuex)\n// 创建VueX对象\nconst store = new Vuex.Store({\n state: {\n partnerId: window.E.partnerId,\n accountNum: window.E.accountNum\n },\n getters: {\n getPartnerId (state) {\n console.log('state-getters', state)\n if (window.E.partnerId) {\n state.partnerId = window.E.partnerId\n }\n return state.partnerId\n },\n getAccountNum (state) {\n console.log('state-getters-getAccountNum', state)\n if (window.E.accountNum) {\n state.accountNum = window.E.accountNum\n }\n return state.accountNum\n }\n },\n mutations: {\n setPartnerId (state) {\n console.log('setPartnerId state', state)\n state.partnerId = window.E.partnerId\n },\n setAccountNum (state) {\n console.log('setAccountNum state', state, window.E.accountNum)\n state.accountNum = window.E.accountNum\n }\n }\n})\nexport default store\n","/**\n * @description url 参数相关\n * @author wangfupeng\n */\n\nimport { each } from '../util'\n\n/**\n * 截取当前页面的url参数\n * 过滤黑名单\n */\nfunction URL_PARAMS () {\n const obj = {}\n const blackList = ['debug', 'id']\n each(K.query.decode().params, (key, value) => {\n if (blackList.indexOf(key) === -1) {\n obj[key] = value\n }\n })\n // 保证 lang cityid 直接透传\n if (obj.lang && obj.cityid) {\n // 多语言,lang,cityid 兜底逻辑\n let lang = obj.lang\n obj.cityid = parseInt(obj.cityid)\n const twReg = /^886500[0-9]{3}$/\n if (twReg.test(obj.cityid)) {\n lang = 'zh-TW'\n }\n\n obj.lang = lang\n }\n\n // 香港也有多语言如zh-HK,zh-CN\n if (!obj.lang && obj.cityid === 357) {\n obj.lang = 'zh-HK'\n }\n\n return obj\n}\n\nexport {\n URL_PARAMS\n}\n","import Vue from 'vue'\n\n// 引入 css\nimport './lib/css/reset.css'\nimport dpubWidget from '@didi/dpub-widget-thanos/lib/kpubGroup/h5'\nimport '@didi/dpub-widget-thanos/lib/kpubGroup/h5/index.css'\nimport { genRenderFnForH5 } from '@didi/dpub-render'\nimport promotionWidget from '@didi/xpub_es_promotion/dist/h5'\nimport '@didi/xpub_es_promotion/dist/h5/index.css'\n\nimport * as eventActions from './lib/js/event/index'\nimport getData from './lib/js/initData'\nimport { getLoginInfofromApp, checkIsVip, checkUserInfo, setShare } from './lib/js/common/connectApp'\nimport { mountUserinfo, initPartnerSet, setShareConfig } from './lib/js/common/recommendCom'\nimport { getQueryString, refreshPageByBack } from './lib/js/common/utils'\n// import App from './App.vue'\nimport agility from './lib/js/utils'\nimport store from './store/index'\nVue.use(dpubWidget)\n\nwindow.D = K\nwindow.D.is = K.web.is\nrefreshPageByBack()\n// console.log('NODE_ENV', process.env.NODE_ENV)\n// 准备渲染数据。开发环境下返回 mock 数据,生产环境将替换真实数据。\ngetData().then((res) => {\n if (K.web.is('passenger')) {\n window.D.bridge.setTitle(res.title)\n } else {\n agility.setTitle(res.title)\n }\n\n const {\n // title,\n global\n } = res\n window.Coupon = {}\n // console.log(res)\n res.scenes.layers.map(function (item, index) {\n if (item.key === 'XpubespromotionEsPromotionStrategy') {\n window.pageType = 'recommendPage'\n window.strategyId = res.businessData.testButton\n window.recommend_business_line = item.props.recommend_business_line\n }\n if (item.key === 'XpubespromotionEsPromotionRecommentbtn') {\n window.shareUrl = item.props.shareUrl\n }\n if (item.key === 'XpubespromotionEsPromotionCoupondraw') {\n window.Coupon.listId = res.businessData.couponListKey\n }\n })\n // agility.setTitle(title)\n // window 数据挂载……\n window.__DomData = res\n window.__shareData = agility.setGlobalData(res)\n const shareData = agility.setGlobalData(res)\n\n if (global.canShare) {\n if (window.pageType === 'recommendPage' || window.navigator.userAgent.toLocaleLowerCase().indexOf('didies') > -1) {\n console.log('推荐有奖页面或者滴滴企业版打开')\n } else {\n K.setShare(shareData)\n }\n } else {\n // 关闭分享...\n K.setShare(false)\n }\n // 设置登录\n K.setLoginConfig({\n loginType: 'trinity'\n })\n window.__EVENT_ACTIONS = eventActions\n\n // 生成渲染函数\n const renderFn = genRenderFnForH5(res, { ...dpubWidget, ...promotionWidget })\n // eslint-disable-next-line\n new Vue({\n el: '#app',\n store,\n render: h => h('div', {\n props: res\n }, [\n // 先渲染Dpub的组件\n renderFn(h)\n // 插入其他业务组件\n // h(App, {\n // props: res\n // })\n ]),\n created: function () {\n // `this` 指向 vm 实例\n // console.log('a is: ' + this.a)\n // console.log('window.E.partnerId', window.E.partnerId, this.$store.state.partnerId)\n if (window.pageType === 'recommendPage') {\n // console.log('23232323----23232323')\n getLoginInfofromApp().then(mountUserinfo).then(initPartnerSet).then(setShareConfig).then((res) => {\n if (res) {\n this.$store.commit('setPartnerId')\n this.$store.commit('setAccountNum')\n console.log('window.E.partnerId----------', window.E.partnerId, this.$store.state.partnerId)\n }\n const utmSource = getQueryString().dchn ? getQueryString().dchn : 'nosource'\n const pageId = getQueryString().s ? getQueryString().s : 'noId'\n Omega && Omega.setConfig({ attrs: { pub_marketing_dchn: utmSource, pub_marketing_pid: window.Info.uid, pub_marketing_cid: window.Info.companyId } })\n if (Omega && Omega.trackEvent) {\n Omega.trackEvent('es_moongazing_xpubedit_sw', '望月-活动工具-点击页面-展现',\n { channel_id: utmSource, id: pageId, uid: window.Info.uid }\n )\n }\n })\n } else {\n console.log('1111')\n getLoginInfofromApp().then(checkIsVip).then(checkUserInfo).then(setShare)\n .then(() => {\n const utmSource = getQueryString().dchn ? getQueryString().dchn : 'nosource'\n const pageId = getQueryString().s ? getQueryString().s : 'noId'\n Omega && Omega.setConfig({ attrs: { pub_marketing_dchn: utmSource, pub_marketing_pid: window.Info.uid, pub_marketing_cid: window.Info.companyId } })\n if (Omega && Omega.trackEvent) {\n Omega.trackEvent('es_moongazing_xpubedit_sw', '望月-活动工具-点击页面-展现',\n { channel_id: utmSource, id: pageId, uid: window.Info.uid }\n )\n }\n })\n }\n }\n })\n})\n","// import { fetchCreateJsapiSignature } from '../../../common/fetch/page/eos-marketing'\nimport { loadScript } from './utils'\nimport Dajax from '@didi/dajax'\n\n// const DiDiBridge = '//static.udache.com/agility-sdk/2.0.3/aio.js'\nconst fusionUrl = '//es-static.xiaojukeji.com/static/web/home/js/sdk/fusion-1-286cd68b73.0.7.js'\nconst ESBridge = '//es-static.xiaojukeji.com/static/web/home/js/jimuBridge1-0e2f50317f.4.1.js'\n// const WXJsUrl = '//res.wx.qq.com/open/js/jweixin-1.6.0.js'\n\nconst appEnvObj = {\n isDidiESApp: window.navigator.userAgent.toLocaleLowerCase().indexOf('didies') > -1,\n isDidiApp: window.navigator.userAgent.toLocaleLowerCase().indexOf('didi.passenger') > -1,\n isWx: window.navigator.userAgent.toLocaleLowerCase().indexOf('micromessenger') > -1,\n isWxMiniApp: (\n window.navigator.userAgent.toLocaleLowerCase().indexOf('miniprogram') > -1 && window.navigator.userAgent.toLocaleLowerCase().indexOf('micromessenger') > -1\n )\n}\n\n// import './jimuBridgeApi'\nexport { appEnvObj }\n\nwindow.E = {}\nwindow.Info = {}\n\nconst fetchIsVip = ({ token, source }) => {\n console.log(token)\n return Dajax.get('//es.xiaojukeji.com/gaea/company/promotion/isVip', {\n params: {\n source,\n token\n }\n }).then(response => response.json())\n // return Dajax.get('/gaea/company/promotion/isVip', params).then(response => response.json())\n}\n\nconst fetchGetAuthAndRecharge = window.E.fetchGetAuthAndRecharge = ({ token, source }) => {\n console.log(token)\n return Dajax.get('//es.xiaojukeji.com/gaea/company/promotion/getAuthAndRecharge', {\n params: {\n source,\n token\n }\n }).then(response => response.json())\n // return Dajax.post('/gaea/company/promotion/getAuthAndRecharge', params).then(response => response.json())\n}\n\n// const fetchCreateJsapiSignature = ({ url }) => {\n// return Dajax.get('//es.xiaojukeji.com/api/eos/v2/weixin/createJsapiSignature', {\n// params: {\n// url\n// }\n// }).then(response => response.json())\n// }\n\nexport const checkUserInfo = window.E.checkUserInfo = ({ isNeedCheck, token }) => {\n return new Promise((resolve, reject) => {\n if (isNeedCheck) {\n fetchGetAuthAndRecharge({\n source: 'activity_5',\n token\n }).then((res) => {\n // const { data } = res\n console.log('fetchGetAuthAndRechargeData', res)\n /* this.setState({\n isHomeBtnReady: true,\n isRecharege:data.company_recharge_time != 0 ? true : false,\n isCredit:data.company_credit == 1 ? true : false,\n isPay:data.company_admin && data.company_admin.pay == 1 ? true :false\n }) */\n resolve()\n })\n } else {\n /* this.setState({\n isHomeBtnReady: true\n }) */\n resolve()\n }\n })\n}\n\nexport const checkIsVip = window.E.checkIsVip = ({ token }) => {\n console.log('token', token)\n return new Promise((resolve, reject) => {\n if (token) {\n return fetchIsVip({\n source: 'activity_5',\n token\n }).then((res) => {\n console.log('res', res)\n const { data } = res\n // sessionStorage.isVip = data.is_vip\n const isVip = data.is_vip === 1\n /* this.setState({\n isVip\n }) */\n resolve({\n isNeedCheck: isVip,\n token\n })\n })\n } else {\n resolve({\n isNeedCheck: false,\n token: false\n })\n }\n })\n}\n\nexport const mountUserinfo = (userinfoObj) => {\n console.log('userinfoObj', userinfoObj)\n return new Promise((resolve, reject) => {\n try {\n if (userinfoObj) {\n sessionStorage.token = userinfoObj.token\n sessionStorage.phone = userinfoObj.phone\n /* this.setState({\n token: userinfoObj.token,\n phone: userinfoObj.phone\n }) */\n resolve(userinfoObj.token)\n } else {\n resolve()\n }\n } catch (error) {\n reject(error)\n }\n })\n}\n\nexport const getLoginInfofromApp = window.E.getLoginInfofromApp = () => {\n return new Promise((resolve, reject) => {\n try {\n if (appEnvObj.isDidiApp) {\n console.log('didiapp121212', K, K.getUserInfo())\n K.getUserInfo(({ phone, token, uid }) => {\n console.log(phone, token, uid)\n window.Info.uid = uid\n resolve({\n token,\n phone,\n uid\n })\n }, (res) => {\n console.log('fail')\n console.log(res)\n })\n } else if (appEnvObj.isDidiESApp) {\n console.log('esApp')\n // console.log('win.loadSc',window.loadScript)\n\n loadScript(fusionUrl, () => {\n console.log('fusionUrl', fusionUrl)\n loadScript(ESBridge, () => {\n console.log('ESBridge', ESBridge)\n window.bridgeApi.ready(() => {\n console.log('esApp Ready')\n window.bridgeApi.getUserInfo((data) => {\n console.log('esApp data', data)\n if (typeof data === 'string') {\n data = JSON.parse(data)\n }\n window.Info.companyId = data.companyId\n window.Info.uid = data.uid\n if (Object.keys(data).length > 0 && data.token && data.phone) {\n resolve({\n token: data.token,\n phone: data.phone\n })\n } else {\n resolve(false)\n }\n })\n })\n })\n })\n } else {\n resolve(false)\n }\n } catch (error) {\n reject(error)\n }\n })\n}\n\nexport const getNowTaskVal = window.E.getNowTaskVal = ({ type, token, startTime, endTime, taskId, form }) => {\n console.log('token', type, token, startTime, endTime, form)\n let urlApi = ''\n const params = {\n startTime,\n endTime\n }\n if (type === 1 || type === 5) {\n urlApi = '//eos-marketing.es.xiaojukeji.com/api/eos/data/activityFulfill/companyGmv'\n Object.assign(params, {\n type: type\n })\n } else if (type === 6 || type === 7 || type === 8 || type === 9) {\n urlApi = '//eos-marketing.es.xiaojukeji.com/api/eos/data/activityFulfill/userGmv'\n Object.assign(params, {\n type: type\n })\n } else if (type === 2) {\n urlApi = '//eos-marketing.es.xiaojukeji.com/api/eos/data/activityFulfill/activateAccount'\n } else if (type === 3) {\n urlApi = '//eos-marketing.es.xiaojukeji.com/api/eos/data/activityFulfill/uploadAccount'\n } else if (type === 12 && taskId) {\n urlApi = '//eos-marketing.es.xiaojukeji.com/eos/rule/task/api/my/xpubTask'\n Object.assign(params, {\n taskId\n })\n } else if (type === 4 || type === 10 || type === 11 || type === 12) {\n const typeTrans = {\n 4: 1,\n 10: 2,\n 11: 3,\n 12: 4\n }\n urlApi = '//eos-marketing.es.xiaojukeji.com/api/eos/data/activityFulfill/userOrder'\n console.log('typeTrans[type]', typeTrans[type])\n Object.assign(params, {\n type: typeTrans[type]\n })\n }\n if (token) {\n Object.assign(params, {\n token\n })\n return Dajax.get(urlApi, {\n params: params\n }).then(response => response.json())\n } else if (form === 2) {\n return Dajax.get(urlApi, {\n withCredentials: true,\n params: params\n }).then(response => response.json())\n }\n}\nexport const getHotelList = window.E.getHotelList = (param) => {\n console.log('hotelIds')\n // console.log(wsgsig, window.wsgsig)\n const url = '//esapp.xiaojukeji.com/hotel/hotelSearch'\n const params = {\n order_source: 4,\n datatype: 101,\n timestamp: new Date().getTime(),\n app_version: '10.0',\n token: param.token,\n company_id: param.companyId,\n city_id: param.cityId,\n didi_hotel_ids: param.hotelIds,\n checkin_date: param.startTime,\n checkout_date: param.endTime,\n perday_money_quota: 0,\n travel_type: 1,\n page_size: param.hotelIds.replace(',', ',').split(',').length\n }\n return Dajax.post(url, {\n ...params\n }, {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n },\n needEncrypt: true\n }).then(response => response.json())\n}\n// const HOME_URL = 'https://es.xiaojukeji.com/fewxgrouph5/sale/july/home'\n// // const RECOMMEND_URL = 'https://es.xiaojukeji.com/fewxgrouph5/sale/july/recommend'\n// const SHARE_TITLE = '嗨~ 使用滴滴企业版,省心当老板。立即开通,领优惠!'\n// const SHARE_CONTENT = '限时优惠,最高返3200企业用车抵扣券,省心省力省成本,企业出行,就是这么简单!'\n// const SHARE_ICON = 'https://es-static.xiaojukeji.com/static/web/do1_MwITmFQNJnkr19IlCYtG'\n\nconst baseShareConfig = {\n // url: 'https://es.xiaojukeji.com/fewxgrouph5/sale/july/recommend?referee=1',\n\n weixin_appmsg: true,\n weixin_timeline: true,\n\n qq_appmsg: false,\n qzone: false,\n\n alipay_appmsg: false,\n alipay_timeline: false,\n ding_talk: false\n}\n\n// const DiDiShareConfig = Object.assign({}, baseShareConfig, {\n// url: HOME_URL,\n// title: SHARE_TITLE,\n// content: SHARE_CONTENT,\n// icon: SHARE_ICON\n// })\n\n// const WxMessageShareConfig = Object.assign({}, baseShareConfig, {\n// title: SHARE_TITLE,\n// desc: SHARE_CONTENT,\n// link: HOME_URL, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致\n// imgUrl: SHARE_ICON\n// })\n\n// const WxTimeLineShareConfig = Object.assign({}, baseShareConfig, {\n// title: SHARE_TITLE, // 分享标题\n// link: HOME_URL, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致\n// imgUrl: SHARE_ICON // 分享图标\n// })\n\nexport const setShare = () => {\n console.log('setShare')\n return new Promise((resolve, reject) => {\n try {\n // console.log(window.__DomData, '111', window.__shareData)\n if (window.__DomData.global.canShare) {\n if (appEnvObj.isDidiESApp) {\n const EsShareConfig = Object.assign({}, baseShareConfig, {\n share_url: window.__shareData.url,\n share_url_origin: window.__shareData.url,\n share_title: window.__shareData.title,\n share_content: window.__shareData.content,\n share_picture: window.__shareData.icon.indexOf('http:') > -1 ? window.__shareData.icon.replace('http:', 'https:') : window.__shareData.icon,\n share_channel: '1,2'\n })\n // console.log('EsShareConfig', EsShareConfig, window.bridgeApi, window.bridgeApi.updateRightIcon)\n window.bridgeApi.updateRightIcon(1)\n window.bridgeApi.rightNavButtonClicked(function () {\n window.bridgeApi.commonShare(EsShareConfig)\n })\n resolve()\n } else {\n console.log(111)\n K.setShare(window.__shareData)\n resolve()\n }\n } else {\n K.setShare(false)\n resolve()\n }\n // if (appEnvObj.isDidiApp) {\n // console.log(DiDiShareConfig)\n // K.setShare(DiDiShareConfig)\n // resolve()\n // } else if (appEnvObj.isWx) {\n // K.web.loadScript(WXJsUrl, {\n // type: 'text/javascript'\n // }, () => {\n // fetchCreateJsapiSignature({\n // // ...this.state,\n // url: encodeURIComponent(window.location.href)\n // // url: this.state.share_config.url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致\n // }).then((data) => {\n // console.log('wxshare', data)\n // window.wx.config({\n // // 开启调试模式,调用的所有api的返j回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。\n // // debug: true,\n // appId: data.data.appId, // 必填,公众号的唯一标识\n // timestamp: data.data.timestamp, // 必填,生成签名的时间戳\n // nonceStr: data.data.nonceStr, // 必填,生成签名的随机串\n // signature: data.data.signature, // 必填,签名\n // jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData'] // 必填,需要使用的JS接口列表\n // })\n // window.wx.ready(() => {\n // // console.log('wxready')\n // window.wx.updateAppMessageShareData(WxMessageShareConfig)\n // window.wx.updateTimelineShareData(WxTimeLineShareConfig)\n // })\n // resolve()\n // })\n // })\n // }\n // else if (appEnvObj.isDidiESApp) {\n // console.log('EsShareConfig', EsShareConfig)\n // window.bridgeApi.updateRightIcon(1)\n // window.bridgeApi.rightNavButtonClicked(function () {\n // window.bridgeApi.commonShare(EsShareConfig)\n // })\n // resolve()\n // } else if (appEnvObj.isWx) {\n // window.loadScript(WXJsUrl, () => {\n // fetchCreateJsapiSignature({\n // state: {\n // // ...this.state,\n // url: encodeURIComponent(window.location.href)\n // // url: this.state.share_config.url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致\n // },\n // callback: (data) => {\n // console.log('wxshare', data)\n // window.wx.config({\n // // 开启调试模式,调用的所有api的返j回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。\n // // debug: true,\n // appId: data.data.appId, // 必填,公众号的唯一标识\n // timestamp: data.data.timestamp, // 必填,生成签名的时间戳\n // nonceStr: data.data.nonceStr, // 必填,生成签名的随机串\n // signature: data.data.signature, // 必填,签名\n // jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData'] // 必填,需要使用的JS接口列表\n // })\n // window.wx.ready(() => {\n // // console.log('wxready')\n // window.wx.updateAppMessageShareData(WxMessageShareConfig)\n // window.wx.updateTimelineShareData(WxTimeLineShareConfig)\n // })\n // resolve()\n // }\n // })\n // })\n // } else if (appEnvObj.isWxMiniApp) {\n // window.loadScript(WXJsUrl, function () {\n // // web-view下的页面内\n // // function ready() {\n // window.wx.miniProgram.postMessage({\n // data: {\n // type: 'share',\n // data: {\n // title: '限时优惠,最高返3200元券',\n // url: WxMessageShareConfig.link, // + '{token}&isShare=1',\n // imageUrl: 'https://es-static.xiaojukeji.com/static/web/do1_XxSg9WbFizdYwi1tbKCA'\n // }\n // }\n // })\n // resolve()\n // // }\n // // if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {\n // // document.addEventListener('WeixinJSBridgeReady', ready, false)\n // // } else {\n // // ready()\n // // }\n // })\n // } else {\n // resolve()\n // }\n } catch (error) {\n reject(error)\n }\n })\n}\n","/**\n * @description 设置 aio 分享\n * @author wangfupeng\n */\n\n// 分享小程序的默认配置\nconst DEFAULT_EXT = {\n appId: 'gh_233a09669f6e',\n path: '/pages/bridgePage/index?type=webView&contentType=_CONTENTTYPE_&needLogin=_NEEDLOGIN_&url=_URL_'\n}\n\n/**\n * 格式化分享数据\n * @param {Object} shareData 分享数据 page.global.share\n */\nexport function getShareData (data) {\n if (K == null) {\n return\n }\n\n if (data.ext == null || data.ext.appId == null) {\n data.ext = DEFAULT_EXT\n }\n\n // 设置分享数据\n const shareData = Object.assign(\n // 默认数据\n {\n title: '滴滴出行',\n icon: 'http://static.diditaxi.com.cn/activity/img-mall/share.jpg',\n content: '滴滴一下,美好出行',\n qzone: false,\n sina_weibo: false,\n qq_appmsg: false,\n success () {\n }\n },\n // 分享数据\n {\n title: data.title,\n content: data.content,\n url: '',\n type: data.type,\n ext: data.ext || {},\n shareCardContent: data.shareCardContent || '滴滴出行',\n shareCardIcon: data.shareCardIcon || '',\n icon: data.thumbUrl.indexOf('http') > -1 ? data.thumbUrl : `http:${data.thumbUrl}`,\n shadowImg: data.shadowImg || ''\n }\n )\n const queryUrl = K.query.query()\n const isWxMiniApp = window.navigator.userAgent.toLocaleLowerCase().indexOf('miniprogram') > -1 && window.navigator.userAgent.toLocaleLowerCase().indexOf('micromessenger') > -1\n let dataURl = data.url\n if (isWxMiniApp) {\n dataURl = K.query.build('https://es.xiaojukeji.com/xpubpage/index', Object.assign({}, queryUrl))\n }\n // console.log(dataURl, '123242')\n shareData.url = dataURl || ''\n shareData.url = shareData.url.trim() || location.href.replace(/token=[^&]*&?/, '')\n return shareData\n}\n\n/**\n * 设置分享\n * @param {Object} shareData 分享数据 page.global.share\n */\nexport default function (data) {\n if (K == null) {\n return\n }\n const shareData = getShareData(data)\n // 设置分享\n K.setShare(shareData)\n}\n","/**\n * @description 锚点,页面位置\n * @author wangfupeng\n */\n\nexport default function (eventData = {}) {\n const refedId = eventData.refedId\n if (!refedId) {\n console.error('弹框组件 id 未找到', refedId)\n return\n }\n\n const href = window.location.href\n const hrefWithoutHash = href.split('#')[0]\n const newHref = `${hrefWithoutHash}#${refedId}` // 拼接锚点 id\n window.location.href = newHref\n}\n","/**\n * @description 将富文本链接转为跳转事件\n * @author wangfupeng\n */\n\nimport { getDomParent } from '../util'\nimport { customInvoke } from './index'\n\n/**\n * 富文本链接转为跳转事件\n */\nfunction hrefToEvent () {\n document.body.addEventListener('click', (e) => {\n let elem = e.target\n if (elem.nodeName !== 'A') {\n // 点击的不是 ,再判断上级元素\n const parent = getDomParent(elem, 'a')\n if (parent != null) {\n // 上级元素是 \n elem = parent\n } else {\n // 上级元素没有 \n return\n }\n }\n\n // 判断链接\n const link = elem.getAttribute('href')\n if (!link) {\n // 找不到链接,则忽略\n return\n }\n\n // 阻止默认行为和冒泡\n e.preventDefault()\n e.stopPropagation()\n\n // 模拟一个跳转事件,统一调用\n customInvoke({\n refId: 'dpub3-rich-text-href',\n targetUrl: link, // 直接用链接,而不是 target id\n omegaTrack: elem.textContent // 统计标识\n })\n })\n}\n\nexport default hrefToEvent\n","/**\n * @description 工具函数\n * @author wangfupeng\n */\n\n/**\n * 变量对象或数组\n * @param {Object} obj 原数据\n * @param {function} fn 回调函数\n */\nfunction each (obj = {}, fn) {\n if (obj instanceof Array) {\n // 数组\n const length = obj.length\n for (let i = 0; i < length; i++) {\n fn(i, obj[i])\n }\n } else {\n // 对象\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n fn(key, obj[key])\n }\n }\n }\n}\n\n/**\n * 深拷贝\n * @param {Object|Array} obj 即将深拷贝的对象或数组\n */\nfunction cloneDeep (obj) {\n if (typeof obj !== 'object' || obj === null) {\n return obj\n }\n let result\n if (obj instanceof Array) {\n // 数组\n result = []\n each(obj, (index, value) => {\n result.push(\n cloneDeep(value)\n )\n })\n } else {\n // 对象\n result = {}\n each(obj, (key, value) => {\n result[key] = cloneDeep(obj[key])\n })\n }\n return result\n}\n\n/**\n * 查找所有key对应的id\n *\n * @author tianjingsi\n * @date 2019-10-16\n * @param {Array} data\n * @param {String} key\n * @returns {Array} id列表\n */\nfunction findIdsByKey (data, key) {\n let ids = []\n data.forEach((item) => {\n if (item.key === key) {\n ids.push(item.id)\n }\n if (item.children) {\n ids = ids.concat(findIdsByKey(item.children, key))\n }\n })\n return ids\n}\n\n/**\n * 获取 DOM 节点父元素\n * @param {Object} dom DOM 元素节点\n * @param {string} selector 父元素选择器\n */\nfunction getDomParent (dom, selector) {\n if (!selector) return dom.parentNode\n let parent = null\n let iterator = dom.parentNode\n while (iterator && iterator !== document.body) {\n if (iterator.matches(selector)) {\n parent = iterator\n break\n }\n iterator = iterator.parentNode\n }\n\n return parent\n}\n\nexport {\n each,\n cloneDeep,\n findIdsByKey,\n getDomParent\n}\n","/**\n * @description 事件处理,入口文件\n * @author wangfupeng\n */\n\nimport statsFn from './stats'\nimport { query, getTargetUrl } from './query'\nimport resolveEvent from './resolveEvent'\nimport { getDomParent } from '../util'\n\n// 富文本链接 -> 跳转事件\nhrefToEvent()\n/**\n * 富文本链接转为跳转事件\n */\nfunction hrefToEvent () {\n document.body.addEventListener('click', (e) => {\n let elem = e.target\n if (elem.nodeName !== 'A') {\n // 点击的不是 ,再判断上级元素\n const parent = getDomParent(elem, 'a')\n if (parent != null) {\n // 上级元素是 \n elem = parent\n } else {\n // 上级元素没有 \n return\n }\n }\n\n // 判断链接\n const link = elem.getAttribute('href')\n if (!link) {\n // 找不到链接,则忽略\n return\n }\n\n // 阻止默认行为和冒泡\n e.preventDefault()\n e.stopPropagation()\n\n // 模拟一个跳转事件,统一调用\n customInvoke({\n refId: 'dpub3-rich-text-href',\n targetUrl: link, // 直接用链接,而不是 target id\n omegaTrack: elem.textContent // 统计标识\n })\n })\n}\n\n/**\n * 触发事件的入口\n * @param {Object} eventData 事件配置,格式参考 http://wiki.intra.xiaojukeji.com/pages/viewpage.action?pageId=239234920 中 eventTable 的一个属性值\n */\nfunction invoke (eventData = {}) {\n // 分析 target 下游链接\n if (eventData.targetUrl) {\n // 如果有 targetUrl ,则直接取来\n eventData.target = eventData.targetUrl\n } else if (eventData.target) {\n // 没有 targetUrl ,试图从 nextUrls 找到链接\n eventData.target = getTargetUrl(eventData.target)\n }\n\n // 事件统计打点\n try {\n statsFn(eventData)\n } catch (ex) {\n console.error('error in stats')\n }\n\n // 触发事件执行\n resolveEvent(eventData)\n}\n\n/**\n * 自造事件配置,触发事件\n * @param {Object} eventData 事件配置\n */\nfunction customInvoke (eventData = {}) {\n // 拼接\n const defaultEventData = {\n refId: 'customInvoke', // id 不传,则默认为一个字符串\n action: 'location',\n actionName: '跳转',\n eventName: 'click',\n name: '点击',\n target: '#', // url 链接\n omegaTrack: 'customInvoke-label' // 统计标识\n }\n eventData = Object.assign({}, defaultEventData, eventData)\n\n // 触发事件执行\n invoke(eventData)\n}\n\nexport {\n query,\n getTargetUrl,\n invoke,\n customInvoke\n}\n","var map = {\n\t\"./anchor.js\": \"ad81\",\n\t\"./bridge.js\": \"ce74\",\n\t\"./customEvent.js\": \"c000\",\n\t\"./dial.js\": \"de34\",\n\t\"./dialog.js\": \"c3fe\",\n\t\"./downloadFile.js\": \"2111\",\n\t\"./hrefToEvent.js\": \"b20c\",\n\t\"./index.js\": \"b926\",\n\t\"./location.js\": \"3b87\",\n\t\"./params.js\": \"4f49\",\n\t\"./query.js\": \"39d1\",\n\t\"./resolveEvent.js\": \"c919\",\n\t\"./share.js\": \"d879\",\n\t\"./stats.js\": \"da56\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"bd3c\";","/**\n * @description 自定义事件,自定义代码\n * @author wangfupeng\n */\n\nexport default function (eventData = {}) {\n // 自定义事件的代码\n const code = eventData.code || ''\n\n // 构建函数\n const fnBody = `try {\n ${code}\n } catch (ex) {\n console.error('customeEvent code error', ex)\n }`\n const fn = new Function(fnBody)\n\n // 执行\n fn.call(window)\n}\n","/**\n * @description 触发弹框事件\n * @author wangfupeng\n */\n\nexport default function (eventData = {}) {\n const refedId = eventData.refedId\n if (!refedId) {\n console.error('弹框组件 id 未找到', refedId)\n return\n }\n\n // 找到弹框组件\n const elem = document.getElementById(refedId)\n if (elem == null) {\n console.error('id 找不到弹框组件 elem', refedId)\n return\n }\n\n // 显示弹框组件\n elem.style.display = 'block'\n}\n","\n/**\n * 反馈动作与事件触发映射关系\n*/\nconst actionsMap = {\n invokeShare: 'share',\n location: 'location',\n download: 'downloadFile',\n dialog: 'dialog',\n dial: 'dial',\n anchor: 'anchor',\n customEvent: 'customEvent',\n market: 'location',\n bridge: 'bridge'\n}\n// 汇总事件触发方法 + 去重\nconst actionNames = Object.values(actionsMap).filter((ele, index, arr) => arr.indexOf(ele) === index)\n\n/**\n* 加载事件触发方法\n*/\nconst moduleAction = {}\n\nconst actionConText = require.context('../event', true, /\\.js$/)\nactionConText.keys().forEach((item) => {\n const actionName = item.split('/')[1].split('.')[0]\n if (actionNames.indexOf(actionName) !== -1) {\n const actionModule = actionConText(item).default || actionConText(item)\n moduleAction[actionName] = actionModule\n }\n})\n\n/**\n* 分别触发各个事件\n* @param {Object} eventData 事件配置\n*/\nfunction resolveEvent (eventData = {}) {\n const action = eventData.action\n setTimeout(() => {\n if (actionsMap[action]) {\n moduleAction[actionsMap[action]](eventData)\n } else {\n console.log('no function')\n }\n }, 100)\n}\n\nexport default resolveEvent\n","/**\n * @description 端相关跳转事件\n * @author qinchunzhen\n */\n\n// aio 全局变量\n// 小程序内跳转司机端页面事件提示页面 || 乘客端打开司机端页面提示页面\nconst defaultDriverHtml = 'https://s.didi.cn/rGM7o'\n// 浏览器未调起端app默认跳转页\nconst defaultBrowserHtml = 'https://s.didi.cn/rrAKq'\n// 司机端打开乘客端页面提示页面\nconst defaultPassengerHtml = 'https://s.didi.cn/efeLZ'\n// 延迟时间\nconst pastTime = 2500\n/**\n * 跳转\n * @param {Object} eventData 事件配置\n*/\nexport default function (eventData = {}) {\n const bridgeType = eventData.bridgeType\n\n console.log('aswdfwesf:', K)\n // loading层\n\n // 乘客端 司机端 | 小程序端 | 浏览器端\n\n // 乘客端\n if (bridgeType === 'passenger') {\n if (K.web.is('passenger')) {\n // 乘客端内打开顶导页(转化为小写路径,因为端内也会转化为小写路径,但是【车生活】ios端未做处理,所以统一在跳转页面时转换)\n K.bridge.call('switchToBusinessPage', {\n navi_url: eventData.urlScheme.toLocaleLowerCase()\n }, () => {})\n } else if (window.__wxjs_environment === 'miniprogram') {\n // 容错配置小程序地址未以 / 开头\n let path = eventData.webapp\n if (path.indexOf('/') !== 0) {\n path = `/${eventData.webapp}`\n }\n // 如果环境中没有注册wxsdk,则引入K.js分享去注册wxsdk\n if (!window.wx) {\n K.setShare()\n setTimeout(() => {\n jumpWxApp(path)\n }, 50)\n } else {\n jumpWxApp(path)\n }\n } else if (K.web.is('driver')) {\n // 跳转到default页面(请在[滴滴出行]端内打开该活动页面)\n window.location.href = defaultPassengerHtml\n } else {\n jumpBrowser(eventData.urlScheme)\n }\n }\n\n // 司机端\n if (bridgeType === 'driver') {\n if (K.web.is('driver')) {\n // 判断urlScheme是否支持端内打开\n if (eventData.isBridge) {\n window.location.href = eventData.urlScheme\n }\n } else if (window.__wxjs_environment === 'miniprogram') {\n // 跳转到default页面(请在[滴滴车主]端内打开该活动页面)\n window.location.href = defaultDriverHtml\n } else if (K.web.is('passenger')) {\n // 跳转到default页面(请在[滴滴车主]端内打开该活动页面)\n window.location.href = defaultDriverHtml\n } else {\n jumpBrowser(eventData.urlScheme)\n }\n }\n}\n\n// 微信小程序跳转\nfunction jumpWxApp (path) {\n window.wx.miniProgram.navigateTo({\n url: path\n })\n}\n\n// 浏览器跳转\nfunction jumpBrowser (urlScheme) {\n try {\n // 判断系统环境,ios端直接跳转,其他端调用iframe跳转\n if (K.web.is('ios')) {\n window.location.href = urlScheme\n } else {\n createIframe(urlScheme)\n }\n } catch (e) {\n jump()\n }\n defaultJump(+new Date())\n}\n\n// 打底处理\nfunction defaultJump (openTime) {\n window.jumpBrowserTimer = window.setTimeout(() => {\n if ((+new Date() - openTime) > pastTime) {\n jump()\n }\n }, pastTime)\n}\n\n// 浏览器默认跳转\nfunction jump () {\n window.location.href = defaultBrowserHtml\n}\n\n// 兼容Android跳转页面\nfunction createIframe (url) {\n const iframe = document.createElement('IFRAME')\n iframe.scrolling = 'no'\n iframe.frameBorder = 0\n iframe.style.width = '0'\n iframe.style.height = '0'\n iframe.style.display = 'none'\n document.body.appendChild(iframe)\n iframe.src = url\n}\n","/**\n * @description 分享事件\n * @author yanchaoren\n */\n\n/**\n * 拉起分享\n */\nexport default function invokeShare () {\n const shareData = window.__DATA__.shareData\n console.log(window.__DATA__.shareData)\n K.setShare(shareData)\n K.invokeShare()\n}\n","function filterAttrs (attrs) {\n // 过滤一些敏感参数; pid是用来标记层级和父页面pageid的,不能覆盖\n const blackKeyList = ['debug', 'token', 's']\n const urlParams = attrs || K.query.get('dchn', window.location.href)\n for (const key in urlParams) {\n if (blackKeyList.indexOf(key) > -1) {\n urlParams[key] = ''\n }\n }\n return urlParams\n}\n\n/**\n * 发送 action 打点\n * @param {Object} data 统计数据,具体参考上面的文档\n */\nfunction sendAction (data = {}) {\n const defaultConfig = {\n ...filterAttrs(),\n label: '行为埋点',\n type: 'action'\n }\n const dchnArr = K.query.get('dchn', window.location.href)\n const dchn = dchnArr && dchnArr.split(',')[0].replace('[', '')\n if (dchn) { defaultConfig.dchn = dchn }\n Omega.trackEvent('track_event', defaultConfig.label, defaultConfig)\n}\n\n/**\n * 获取统计时的 label\n * @param {Object} eventData 事件配置\n */\nfunction getLabel (eventData) {\n const label = eventData.omegaTrack\n if (label) {\n // 事件中配置了“统计标识”,优先使用\n return label\n }\n const refId = eventData.refId\n if (!refId) {\n // 没有组件 id (特殊情况,因为 eventData 就是通过 refId 找到的)\n return ''\n }\n const refElem = document.getElementById(refId)\n if (!refElem) {\n // 根据 id 没有找到 DOM 节点(特殊情况)\n return ''\n }\n const text = refElem.textContent\n if (text) {\n // 使用元素文本内容作为 label (如 文本组件 按钮组件)\n return text\n }\n const dataset = refElem.dataset || {}\n const type = dataset.type\n if (type) {\n // 使用元素 data-type 作为 label (如 图片组件)\n return type\n }\n // 其他情况,返回空\n return ''\n}\n\n/**\n * 事件统计打点\n * @param {Object} eventData 事件配置,格式参考调用方的文档\n * @param {Object} ext 附加信息\n */\nexport default function (eventData = {}, ext = {}) {\n const id = eventData.refId\n if (!id) {\n // 没有 id 直接放弃\n return\n }\n const label = getLabel(eventData)\n const cat = eventData.eventName\n const type = eventData.action\n\n // 发送打点\n sendAction({\n id,\n label,\n cat,\n type,\n ext\n })\n}\n","import { loadScript, seriParam, getQueryString } from './utils'\nimport Dajax from '@didi/dajax'\n\nexport const mountUserinfo = window.E.mountUserinfo = (userinfoObj) => {\n console.log('userinfoObj', userinfoObj)\n return new Promise((resolve, reject) => {\n try {\n if (userinfoObj) {\n sessionStorage.token = userinfoObj.token\n sessionStorage.phone = userinfoObj.phone\n window.E.phone = userinfoObj.phone\n window.E.tt = userinfoObj.token\n resolve(userinfoObj.phone)\n } else {\n resolve()\n }\n } catch (error) {\n reject(error)\n }\n })\n}\nconst fetchPartnerId = window.E.fetchPartnerId = (phone) => {\n console.log(phone)\n // return Dajax.request({\n // url: '//pre04-es.xiaojukeji.com/activity/PartnerV3/checkCode',\n // method: 'post',\n // // emulateJSON: true, // 是否使用application/x-www-form-urlencoded来提交\n // headers: {\n // 'Content-Type': 'application/x-www-form-urlencoded'\n // },\n // // withCredentials: true,\n // needEncrypt: true, // 是否加签名\n // body: {\n // phone\n // }\n // }).then(response => response.json())\n return Dajax.post('https://es.xiaojukeji.com/activity/PartnerV3/checkCode', {\n phone\n }, {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n },\n needEncrypt: true\n }).then(response => response.json())\n // return Dajax.post('/gaea/company/promotion/getAuthAndRecharge', params).then(response => response.json())\n}\nconst fetchCreateJsapiSignature = window.E.fetchCreateJsapiSignature = (url) => {\n console.log(url)\n return Dajax.get(`//eos-marketing.es.xiaojukeji.com/api/eos/v2/weixin/createJsapiSignature?url=${url}`).then(response => response.json())\n // return Dajax.post('/gaea/company/promotion/getAuthAndRecharge', params).then(response => response.json())\n}\nconst getAccountInfo = window.E.getAccountInfo = (phone, strategyId, token) => {\n console.log('phone, strategyId---------------', phone, strategyId, token)\n return Dajax.post('//eos-marketing.es.xiaojukeji.com/api/v2/rule/recommender/reward/total', {\n phone,\n token,\n activityId: strategyId\n }).then(response => response.json())\n // return Dajax.post('/gaea/company/promotion/getAuthAndRecharge', params).then(response => response.json())\n}\nwindow.E.alertDialog = (msg, showClose) => {\n document.body.style.overflow = 'hidden'\n const msgHtml = `\n
\n
\n

\n
${msg}
\n
${showClose ? '
我知道了
' : ''} \n
\n
`\n const _html = document.createElement('div')\n _html.innerHTML = msgHtml\n document.body.appendChild(_html)\n if (showClose) {\n document.getElementById('closeClick').addEventListener('click', function () {\n document.body.style.overflow = ''\n document.body.removeChild(_html)\n })\n }\n}\n// const fusionUrl = '//es-static.xiaojukeji.com/static/web/home/js/sdk/fusion-1-286cd68b73.0.7.js'\n// const ESBridge = '//es-static.xiaojukeji.com/static/web/home/js/jimuBridge1-fb3f0df48f.4.1.js'\nconst WXJsUrl = '//res.wx.qq.com/open/js/jweixin-1.6.0.js'\nconst appEnvObj = {\n isDidiESApp: window.navigator.userAgent.toLocaleLowerCase().indexOf('didies') > -1,\n isDidiApp: window.navigator.userAgent.toLocaleLowerCase().indexOf('didi.passenger') > -1,\n isWx: window.navigator.userAgent.toLocaleLowerCase().indexOf('micromessenger') > -1,\n isWxMiniApp: (\n window.navigator.userAgent.toLocaleLowerCase().indexOf('miniprogram') > -1 && window.navigator.userAgent.toLocaleLowerCase().indexOf('micromessenger') > -1\n )\n}\nconst setShareRecommend = (DiDiShareConfig, EsShareConfig, WxMessageShareConfig, WxTimeLineShareConfig) => {\n console.log('setShareRecommend')\n console.log('DiDiShareConfig, EsShareConfig, WxMessageShareConfig, WxTimeLineShareConfig', DiDiShareConfig, EsShareConfig, WxMessageShareConfig, WxTimeLineShareConfig)\n return new Promise((resolve, reject) => {\n try {\n if (appEnvObj.isDidiApp) {\n window.D.setShare(DiDiShareConfig)\n resolve()\n } else if (appEnvObj.isDidiESApp) {\n console.log('EsShareConfig-recommend', EsShareConfig)\n window.bridgeApi.updateRightIcon(1)\n window.bridgeApi.rightNavButtonClicked(function () {\n window.bridgeApi.commonShare(EsShareConfig)\n })\n resolve()\n } else if (appEnvObj.isWxMiniApp) {\n loadScript(WXJsUrl, function () {\n // web-view下的页面内\n function ready () {\n window.wx.miniProgram.postMessage({\n data: {\n type: 'share',\n data: {\n title: '限时优惠,最高返6600元券',\n url: WxMessageShareConfig.link,\n imageUrl: 'https://es-static.xiaojukeji.com/static/web/do1_axZpYRzDfB2wdl14DSHb'\n }\n }\n })\n resolve()\n }\n if (!window.WeixinJSBridge || !window.WeixinJSBridge.invoke) {\n document.addEventListener('WeixinJSBridgeReady', ready, false)\n } else {\n ready()\n }\n })\n } else if (appEnvObj.isWx) {\n loadScript(WXJsUrl, () => {\n fetchCreateJsapiSignature(encodeURIComponent(window.location.href)).then((data) => {\n window.wx.config({\n // 开启调试模式,调用的所有api的返j回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。\n // debug: true,\n appId: data.data.appId, // 必填,公众号的唯一标识\n timestamp: data.data.timestamp, // 必填,生成签名的时间戳\n nonceStr: data.data.nonceStr, // 必填,生成签名的随机串\n signature: data.data.signature, // 必填,签名\n jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData'] // 必填,需要使用的JS接口列表\n })\n window.wx.ready(() => {\n // console.log('88888888888888888888', WxMessageShareConfig, window.wx.updateAppMessageShareData(WxMessageShareConfig), window.wx.updateTimelineShareData(WxTimeLineShareConfig))\n window.wx.updateAppMessageShareData(WxMessageShareConfig)\n window.wx.updateTimelineShareData(WxTimeLineShareConfig)\n })\n resolve()\n })\n })\n } else {\n resolve()\n }\n } catch (error) {\n reject(error)\n }\n })\n}\nexport const initPartnerSet = window.E.initPartnerSet = (phone) => {\n console.log('initPartnerSet', phone)\n return new Promise((resolve, reject) => {\n if (phone) {\n fetchPartnerId(phone).then((res) => {\n console.log('fetchPartnerId', res)\n if (res.status === 0) {\n sessionStorage.partnerId = res.data.partner_id\n window.E.partnerId = res.data.partner_id\n resolve({ phone, partnerId: res.data.partner_id })\n } else {\n window.E.alertDialog(res.msg[0] || '获取推荐人Id失败', true)\n }\n })\n } else {\n resolve()\n }\n })\n}\nconst updateConfig = function (configObj, appName, userInfo, shareUrl) {\n const queryDataU = getQueryString()\n console.log('queryDataU----------', queryDataU, window.strategyId, window.recommend_business_line)\n delete queryDataU.s\n delete queryDataU.phone\n const recommendKeyParams = userInfo ? {\n phone: userInfo.phone,\n partner_id: userInfo.partnerId,\n paramsJson: encodeURIComponent(JSON.stringify({ strategyId: window.strategyId, recommend_business_line: window.recommend_business_line }))\n } : {}\n const newQueryDataStr = seriParam(Object.assign({}, recommendKeyParams, queryDataU, {\n referee: 1\n }))\n console.log('newQueryDataStr333', newQueryDataStr)\n const recommendFlag = shareUrl.indexOf('?') > -1\n console.log('recommendFlag', recommendFlag)\n if (appName === 'wx' || appName === 'wxTL') {\n return Object.assign({}, configObj, {\n link: recommendFlag ? `${window.E.EsShareConfig.share_url}&${newQueryDataStr}` : `${window.E.EsShareConfig.share_url}?${newQueryDataStr}`\n })\n } else if (appName === 'didi') {\n return Object.assign({}, configObj, {\n url: recommendFlag ? `${window.E.EsShareConfig.share_url}&${newQueryDataStr}` : `${window.E.EsShareConfig.share_url}?${newQueryDataStr}`\n })\n } else if (appName === 'es') {\n return Object.assign({}, configObj, {\n share_url: recommendFlag ? `${window.E.EsShareConfig.share_url}&${newQueryDataStr}` : `${window.E.EsShareConfig.share_url}?${newQueryDataStr}`\n })\n }\n}\nexport const setShareConfig = window.E.setShareConfig = (userInfo) => {\n console.log('setShareConfig', userInfo, window)\n return new Promise((resolve, reject) => {\n const HOME_URL = window.shareUrl\n const shareTitle = window.__shareData ? window.__shareData.title : '快开通滴滴企业版,限时活动进行中'\n const shareContent = window.__shareData ? window.__shareData.content : '企业服务选滴滴,省时省力更省钱,首充限时最高返22000元券!'\n const shareIcon = window.__shareData ? (window.__shareData.icon.indexOf('http:') > -1 ? window.__shareData.icon.replace('http:', 'https:') : window.__shareData.icon) : 'https://es-static.xiaojukeji.com/static/web/do1_Np52EhEERVEJe7ZxwLuZ'\n const baseShareConfig = {\n weixin_appmsg: true,\n weixin_timeline: true,\n qq_appmsg: false,\n qzone: false,\n alipay_appmsg: false,\n alipay_timeline: false,\n ding_talk: false\n }\n const DiDiShareConfig = Object.assign({}, baseShareConfig, {\n url: HOME_URL,\n title: shareTitle,\n content: shareContent,\n icon: shareIcon\n })\n const EsShareConfig = Object.assign({}, baseShareConfig, {\n share_url: HOME_URL,\n share_url_origin: HOME_URL,\n share_title: shareTitle,\n share_content: shareContent,\n share_picture: shareIcon,\n share_channel: '1,2'\n })\n const WxMessageShareConfig = Object.assign({}, baseShareConfig, {\n title: shareTitle,\n desc: shareContent,\n link: HOME_URL, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致\n imgUrl: shareIcon\n })\n const WxTimeLineShareConfig = Object.assign({}, baseShareConfig, {\n title: shareTitle, // 分享标题\n link: HOME_URL, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致\n imgUrl: shareIcon // 分享图标\n })\n window.E.EsShareConfig = EsShareConfig\n // if (userInfo) {\n const afterDiDiShareConfig = updateConfig(DiDiShareConfig, 'didi', userInfo, HOME_URL)\n const afterEsShareConfig = updateConfig(EsShareConfig, 'es', userInfo, HOME_URL)\n const afterWxMessageShareConfig = updateConfig(WxMessageShareConfig, 'wx', userInfo, HOME_URL)\n const afterWxTimeLineShareConfig = updateConfig(WxTimeLineShareConfig, 'wxTL', userInfo, HOME_URL)\n afterEsShareConfig && (window.E.EsShareConfig = afterEsShareConfig)\n if (userInfo) {\n console.log('userInfo.phone-----------userInfo.phone', userInfo.phone, window.strategyId)\n getAccountInfo(userInfo.phone, window.strategyId, window.E.tt).then((res) => {\n console.log('getAccountInfo', res)\n if (res.status === 0) {\n window.E.accountNum = res.data.totalAmount\n resolve(true)\n } else {\n window.E.alertDialog(res.msg || '获取进度信息有误', true)\n resolve(false)\n }\n })\n if (!(appEnvObj.isDidiESApp || appEnvObj.isDidiApp || appEnvObj.isWx || appEnvObj.isWxMiniApp)) {\n try {\n window.history.replaceState(null, null, afterEsShareConfig.share_url)\n } catch (e) {\n console.log('err', e)\n }\n }\n } else {\n resolve(false)\n }\n window.bridgeApi && window.bridgeApi.updateRightIcon(0)\n console.log(afterDiDiShareConfig, afterEsShareConfig, afterWxMessageShareConfig, afterWxTimeLineShareConfig)\n setShareRecommend(afterDiDiShareConfig, afterEsShareConfig, afterWxMessageShareConfig, afterWxTimeLineShareConfig)\n })\n // const { DiDiShareConfig, EsShareConfig, WxMessageShareConfig, WxTimeLineShareConfig, phone ,queryData,window.E.EsShareConfig.share_url,isDidiESApp,isDidiApp,isWx,isWxMiniApp} = this.state\n}\n","/**\n * @description 拨号事件\n * @author wangfupeng\n */\n\nexport default function (eventData = {}) {\n let phone = eventData.phone\n if (!phone) {\n console.error('phone number is null or undefined')\n return\n }\n\n // 拼接并拨号\n phone = `tel://${phone}`\n window.location.href = phone\n}\n"],"sourceRoot":""}