{"version":3,"file":"js/app.34b8e73f.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/lib/js/uuid.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 (!ls.getItem || !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;\nlet SA_RELATION_ID; // SA来源信息\n// bridge获取埋点公共参数\nasync function getCommonParams() {\n let globalParams = window.getGlobalParams || {};\n\n if (inNative) {\n if (!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 if (!SA_RELATION_ID) {\n try {\n window.SodaBridge &&\n (await window.SodaBridge('getGlobalParams', 'badcase').then((res) => {\n const { relationId = -999 } = res.data || {};\n SA_RELATION_ID = relationId;\n }));\n } catch (err) {\n SA_RELATION_ID = -999;\n }\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 pub_relation_id: SA_RELATION_ID || -999,\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 'es-CO': 'es-CO',\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","/**\n * @desc 生成UUID 参考:https://blog.csdn.net/weixin_42333548/article/details/128981316\n */\nexport const generateUUID = () => {\n try {\n let d = new Date().getTime() // D 是随机种子\n\n if (window.performance && typeof window.performance.now === 'function') {\n d += performance.now()\n }\n\n const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (d + Math.random() * 16) % 16 | 0\n d = Math.floor(d / 16)\n return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16)\n })\n\n return uuid\n } catch (error) {\n return '-999'\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 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'\n// eslint-disable-next-line no-unused-vars\nimport swRegister, { swUnregister } from './lib/utils/sw-register'\n// end - 新的appKey-1、只用来统计页面性能指标(不包含业务埋点) 2、将涉及的业务埋点下添加此appKey的应用\nimport trackEvent from './lib/js/track'\nimport { generateUUID } from './lib/js/uuid.js'\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\nwindow.trackEvent = trackEvent\n\nVue.config.productionTip = false\nDDBridge.registerDefaultBridge()\nVue.use(DDBridge)\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 window.SODA_FE_UUID = generateUUID()\n // eslint-disable-next-line no-new\n new Vue({\n el: '#app',\n render: genRenderFnForH5(res, { ...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,998], function() { return __webpack_require__(595); })\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","SA_RELATION_ID","async","getCommonParams","globalParams","getGlobalParams","SodaBridge","then","res","uid","data","err","relationId","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","pub_relation_id","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","generateUUID","d","Date","getTime","now","uuid","c","r","Math","random","floor","omegaPageConfig","appKey","uploadHost","browserRouterEnable","autoClick","autoPosition","OmegaTracker","DDBridge","registerDefaultBridge","eventMap","sailing_c_x_activity_landing_item_sw","ObserverLog","threshold","SODA_FE_UUID","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","n","getter","__esModule","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":""}