{"version":3,"file":"js/app.88823b05.js","mappings":"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","sources":["webpack://landing-page/./src/lib/utils/env.js","webpack://landing-page/./src/lib/js/notTravelDialog.js","webpack://landing-page/./src/lib/js/localStorage.js","webpack://landing-page/./src/lib/js/os.js","webpack://landing-page/./src/lib/js/urlParam.js","webpack://landing-page/./src/lib/js/track.js","webpack://landing-page/./src/lib/js/performance-statistics.js","webpack://landing-page/./src/lib/utils/locale.js","webpack://landing-page/./src/lib/utils/i18n.js","webpack://landing-page/./src/lib/utils/style.js","webpack://landing-page/./src/lib/js/DDBridge.js","webpack://landing-page/./src/lib/js/env.js","webpack://landing-page/./src/api/apiConfig.js","webpack://landing-page/./src/api/index.js","webpack://landing-page/./src/lib/js/initData.js","webpack://landing-page/./src/lib/utils/sw-register.js","webpack://landing-page/./src/main.js","webpack://landing-page/webpack/bootstrap","webpack://landing-page/webpack/runtime/chunk loaded","webpack://landing-page/webpack/runtime/compat get default export","webpack://landing-page/webpack/runtime/create fake namespace object","webpack://landing-page/webpack/runtime/define property getters","webpack://landing-page/webpack/runtime/ensure chunk","webpack://landing-page/webpack/runtime/get javascript chunk filename","webpack://landing-page/webpack/runtime/get mini-css chunk filename","webpack://landing-page/webpack/runtime/global","webpack://landing-page/webpack/runtime/hasOwnProperty shorthand","webpack://landing-page/webpack/runtime/load script","webpack://landing-page/webpack/runtime/make namespace object","webpack://landing-page/webpack/runtime/publicPath","webpack://landing-page/webpack/runtime/jsonp chunk loading","webpack://landing-page/webpack/startup"],"sourcesContent":["export const inBrowser = typeof window !== 'undefined';\nexport const UA = inBrowser && window.navigator.userAgent.toLowerCase();\nexport const isIE = UA && /msie|trident/.test(UA);\nexport const isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nexport const isEdge = UA && UA.indexOf('edge/') > 0;\nexport const isAndroid = UA && /android/i.test(UA);\nexport const isIOS = UA && /iphone|ipad|ipod|ios/i.test(UA);\nexport const isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nexport const inNative = UA && /FusionKit/i.test(UA);\nexport const inDidiApp = inNative && /didi\\.passenger/i.test(UA);\nexport const inCustomerApp = inNative && /soda\\.customer/i.test(UA);\nexport const inEmbedCustomerApp = inNative && /soda\\.embedcustomer/i.test(UA);\nexport const inSoda = inNative && /soda\\./i.test(UA);\nexport const inMerchantApp = inNative && /soda\\.merchant/i.test(UA);\nexport const inRiderApp = inNative && /soda\\.rider/i.test(UA);\nexport const inBDApp = inNative && /soda\\.manager/i.test(UA);\nexport const inMechantPC = UA && /soda\\.PCMerchant/i.test(UA);\n\nexport const inAlipay = !inNative && /Alipay/i.test(UA);\nexport const inWechat = !inNative && /MicroMessenger/i.test(UA);\nexport const inQQ = !inNative && /QQ/i.test(UA);\n\nexport const inSystemBrowser = inBrowser && !inNative && !inAlipay && !inWechat && !inQQ;\n","import { inDidiApp, inSoda } from '../utils/env.js';\n// 独立端ua: \"ua:\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 16_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Fusionkit/1.2.14 Soda.Customer/2.0.46.61918101 OffMode/0\"\n\n// 嵌入端出行ua: \"ua:\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 16_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FusionKit/1.2.14 didi.passenger.global/7.3.88 OffMode/0\"\n\n// 嵌入端 外卖appua: \"ua:\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 16_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Fusionkit/1.2.14 Soda.EmbedCustomer/7.3.88.61322081 OffMode/0\"\n\nexport const interceptDialog = () => {\n // 在出行容器下打开落地页页面,弹一个弹窗\n if (inDidiApp) {\n alert('当前容器暂不支持打开落地页页面');\n }\n};\n\nexport const isEmbedded = inDidiApp && !inSoda;\n","const ls = 'localStorage' in global && global.localStorage ? global.localStorage : '';\n\n// 存数据\nexport const setLocalStorage = (key, value) => {\n if (!key) return;\n value = JSON.stringify(value);\n ls.setItem(key, value);\n};\n\n// 取数据\nexport const getLocalStorage = (key) => {\n if (!key) return;\n if (ls.getItem(key) === '') {\n return '';\n }\n try {\n return JSON.parse(ls.getItem(key));\n } catch {\n return ls.getItem(key);\n }\n};\n\n// 删数据\nexport const delLocalStorage = (key) => {\n if (!key) return;\n ls.removeItem(key);\n};\n\n// 全部清空\nexport const clearLocalStorage = () => {\n ls.clear();\n};\n","const ua = navigator.userAgent;\nexport const isMobile = () => {\n let isMobi = true;\n isMobi =\n ua\n .toLowerCase()\n .match(\n /(ipod|ipad|iphone|android|coolpad|mmp|smartphone|midp|wap|xoom|symbian|j2me|blackberry|wince)/i\n ) != null;\n return isMobi;\n};\n\nexport const getNetworkType = () => navigator?.connection?.effectiveType;\n\n// 操作系统类型\n// 0:default\n// 1:ios\n// 2:android\n// 9 :windows\n// 10 :macOs\nexport const getDevice = () => {\n const agent = navigator.userAgent.toLowerCase();\n const result = {\n device: (function () {\n if (/windows/.test(agent)) {\n return 9;\n }\n if (/iphone|ipod|ipad/.test(agent) && /mobile/.test(agent)) {\n return 1;\n }\n if (/android/.test(agent) && /mobile/.test(agent)) {\n return 2;\n }\n if (/mac/.test(agent)) {\n return 10;\n }\n return 0;\n })(),\n };\n return result?.device;\n};\n","/*\n * @Author: amywulan\n * @Date: 2021-07-Fr 11:44:27\n * @Last Modified by: amywulan\n * @Last Modified time: 2021-07-Fr 11:44:27\n * @description 获取url的参数\n * urlParam(key)\n * urlParam(key, 'https://www.didi.com?test=1')\n */\nexport default (name, url) => {\n let results = new RegExp('[\\\\?&]' + name + '=([^&#]*)').exec(url || window.location.href);\n if (!results) {\n return '';\n }\n return results[1] || '';\n};\n","import { inNative, isIOS } from '../utils/env';\nimport { getLocalStorage } from './localStorage';\nimport { isMobile } from './os';\nimport qs from './urlParam';\n\nlet UID;\n// bridge获取埋点公共参数\nasync function getCommonParams() {\n let globalParams = window.getGlobalParams || {};\n\n if (inNative && !UID) {\n try {\n window.SodaBridge &&\n (await window.SodaBridge('getUserInfo').then((res) => {\n const { uid = -1 } = res.data || {};\n UID = uid;\n }));\n } catch (err) {\n UID = -1;\n }\n }\n\n const system = inNative ? (isIOS ? 'ios' : 'android') : isMobile() ? 'phone_web' : 'pc_web';\n return {\n user_uid: globalParams.uid || getLocalStorage('uid') || UID,\n uid: globalParams.uid || getLocalStorage('uid') || UID,\n user_phone: globalParams.phone,\n user_osVersion: globalParams.osVersion,\n user_clientType: globalParams.clientType,\n user_deviceType: globalParams.deviceType,\n poi_latitude: globalParams.poiLat || qs('poiLat') || 0,\n poi_longitude: globalParams.poiLng || qs('poiLng') || 0,\n op_system: system,\n poi_id: globalParams.poiId || getLocalStorage('poiId'),\n poi_city_id: globalParams.poiCityId || getLocalStorage('poiCityId'),\n country_code: qs('country_code') || '',\n path: window.location.href,\n };\n}\n\nexport default async function trackEvent({\n eventId = '',\n eventLabel = '',\n attrs = {},\n callback = () => {},\n}) {\n let globalParams = await getCommonParams();\n if (eventId === 'tone_p_x_login_success') {\n try {\n window.Omega.setTelephone && window.Omega.setTelephone(attrs.phone);\n } catch (e) {\n console.log(e);\n }\n }\n\n window.Omega &&\n window.Omega.trackEvent &&\n window.Omega.trackEvent(\n eventId,\n eventLabel,\n {\n ...globalParams,\n ...attrs,\n },\n null,\n (res) => {\n callback(res);\n }\n );\n}\n","// 参考:http://wiki.intra.xiaojukeji.com/pages/viewpage.action?pageId=860906794\n// 页面完全加载时间上报时机是document加载完成,计算口径:pageLoadTime: performance.timing.loadEventStart - performance.timing.navigationStart\nimport trackEvent from './track.js';\nimport { util } from '@didi/soda-common';\nconst { env } = util;\n\nconst time = 1000 * 8; // 大于8秒的数据不统计在内,视为脏数据\n\nfunction performanceStatisticsFn() {\n if (!env.inNative) return;\n window.addEventListener('load', function () {\n try {\n const { loadEventStart = 0, navigationStart = 0 } = performance?.timing || {};\n const timeDiff = loadEventStart - navigationStart;\n\n if (timeDiff > time) return;\n\n clientPerformanceStatistics({\n project_name: 'landing-page',\n t_pgrd: timeDiff,\n });\n } catch {\n console.log('------------------------------------');\n }\n });\n}\n\nfunction clientPerformanceStatistics(attrs, callback) {\n trackEvent({\n eventId: 'sailing_client_performance_statistics_bt',\n eventLabel: '统计端内h5页面行完全加载耗时',\n attrs,\n callback,\n });\n}\n\nperformanceStatisticsFn();\n","// locale的分隔 符\nconst separator = '-';\n// 可支持的语言列表\nconst LanguageMap = ['zh', 'en', 'es', 'pt', 'ja'];\n// 可支持的国家列表\nconst CountryMap = ['MX', 'BR', 'JP', 'CR', 'CO', 'DO', 'CL', 'PE'];\n// 可支持的locale列表,特殊处理支持es-419 en-US zh-CN语言\nconst LocaleMap = ['es-419', 'en-US', 'zh-CN'];\n// 国家对应的默认语言对应关系\nconst CountryLanguageMap = {\n MX: 'es-MX',\n BR: 'pt-BR',\n JP: 'ja-JP',\n CR: 'es-419',\n CO: 'es-419',\n DO: 'es-419',\n CL: 'es-419',\n PE: 'es-419',\n};\nconst CountryNameMap = {\n CN: 'China',\n MX: 'Mexico',\n BR: 'Brazil',\n JP: 'Japan',\n CR: 'CostaRica',\n CO: 'Colombia',\n DO: 'Dominican',\n CL: 'Chile',\n PE: 'Peru',\n};\n// 国家对应的默认locale对应关系\nconst CountryLocaleMap = {\n MX: 'es-MX',\n BR: 'pt-BR',\n JP: 'ja-JP',\n CR: 'es-CR',\n CO: 'es-CO',\n DO: 'es-DO',\n CL: 'es-CL',\n PE: 'es-PE',\n};\n/**\n * 可支持的语言包列表,根据语言首先进行划分\n * 如果支持特殊配置,可追加,否则走默认逻辑\n */\nconst LanguagePackMap = {\n en: {\n 'en-US': 'en-US',\n default: 'en-US',\n },\n es: {\n 'es-MX': 'es-MX',\n default: 'es-419',\n },\n pt: {\n 'pt-BR': 'pt-BR',\n default: 'pt-BR',\n },\n ja: {\n 'ja-JP': 'ja-JP',\n default: 'ja-JP',\n },\n zh: {\n 'zh-CN': 'zh-CN',\n default: 'zh-CN',\n },\n};\n\n// 根据Lang与Country,匹配得出支持的locale\nLanguageMap.forEach((lang) => {\n CountryMap.forEach((country) => {\n LocaleMap.push(`${lang}${separator}${country}`);\n });\n});\n\n/**\n * 校验locale是否合理方法\n * @param {*} locale 需要被校验的locale\n * @returns 返回校验通过的locale\n */\nconst checkLocale = (locale = '') => {\n let finalLocale = null;\n let lowerCaseLocale = locale.toLowerCase();\n LocaleMap.forEach((localeItem) => {\n if (localeItem.toLowerCase() === lowerCaseLocale) {\n finalLocale = localeItem;\n }\n });\n return finalLocale;\n};\n\n/**\n * @description 获取符合预期的locale\n * @param {string} targetPath 支持传入目标路径与直接从url中获取两种locale处理规则\n * @return {string} locale 符合预期的locale\n */\nconst getLocale = (targetPath = '') => {\n var locale = null;\n var path = targetPath || location.pathname.split('/')[1];\n locale = checkLocale(path);\n if (!locale) {\n locale = checkLocale(window.navigator.language);\n }\n if (!locale) {\n // 兜底逻辑沿用en-US\n locale = `en${separator}US`;\n }\n return locale;\n};\n\n/**\n * 获取locale对应的语言包名称与类型\n * @param {*} locale 期望做匹配的locale,会再做一次合理性校验\n * @returns {String} short 语言简写,如element-ui、r-fusion-ui中会使用到\n * @returns {String} long:语言包全称,项目内i18n语言包会使用到\n */\nconst getLanguage = (locale = '') => {\n const finalLocale = getLocale(locale);\n const language = finalLocale.split(separator)[0];\n\n // 如果支持对应的语言,又存在对应locale的特殊配置,则直接返回\n if (LanguagePackMap[language] && LanguagePackMap[language][finalLocale]) {\n return {\n short: language,\n long: LanguagePackMap[language][finalLocale],\n };\n // 否则返回该语言的默认配置\n } else {\n return {\n short: language,\n long: LanguagePackMap[language]['default'],\n };\n }\n};\n\n/**\n * 获取locale对应的语言包长名称\n * @param {*} locale 期望做匹配的locale,会再做一次合理性校验\n * @returns {String} 语言包全称,项目内i18n语言包会使用到\n */\nconst getLanguageLong = (locale = '') => {\n const finalLocale = getLocale(locale);\n const language = finalLocale.split(separator)[0];\n\n // 如果支持对应的语言,又存在对应locale的特殊配置,则直接返回\n if (LanguagePackMap[language] && LanguagePackMap[language][finalLocale]) {\n return LanguagePackMap[language][finalLocale];\n // 否则返回该语言的默认配置\n } else {\n return LanguagePackMap[language]['default'];\n }\n};\n\n/**\n * 获取locale对应的语言包短名称\n * @param {*} locale 期望做匹配的locale,会再做一次合理性校验\n * @returns {String} 语言简写,如element-ui、r-fusion-ui中会使用到\n */\nconst getLanguageShort = (locale = '') => {\n const finalLocale = getLocale(locale);\n const language = finalLocale.split(separator)[0];\n return language;\n};\n\n/**\n * 获取locale对应的region\n * @param {*} locale 期望做匹配的locale,会再做一次合理性校验\n * @returns {String} region 区域/国家code\n */\nconst getRegion = (locale = '') => {\n const finalLocale = getLocale(locale);\n const region = finalLocale.split(separator)[1];\n\n // 不再做特殊处理,419区域也会被返回\n return region;\n};\n\nconst getCountryNameByLocale = (locale = '') => {\n const region = getRegion(locale);\n // 根据map返回对应全称\n return CountryNameMap[region] || '';\n};\n\nexport {\n getLocale,\n getLanguage,\n getLanguageLong,\n getLanguageShort,\n getRegion,\n getCountryNameByLocale,\n LanguageMap,\n CountryMap,\n LocaleMap,\n LanguagePackMap,\n CountryLanguageMap,\n CountryLocaleMap,\n CountryNameMap,\n};\n","import { getLanguageLong, getRegion } from './locale';\nconst host = location.host;\nconst is99App = !!host.match('99app.com');\n\nfunction setLanguage() {\n window._ENV_LANGUAGE_ = getLanguageLong();\n}\n\nfunction setBrand() {\n const region = getRegion();\n if (region === 'BR' || is99App) {\n window._ENV_BRAND_ = '99';\n window.document.documentElement.setAttribute('data-theme', '99');\n } else {\n window._ENV_BRAND_ = 'didi';\n window.document.documentElement.setAttribute('data-theme', 'didi');\n }\n}\n\nsetLanguage();\nsetBrand();\n","import { getRegion } from './locale';\nconst host = location.host;\nconst is99App = !!host.match('99app.com');\n/**\n * @param data\n * @param propsStr\n * @returns {*}\n *\n * let data = { a: { b: { c: {} } } }\n * getProp(data, 'a.b.c')\n */\nfunction getProp(data, propsStr = '') {\n let props = propsStr.split('.').filter((_) => _ !== '');\n let tmp = data;\n try {\n for (let i = 0; i < props.length; i++) {\n tmp = tmp[props[i]];\n }\n return tmp;\n } catch (e) {\n return void 0;\n }\n}\n\nfunction setBodyBackGroundColor(json) {\n let backgroundColor = getProp(json, 'scenes.style.backgroundColor');\n if (backgroundColor !== void 0) {\n document.body.style.backgroundColor = backgroundColor;\n }\n // 设置默认背景色\n document.body.style.backgroundColor = 'white';\n}\n\nfunction setTitle() {\n const region = getRegion();\n if (region === 'BR' || is99App) {\n document.title = '99 Food';\n } else {\n document.title = 'DiDi Food';\n }\n}\n\nexport default function initStyle(json) {\n setBodyBackGroundColor(json);\n setTitle();\n}\n","// import { resolve } from 'core-js/fn/promise';\n// import { ssrCompile } from 'vue-template-compiler';\nimport * as env from '../utils/env';\n// import DDSDK from '@didi/didi-sdk';\nconst DDbridge = {};\nDDbridge.registerDefaultBridge = function () {\n if (!env.inNative) {\n /* eslint-disable */\n SodaBridgeRegister({\n Soda: {\n getUserInfo (params = {}, callback = function(){}) {\n callback && callback({})\n },\n getSystemInfo (params = {}, callback = function(){}) {\n callback && callback({})\n },\n getLocationInfo (params = {}, callback = function(){}) {\n try {\n new Promise((resolve, reject) => {\n navigator.geolocation.getCurrentPosition(function(position, error) {\n if (position) {\n resolve(callback({\n errno: 0,\n errmsg: 'ok',\n data: {\n poiLat: position.coords.latitude,\n poiLng: position.coords.longitude\n }\n }))\n } else {\n reject(callback({\n errno: 1,\n errmsg: error.toString(),\n data: {}\n }))\n }\n })\n })\n // DDSDK.geoLocation({}, (error, result) => {\n // // 如果无错误信息 则为定位成功; 否则为定位失败\n // if (!error) {\n // callback && callback(result)\n // } else {\n // callback && callback({\n // errno: 1,\n // errmsg: error.toString(),\n // data: {}\n // })\n // }\n // })\n } catch (e) {\n callback && callback({\n errno: 1,\n errmsg: e.toString(),\n data: {}\n })\n }\n },\n getGlobalParams (params = {}, callback = function(){}) {\n callback && callback({})\n }\n }\n })\n }\n}\n\n\nDDbridge.install = function (Vue, options) {\n Vue.mixin({\n methods: {\n async SodaBridge (type, options) {\n const globalParams= await window.SodaBridge('getGlobalParams', 'badcase') || {}\n window.getGlobalParams = globalParams.data\n return window.SodaBridge(type, options)\n },\n SodaBridgeData (type, options) {\n return window.SodaBridge(type, options).then(pms => {\n return pms.data || {}\n })\n },\n // 每次埋点时需要执行的函数,用于获取this.userInfo.uid 以及this.systemInfo.getSystemInfo\n async setUserInfo () {\n if (!this.userInfo || !this.userInfo.hasOwnProperty('uid')) {\n this.userInfo = await this.SodaBridgeData('getUserInfo')\n }\n if (!this.systemInfo || !this.userInfo.hasOwnProperty('uid')) {\n this.systemInfo = await this.SodaBridgeData('getSystemInfo')\n }\n },\n /**\n * 修改标题\n */\n asyncSetTitle (params) {\n const { navi_title, timeout } = params\n // 延时设置标题,处理ios设置不成功问题\n setTimeout(() => {\n // 安卓ua有问题, 暂时用两种方式直接修改title,用于处理不在soda内\n if (Fusion && Fusion['setTitle']) {\n Fusion['setTitle']({ 'navi_title': navi_title })\n }\n this.SodaBridge('setTitle', { 'navi_title': navi_title })\n }, timeout)\n }\n },\n computed: {\n params () {\n let paramsString = window.location.search.slice(1)\n var items = paramsString.split('&')\n var result = {}\n items.forEach(item => {\n let temp = item.split('=')\n result[temp[0]] = temp[1]\n })\n return result\n }\n }\n })\n}\n\nexport default DDbridge\n","const LPHost = window.location.host;\n/**\n * 判断环境\n */\nexport const isEnv =\n LPHost.indexOf('didi-food.com') == -1 ||\n ['test', 'development'].indexOf(process.env.NODE_ENV) >= 0;\n\nexport const isOnlineSchema =\n LPHost.indexOf('didi-food.com') !== -1 || process.env.API_ENV === 'production';\n\nexport const isSim = LPHost.startsWith('sim');\nexport const isPre = LPHost.indexOf('pre.didi-food.com') !== -1;\n","import { isOnlineSchema, isPre } from '../lib/js/env';\nlet simName = location.host.split('.')[0];\n// let simName = 'sim060';\n// let deVsimName = 'sim266';\nlet BASE_API_ACT = 'https://act-api.didi-food.com';\nif (isPre) {\n BASE_API_ACT = 'https://pre-act-api.didi-food.com';\n} else if (isOnlineSchema) {\n BASE_API_ACT = 'https://act-api.didi-food.com';\n} else {\n BASE_API_ACT = `http://${simName}.rlab.sim.intra.xiaojukeji.com/act-api`;\n}\n\nexport default {\n BASE_API_ACT,\n};\n","import didiaxios from '@didi/dajax/dist/dajax';\nimport apiConfig from './apiConfig';\nimport qs from 'qs';\nimport { inNative } from '../lib/utils/env';\n\nconst BASE_URL = apiConfig.BASE_API_ACT;\nlet GET_XPUB_CONFIG = BASE_URL + '/act-api/api/landingpage/xpubConfig';\n\n// if (process.env.NODE_ENV === 'development') {\n// GET_XPUB_CONFIG = 'https://mock.xiaojukeji.com/mock/12440/act-api/api/landingpage/xpubConfig';\n// }\n\nexport const getXpubConfig = function (data) {\n return requestPOST(GET_XPUB_CONFIG, data);\n};\n\nasync function requestPOST(url, data) {\n let globalParams = inNative ? (await window.SodaBridge('getGlobalParams', 'badcase')) || {} : {};\n let paramsData = globalParams.data || {};\n return didiaxios\n .request({\n url: url,\n method: 'POST',\n emulateJSON: true,\n needEncrypt: true,\n params: '',\n body: qs.stringify({ ...paramsData, ...data }),\n })\n .then((res) => res.data)\n .catch((err) => {\n console.log(err);\n });\n}\n","import queryString from 'query-string';\nimport { isEnv, isOnlineSchema } from './env.js';\nimport Dajax from '@didi/dajax';\nimport { getXpubConfig } from '../../api/index.js';\nimport trackEvent from './track.js';\n\nconst { preview } = queryString.parse(window.location.search);\n\nlet { s, activity_id } = queryString.parse(window.location.search);\n// 判断字符串是内是否都是数字\nfunction isAllDigits(str) {\n const pattern = /^\\d+$/;\n return pattern.test(str);\n}\n// https://didi-food.com/es-PE/landing?s=op-json-sh7wguMQ8__v2&activity_id=2.461426971e+09\n// 2.461426971e+09 js获取到的value 2.461426971e 09\nif (!isAllDigits(activity_id) && activity_id) {\n activity_id = Number(activity_id?.replace(' ', '+'))?.toString();\n}\nconst suffix = '__v2';\nconst isV2 = s?.indexOf(suffix) !== -1;\n\nconst apiSchemaApiUrl = {\n online: isV2\n ? 'https://img0.didiglobal.com/static/dpubimg/'\n : '//img0.didiglobal.com/static/soda_static/',\n test: 'https://gift-pre-inter.didistatic.com/static/anything/',\n};\n\nlet dataApi = apiSchemaApiUrl.online;\nif (preview === 'true') {\n dataApi = apiSchemaApiUrl.online;\n}\nif (isEnv) {\n dataApi = apiSchemaApiUrl.test;\n}\nif (isOnlineSchema) {\n dataApi = apiSchemaApiUrl.online;\n}\nif (isV2) {\n s = s?.replace(suffix, '');\n}\nfunction XpubJsonMonitorBt(res) {\n if (activity_id) {\n trackEvent({\n eventId: 'sailing_act_api_xpub_json_monitor_bt',\n eventLabel: 'api获取活动json报错',\n attrs: {\n activity_id: activity_id,\n page_url: window.location.herf,\n trace_id: res?.traceId,\n request_errno: res?.errno,\n xpub_json: `${dataApi}${s}.json`,\n },\n });\n }\n}\nasync function getData() {\n if (s) {\n console.log('数据来源于接口请求', `${dataApi}${s}.json`);\n try {\n let res = {};\n let resData = {};\n /** 存在活动id,通过接口下发json **/\n if (activity_id) {\n res = await getXpubConfig({ pageId: activity_id });\n }\n /** 接口获取json失败 **/\n if (!res?.data?.xpubConfig?.scenes) {\n /** 增加埋点 **/\n XpubJsonMonitorBt(res);\n /** 兜底处理 **/\n res = await Dajax.get(`${dataApi}${s}.json`);\n resData = res?.data;\n } else {\n resData = res?.data?.xpubConfig;\n }\n return resData;\n } catch (err) {\n throw err;\n }\n } else if (isEnv) {\n console.log('非测试环境,页面描述信息来自mockData');\n try {\n return import('@/mockData');\n } catch (err) {\n throw err;\n }\n } else {\n console.log('非测试环境,页面描述信息不能缺失');\n throw new Error(\n `can not fetch data in ${process.env.NODE_ENV}, please check your url, it mast have s in query`\n );\n }\n // return data\n}\n\nexport default getData;\n","/**\n * http://wiki.intra.xiaojukeji.com/pages/viewpage.action?pageId=771835355\n * Service Worker\n * 使用workbox实现 由以下三个文件配合\n * 1、vue.config.js GenerateSW 实现 缓存策略和缓存文件配置\n * 2、src/utils/sw-register.js 实现 sw注册 & sw注销 功能\n * 3、server/middlewares/serviceWorker.js 实现 sw 文件路径访问重定向\n */\n\nconst isPro = process.env.NODE_ENV === 'production' && process.env.BUILD_ENV !== 'development';\nimport { getLocale } from './locale';\n\nexport default function swRegister() {\n if (isPro && 'serviceWorker' in navigator) {\n window.addEventListener('load', () => {\n let landing = isPro ? `/${getLocale()}/landing` : '';\n navigator.serviceWorker\n .register(`${landing}/sw-landing.js`)\n .then((registration) => {\n console.log('SW registered: ', registration);\n })\n .catch((registrationError) => {\n console.log('SW registration failed: ', registrationError);\n });\n });\n }\n}\n\nexport function swUnregister() {\n if ('serviceWorker' in navigator) {\n try {\n caches.keys().then((keys) => {\n keys.forEach((key) => {\n caches.delete(key);\n });\n });\n } catch (error) {\n console.error(error);\n }\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister();\n });\n }\n}\n","import Vue from 'vue';\nimport '@didi/soda-jsbridge';\nimport { interceptDialog, isEmbedded } from './lib/js/notTravelDialog.js';\nimport './lib/js/performance-statistics.js';\nimport './lib/utils/i18n';\nimport dpubWidget from '@didi/dpub-widget-thanos/lib/kpubGroup/h5/index.js';\nimport '@didi/dpub-widget-thanos/lib/kpubGroup/h5/index.css';\nimport rpubWidget from '@didi/rlab-xpub-components/dist/h5/index.js';\nimport '@didi/rlab-xpub-components/dist/h5/index.css';\nimport ObserverLog from '@didi/tools-observer-log';\nimport { genRenderFnForH5 } from '@didi/dpub-render';\n\nimport './lib/css/reset.css';\nimport './lib/css/base.scss';\nimport initStyle from './lib/utils/style';\nimport DDBridge from './lib/js/DDBridge';\nimport getData from './lib/js/initData';\nimport OmegaTracker from '@didi/omega-tracker/lib/index.esm';\nimport { getRegion } from './lib/utils/locale';\nimport swRegister, { swUnregister } from './lib/utils/sw-register';\n\n// start - 新的appKey-1、只用来统计页面性能指标(不包含业务埋点) 2、将涉及的业务埋点下添加此appKey的应用(①DE报表②业务跑数在用需迁移) 2023.2.22\nconst omegaPageConfig = {\n appKey: 'omega9eba1c97f4', // 仅为landingpage单独申请设置的appKey\n uploadHost: 'omgup.didiglobal.com',\n browserRouterEnable: true, // SPA History pop PV上报\n autoClick: false, // 取消自动点击上报\n autoPosition: false,\n};\nconst Omega = OmegaTracker.getTracker(omegaPageConfig);\nwindow.Omega = Omega;\n// end - 新的appKey-1、只用来统计页面性能指标(不包含业务埋点) 2、将涉及的业务埋点下添加此appKey的应用\nimport trackEvent from './lib/js/track';\nwindow.trackEvent = trackEvent;\n\nVue.config.productionTip = false;\nDDBridge.registerDefaultBridge();\nVue.use(DDBridge);\nVue.use(dpubWidget);\n\n// 曝光事件唯一值,后续如果有新的曝光埋点,需要在这里添加埋点id和唯一值\nconst eventMap = {\n sailing_c_x_activity_landing_item_sw: 'item_id', // 首页活动落地页菜品实曝光\n};\n\nVue.use(\n ObserverLog,\n eventMap,\n trackEvent,\n // 设置阈值为元素露出1px所对应的比例,至少露出1px\n {\n threshold: [0.01],\n }\n);\n\nswRegister();\n// swUnregister()\n\ngetData().then((res) => {\n initStyle(res);\n if (isEmbedded) {\n interceptDialog();\n return;\n }\n new Vue({\n el: '#app',\n render: genRenderFnForH5(res, { ...dpubWidget, ...rpubWidget }),\n });\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + \"4b74cc45\" + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"landing-page:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"https://img0.didiglobal.com/static/soda_static/xpub_base_landingpage/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\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\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunklanding_page\"] = self[\"webpackChunklanding_page\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [876,381,998], function() { return __webpack_require__(7694); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["inBrowser","window","UA","navigator","userAgent","toLowerCase","isEdge","test","indexOf","isIOS","inNative","inDidiApp","inSoda","interceptDialog","alert","isEmbedded","ls","global","localStorage","getLocalStorage","key","getItem","JSON","parse","ua","isMobile","isMobi","match","name","url","results","RegExp","exec","location","href","UID","async","getCommonParams","globalParams","getGlobalParams","SodaBridge","then","res","uid","data","err","system","user_uid","user_phone","phone","user_osVersion","osVersion","user_clientType","clientType","user_deviceType","deviceType","poi_latitude","poiLat","qs","poi_longitude","poiLng","op_system","poi_id","poiId","poi_city_id","poiCityId","country_code","path","trackEvent","eventId","eventLabel","attrs","callback","Omega","setTelephone","e","console","log","env","util","time","performanceStatisticsFn","addEventListener","loadEventStart","navigationStart","performance","timing","timeDiff","clientPerformanceStatistics","project_name","t_pgrd","separator","LanguageMap","CountryMap","LocaleMap","LanguagePackMap","en","default","es","pt","ja","zh","forEach","lang","country","push","checkLocale","locale","finalLocale","lowerCaseLocale","localeItem","getLocale","targetPath","pathname","split","language","getLanguageLong","getRegion","region","host","is99App","setLanguage","_ENV_LANGUAGE_","setBrand","_ENV_BRAND_","document","documentElement","setAttribute","getProp","propsStr","props","filter","_","tmp","i","length","setBodyBackGroundColor","json","backgroundColor","body","style","setTitle","title","initStyle","DDbridge","SodaBridgeRegister","Soda","getUserInfo","params","getSystemInfo","getLocationInfo","Promise","resolve","reject","geolocation","getCurrentPosition","position","error","errno","errmsg","coords","latitude","longitude","toString","Vue","options","mixin","methods","type","SodaBridgeData","pms","this","userInfo","hasOwnProperty","systemInfo","asyncSetTitle","navi_title","timeout","setTimeout","Fusion","computed","paramsString","search","slice","items","result","item","temp","LPHost","isEnv","process","isOnlineSchema","isPre","startsWith","simName","BASE_API_ACT","BASE_URL","apiConfig","GET_XPUB_CONFIG","getXpubConfig","requestPOST","paramsData","didiaxios","method","emulateJSON","needEncrypt","catch","preview","queryString","s","activity_id","isAllDigits","str","pattern","Number","replace","suffix","isV2","apiSchemaApiUrl","online","dataApi","XpubJsonMonitorBt","page_url","herf","trace_id","traceId","request_errno","xpub_json","getData","resData","pageId","xpubConfig","scenes","Dajax","Error","isPro","BUILD_ENV","swRegister","landing","serviceWorker","register","registration","registrationError","omegaPageConfig","appKey","uploadHost","browserRouterEnable","autoClick","autoPosition","OmegaTracker","DDBridge","registerDefaultBridge","dpubWidget","eventMap","sailing_c_x_activity_landing_item_sw","ObserverLog","threshold","el","render","genRenderFnForH5","rpubWidget","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","t","value","mode","ns","create","def","current","getOwnPropertyNames","definition","o","defineProperty","enumerable","get","f","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","prop","prototype","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","nc","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","target","head","appendChild","Symbol","toStringTag","p","installedChunks","installedChunkData","promise","loadingEnded","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","id","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}