{"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","eventData","downloadUrl","test","location","href","newDownloadUrl","K","query","build","URL_PARAMS","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","eventTable","_global","nextUrls","EVENT_LIST","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","urlParams","dchn","dchnArr","match","targetDchn","targetDchnArr","concat","newDchn","join","newUrl","isEnv","indexOf","process","queryString","parse","env","preview","dataApi","getData","log","Array","isArray","fetch","then","response","json","Dajax","Vue","use","Vuex","store","Store","state","partnerId","E","accountNum","getters","getPartnerId","getAccountNum","mutations","setPartnerId","setAccountNum","obj","blackList","decode","params","lang","cityid","parseInt","twReg","dpubWidget","D","is","web","bridge","agility","layers","map","item","index","pageType","strategyId","testButton","recommend_business_line","props","shareUrl","__DomData","__shareData","canShare","toLocaleLowerCase","setShare","setLoginConfig","loginType","__EVENT_ACTIONS","eventActions","renderFn","genRenderFnForH5","promotionWidget","el","render","created","getLoginInfofromApp","mountUserinfo","initPartnerSet","setShareConfig","$store","commit","utmSource","pageId","Omega","trackEvent","channel_id","uid","checkIsVip","checkUserInfo","fusionUrl","ESBridge","appEnvObj","isDidiESApp","isDidiApp","isWx","isWxMiniApp","fetchIsVip","token","source","fetchGetAuthAndRecharge","isNeedCheck","isVip","is_vip","userinfoObj","sessionStorage","phone","getUserInfo","bridgeApi","ready","JSON","keys","getNowTaskVal","startTime","endTime","urlApi","assign","typeTrans","4","10","11","getHotelList","order_source","datatype","timestamp","Date","getTime","app_version","company_id","companyId","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","hrefToEvent","elem","nodeName","parent","getDomParent","getAttribute","preventDefault","stopPropagation","customInvoke","targetUrl","omegaTrack","textContent","fn","cloneDeep","findIdsByKey","ids","forEach","children","dom","selector","parentNode","iterator","matches","invoke","ex","defaultEventData","action","actionName","eventName","webpackContext","req","webpackContextResolve","code","fnBody","Function","getElementById","actionsMap","invokeShare","download","dialog","dial","anchor","customEvent","market","actionNames","values","filter","ele","arr","moduleAction","actionConText","require","resolveEvent","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","attrs","blackKeyList","sendAction","defaultConfig","label","getLabel","refElem","text","dataset","cat","tt","fetchPartnerId","fetchCreateJsapiSignature","getAccountInfo","activityId","alertDialog","msg","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","desc","imgUrl","afterDiDiShareConfig","afterEsShareConfig","afterWxMessageShareConfig","afterWxTimeLineShareConfig","totalAmount","history","replaceState"],"mappings":"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","file":"js/app.c774f2eb.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\":\"a8595196\"}[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}\nexport {\n loadScript,\n seriParam,\n getQueryString\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 } 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\n\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 // 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 })\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 if (Omega && Omega.trackEvent) {\n Omega.trackEvent('es_moongazing_xpubedit_sw', '望月-活动工具-点击页面-展现',\n { channel_id: utmSource, id: pageId, uid: window.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 if (Omega && Omega.trackEvent) {\n Omega.trackEvent('es_moongazing_xpubedit_sw', '望月-活动工具-点击页面-展现',\n { channel_id: utmSource, id: pageId, uid: window.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-8a936c73e4.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 = {}\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 = () => {\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.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 if (Object.keys(data).length > 0 && data.token && data.phone) {\n resolve({\n token: data.token,\n phone: data.phone\n })\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 }) => {\n console.log('token', type, token, startTime, endTime)\n if (token) {\n let urlApi = ''\n const params = {\n token,\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 === 4 || type === 10 || type === 11) {\n const typeTrans = {\n 4: 1,\n 10: 2,\n 11: 3\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 return Dajax.get(urlApi, {\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) => {\n const msgHtml = `\n
\n
\n

\n
${msg}
\n
\n
我知道了
\n
\n
`\n const _html = document.createElement('div')\n _html.innerHTML = msgHtml\n document.body.appendChild(_html)\n document.getElementById('closeClick').addEventListener('click', function () {\n document.body.removeChild(_html)\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失败')\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 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 || '获取进度信息有误')\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":""}