{"version":3,"sources":["webpack:///./src/pages/food-rank/food-rank.js","webpack:///./node_modules/lazysizes/plugins/unveilhooks/ls.unveilhooks.js","webpack:///./node_modules/@dp/dora-ui/components/lazyload/index.js","webpack:///./node_modules/@dp/dora-ui/components/lazyload/image.vue","webpack:///./node_modules/lazysizes/lazysizes.js","webpack:///./node_modules/@dp/dora-ui/components/toast/toast.vue","webpack:///./node_modules/@dp/dora-ui/components/lazyload/config.js","webpack:///./node_modules/@dp/dora-ui/components/loading/loading.vue","webpack:///loading.vue","webpack:///./node_modules/@dp/dora-ui/components/toast/toast.vue?2eb7","webpack:///toast.vue","webpack:///./src/pages/food-rank/food-rank.vue","webpack:///./node_modules/@dp/dora-ui/components/customnav/custom-nav.vue","webpack:///./node_modules/lazysizes/plugins/rias/ls.rias.js","webpack:///custom-nav.vue","webpack:///./node_modules/@dp/dora-ui/components/loading/index.js","webpack:///./node_modules/@dp/dora-ui/components/lazyload/image.vue?afd2","webpack:///image.vue","webpack:///./node_modules/@dp/dora-ui/components/toast/index.js","webpack:///food-rank.vue","webpack:///./node_modules/@dp/dora-ui/components/customnav/custom-nav.vue?7df0","webpack:///./node_modules/@dp/dora-ui/components/loading/loading.vue?030d","webpack:///./node_modules/@dp/dora-ui/components/customnav/index.js","webpack:///./src/pages/food-rank/food-rank.vue?42c2"],"names":["App","__webpack_require__","Vue","el","render","h","window","document","addStyleScript","src","style","uniqueUrls","elem","createElement","insertElem","getElementsByTagName","rel","href","parentNode","insertBefore","bgLoad","regBgUrlEscape","addEventListener","url","cb","img","onload","onerror","complete","e","tmp","bg","poster","defaultPrevented","target","preload","getAttribute","lazySizes","cfg","requireJs","detail","firesLoad","backgroundImage","test","JSON","stringify","fire","component","Component","options","__file","esModule","Object","keys","some","key","substr","console","error","functional","module","exports","factory","getElementsByClassName","lazySizesConfig","docElem","documentElement","Date","supportPicture","HTMLPictureElement","setTimeout","requestAnimationFrame","requestIdleCallback","regPicture","loadEvents","regClassCache","forEach","Array","prototype","hasClass","ele","cls","RegExp","addClass","setAttribute","trim","removeClass","reg","replace","addRemoveLoadEvents","dom","fn","add","action","evt","triggerEvent","name","noBubbles","noCancelable","event","createEvent","initCustomEvent","dispatchEvent","updatePolyfill","full","polyfill","picturefill","pf","reevaluate","elements","getCSS","getComputedStyle","getWidth","parent","width","offsetWidth","minSize","_lazysizesWidth","rAF","running","waiting","firstFns","secondFns","fns","run","runFns","length","shift","rafBatch","queue","apply","this","arguments","push","hidden","_lsFlush","rAFIt","simple","that","args","throttle","lastTime","rICTimeout","now","idleCallback","timeout","isPriority","delay","debounce","func","timestamp","later","last","loader","lazyloadElems","preloadElems","isCompleted","resetPreloadingTimer","loadMode","started","eLvW","elvH","eLtop","eLleft","eLright","eLbottom","defaultExpand","preloadExpand","hFac","regImg","regIframe","supportScroll","navigator","userAgent","currentExpand","isLoading","lowRuns","resetPreloading","isNestedVisible","elemExpand","outerRect","visible","body","offsetParent","getBoundingClientRect","left","right","top","bottom","checkElements","eLlen","i","rect","autoLoadElem","loadedSomething","elemNegativeExpand","elemExpandVal","beforeExpandVal","expand","clientHeight","clientWidth","expFactor","_lazyRace","innerWidth","innerHeight","unveilElement","preloadAfterLoad","sizesAttr","throttledCheckElements","switchLoadingClass","loadedClass","loadingClass","rafSwitchLoadingClass","rafedSwitchLoadingClass","changeIframeSrc","contentWindow","location","handleSources","source","customMedia","sourceSrcset","srcsetAttr","cloneNode","removeChild","lazyUnveil","isAuto","sizes","isImg","srcset","isPicture","autosizesClass","srcAttr","nodeName","clearTimeout","call","lazyClass","naturalWidth","errorClass","autoSizer","updateElem","afterScroll","_","preloadClass","MutationObserver","observe","childList","subtree","attributes","setInterval","readyState","checkElems","unveil","autosizesElems","sizeElement","sources","len","dataAttr","getSizeElement","debouncedUpdateElementsSizes","init","prop","lazySizesDefaults","lazysizesConfig","uP","aC","rC","hC","gW","rias","widths","$destroy","remove","_vm","_h","$createElement","_c","_self","attrs","appear","on","after-leave","leaveComplete","staticClass","_v","_s","content","_e","staticRenderFns","_withStripped","undefined","getElementOptions","attr","setOption","elemStyles","attrVal","styles","getPropertyValue","regNumber","parseFloat","riasCfg","regObj","parse","regPlaceholder","match","replaceUrlProps","candidates","absUrl","anchor","prefix","postfix","replaceTypes","widthAlias","widthmap","candidate","u","regWidth","regHeight","ratio","Math","round","w","c","setSrc","opts","elemW","elemH","scrollWidth","scrollHeight","buggySizes","toUpperCase","removeAttribute","config","join","defineProperty","value","writable","createAttrObject","modifyOptions","details","getSrc","string","number","regAllowedSizes","riasDefaults","supportsType","type","elemOpts","sourceSrc","hasPlaceholder","modified","emptyList","disabled","parseInt","ascendingSort","a","b","reduceCandidate","srces","lowerCandidate","bonusFactor","d","cached","pow","getWSet","testPicture","_lazyrias","pWS","getX","dpr","devicePixelRatio","optimum","min","getCandidate","media","matchMedia","sort","respimage","cur","removeEventListener","Boolean","LoadingComp","Loading","_classCallCheck3","default","comp","appendChild","$mount","$el","hide","class","lazyload-cover","hasCover","data-src","data-ratio","data-sizes","data-expand","isWebpSupported","Image","check","isIos","lastIndex","lastIndexOf","quality","newURL","watermark","ToastComp","Toast","msg","show","queryString","merge","utils","initRootFontSize","isNative","rankCityId","isWX","element_id","index","title","bid","defaultLab","_this","platform","locateCityId","userId","token","lat","lng","then","res","data","_this2","_clean","setBouncesEnabled","getUserInfo","results","cityId","isLogin","fetchData","sendFMP","scrollHandler","shareAnalytics","shopId","closeWindow","_this3","_this4","_ref","_this5","favourite","result","reload","err","t","scrollTop","offsetHeight","headerHeight","shareContent","firstShowNum","topShopDTOList","_this6","_build","isIOS","iphonex-like-device","iPhoneXLikeDevice","useCustom","_t","role","aria-roledescription","click","onClickBack","_m","directives","rawName","expression","android","isAndroid","ref","colorNav","isColorNav","use-custom","navPlatform","slot","onClickShare","overseasTopCityBaseInfoDTO","update","_l","item","data-exposure","shopName","data-exposuretype","_f","getPoiLink","$event","onAnalytics","shop_id","category","pic","refInFor","price","region","distanceStr","eatReason","recommendDish","slice","menu","menuIndex","buddies","wannaed","onClickWanna","showMore","onClickMore","overseasTopCityListDTO","getCityLink","cityName","moreCityPic"],"mappings":"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","file":"food-rank.js","sourcesContent":["'use strict';\n/**\n *  prd: https://wiki.sankuai.com/pages/viewpage.action?pageId=853830202\n *  接口：https://wiki.sankuai.com/pages/viewpage.action?pageId=853821207\n *  url: //osx.dianping.com/app/overseas-peon/food-rank.html?notitleabr=1&rankCityId=341\n *  打点: https://wiki.sankuai.com/pages/viewpage.action?pageId=858830045\n *\n *  2期prd:https://wiki.sankuai.com/pages/viewpage.action?pageId=871685437\n *  api:https://wiki.sankuai.com/pages/viewpage.action?pageId=884730107\n *\n *  三期迭代需求\n *  prd: https://wiki.sankuai.com/pages/viewpage.action?pageId=904358642\n *  第三方登陆参考: https://wiki.sankuai.com/pages/viewpage.action?pageId=583029598\n *  非静默权限更大不要参数，会有中间页\n *  静默 sa＝1 需关注公众号，无中间页\n */\n\nvar App = require('./food-rank.vue');\n\nnew Vue({\n  el: '#app',\n  render: h => h(App)\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/food-rank/food-rank.js","/*\nThis plugin extends lazySizes to lazyLoad:\nbackground images, videos/posters and scripts\n\nBackground-Image:\nFor background images, use data-bg attribute:\n<div class=\"lazyload\" data-bg=\"bg-img.jpg\"></div>\n\n Video:\n For video/audio use data-poster and preload=\"none\":\n <video class=\"lazyload\" data-poster=\"poster.jpg\" preload=\"none\">\n <!-- sources -->\n </video>\n\n Scripts:\n For scripts use data-script:\n <div class=\"lazyload\" data-script=\"module-name.js\"></div>\n\n\n Script modules using require:\n For modules using require use data-require:\n <div class=\"lazyload\" data-require=\"module-name\"></div>\n*/\n\n(function(window, document){\n\t/*jshint eqnull:true */\n\t'use strict';\n\tvar bgLoad, regBgUrlEscape;\n\tvar uniqueUrls = {};\n\n\tif(document.addEventListener){\n\t\tregBgUrlEscape = /\\(|\\)|\\s|'/;\n\n\t\tbgLoad = function (url, cb){\n\t\t\tvar img = document.createElement('img');\n\t\t\timg.onload = function(){\n\t\t\t\timg.onload = null;\n\t\t\t\timg.onerror = null;\n\t\t\t\timg = null;\n\t\t\t\tcb();\n\t\t\t};\n\t\t\timg.onerror = img.onload;\n\n\t\t\timg.src = url;\n\n\t\t\tif(img && img.complete && img.onload){\n\t\t\t\timg.onload();\n\t\t\t}\n\t\t};\n\n\t\taddEventListener('lazybeforeunveil', function(e){\n\t\t\tvar tmp, load, bg, poster;\n\t\t\tif(!e.defaultPrevented) {\n\n\t\t\t\tif(e.target.preload == 'none'){\n\t\t\t\t\te.target.preload = 'auto';\n\t\t\t\t}\n\n\t\t\t\ttmp = e.target.getAttribute('data-link');\n\t\t\t\tif(tmp){\n\t\t\t\t\taddStyleScript(tmp, true);\n\t\t\t\t}\n\n\t\t\t\t// handle data-script\n\t\t\t\ttmp = e.target.getAttribute('data-script');\n\t\t\t\tif(tmp){\n\t\t\t\t\taddStyleScript(tmp);\n\t\t\t\t}\n\n\t\t\t\t// handle data-require\n\t\t\t\ttmp = e.target.getAttribute('data-require');\n\t\t\t\tif(tmp){\n\t\t\t\t\tif(lazySizes.cfg.requireJs){\n\t\t\t\t\t\tlazySizes.cfg.requireJs([tmp]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddStyleScript(tmp);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// handle data-bg\n\t\t\t\tbg = e.target.getAttribute('data-bg');\n\t\t\t\tif (bg) {\n\t\t\t\t\te.detail.firesLoad = true;\n\t\t\t\t\tload = function(){\n\t\t\t\t\t\te.target.style.backgroundImage = 'url(' + (regBgUrlEscape.test(bg) ? JSON.stringify(bg) : bg ) + ')';\n\t\t\t\t\t\te.detail.firesLoad = false;\n\t\t\t\t\t\tlazySizes.fire(e.target, '_lazyloaded', {}, true, true);\n\t\t\t\t\t};\n\n\t\t\t\t\tbgLoad(bg, load);\n\t\t\t\t}\n\n\t\t\t\t// handle data-poster\n\t\t\t\tposter = e.target.getAttribute('data-poster');\n\t\t\t\tif(poster){\n\t\t\t\t\te.detail.firesLoad = true;\n\t\t\t\t\tload = function(){\n\t\t\t\t\t\te.target.poster = poster;\n\t\t\t\t\t\te.detail.firesLoad = false;\n\t\t\t\t\t\tlazySizes.fire(e.target, '_lazyloaded', {}, true, true);\n\t\t\t\t\t};\n\n\t\t\t\t\tbgLoad(poster, load);\n\n\t\t\t\t}\n\t\t\t}\n\t\t}, false);\n\n\t}\n\n\tfunction addStyleScript(src, style){\n\t\tif(uniqueUrls[src]){\n\t\t\treturn;\n\t\t}\n\t\tvar elem = document.createElement(style ? 'link' : 'script');\n\t\tvar insertElem = document.getElementsByTagName('script')[0];\n\n\t\tif(style){\n\t\t\telem.rel = 'stylesheet';\n\t\t\telem.href = src;\n\t\t} else {\n\t\t\telem.src = src;\n\t\t}\n\t\tuniqueUrls[src] = true;\n\t\tuniqueUrls[elem.src || elem.href] = true;\n\t\tinsertElem.parentNode.insertBefore(elem, insertElem);\n\t}\n})(window, document);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lazysizes/plugins/unveilhooks/ls.unveilhooks.js\n// module id = 28P8\n// module chunks = CPil PtqX u47N /gHO 3iVg M030 taD4 E5iI MmDM vqlx UV+2 PYw4 5wsv 0xl/ 5ZQk 9xMs rPED BWO7 tmuI Vfzt vLWx RXXl 18Mt guqY Jhy6 LSoV x7+T 4+JC XGlI WJVg upn8 4btk sQX0 mppY xk/u","Vue.component('dr-resp-img', require('./image.vue'));\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@dp/dora-ui/components/lazyload/index.js","var disposed = false\nvar Component = require(\"!../../../../vue-loader/lib/component-normalizer\")(\n  /* script */\n  require(\"!!happypack/loader?id=js!../../../../vue-loader/lib/selector?type=script&index=0!../../../../happypack/loader.js?id=eslint!./image.vue\"),\n  /* template */\n  require(\"!!../../../../vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-601609fe\\\",\\\"hasScoped\\\":false,\\\"preserveWhitespace\\\":false}!../../../../vue-loader/lib/selector?type=template&index=0!../../../../happypack/loader.js?id=eslint!./image.vue\"),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\nComponent.options.__file = \"/data/jenkinshome/jenkins/jenkins/workspace/product-jiudian-f2e-sh-overseas-info/node_modules/@dp/dora-ui/components/lazyload/image.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key.substr(0, 2) !== \"__\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] image.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (module.hot) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-601609fe\", Component.options)\n  } else {\n    hotAPI.reload(\"data-v-601609fe\", Component.options)\n  }\n  module.hot.dispose(function (data) {\n    disposed = true\n  })\n})()}\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@dp/dora-ui/components/lazyload/image.vue\n// module id = 7I7t\n// module chunks = CPil PtqX u47N /gHO 3iVg M030 taD4 E5iI vqlx UV+2 PYw4 5wsv 0xl/ 5ZQk rPED xk/u BWO7 Vfzt vLWx RXXl 18Mt guqY Jhy6 LSoV x7+T 4+JC XGlI WJVg upn8 4btk sQX0 mppY tmuI","(function(window, factory) {\n\tvar lazySizes = factory(window, window.document);\n\twindow.lazySizes = lazySizes;\n\tif(typeof module == 'object' && module.exports){\n\t\tmodule.exports = lazySizes;\n\t}\n}(window, function l(window, document) {\n\t'use strict';\n\t/*jshint eqnull:true */\n\tif(!document.getElementsByClassName){return;}\n\n\tvar lazySizesConfig;\n\n\tvar docElem = document.documentElement;\n\n\tvar Date = window.Date;\n\n\tvar supportPicture = window.HTMLPictureElement;\n\n\tvar _addEventListener = 'addEventListener';\n\n\tvar _getAttribute = 'getAttribute';\n\n\tvar addEventListener = window[_addEventListener];\n\n\tvar setTimeout = window.setTimeout;\n\n\tvar requestAnimationFrame = window.requestAnimationFrame || setTimeout;\n\n\tvar requestIdleCallback = window.requestIdleCallback;\n\n\tvar regPicture = /^picture$/i;\n\n\tvar loadEvents = ['load', 'error', 'lazyincluded', '_lazyloaded'];\n\n\tvar regClassCache = {};\n\n\tvar forEach = Array.prototype.forEach;\n\n\tvar hasClass = function(ele, cls) {\n\t\tif(!regClassCache[cls]){\n\t\t\tregClassCache[cls] = new RegExp('(\\\\s|^)'+cls+'(\\\\s|$)');\n\t\t}\n\t\treturn regClassCache[cls].test(ele[_getAttribute]('class') || '') && regClassCache[cls];\n\t};\n\n\tvar addClass = function(ele, cls) {\n\t\tif (!hasClass(ele, cls)){\n\t\t\tele.setAttribute('class', (ele[_getAttribute]('class') || '').trim() + ' ' + cls);\n\t\t}\n\t};\n\n\tvar removeClass = function(ele, cls) {\n\t\tvar reg;\n\t\tif ((reg = hasClass(ele,cls))) {\n\t\t\tele.setAttribute('class', (ele[_getAttribute]('class') || '').replace(reg, ' '));\n\t\t}\n\t};\n\n\tvar addRemoveLoadEvents = function(dom, fn, add){\n\t\tvar action = add ? _addEventListener : 'removeEventListener';\n\t\tif(add){\n\t\t\taddRemoveLoadEvents(dom, fn);\n\t\t}\n\t\tloadEvents.forEach(function(evt){\n\t\t\tdom[action](evt, fn);\n\t\t});\n\t};\n\n\tvar triggerEvent = function(elem, name, detail, noBubbles, noCancelable){\n\t\tvar event = document.createEvent('CustomEvent');\n\n\t\tevent.initCustomEvent(name, !noBubbles, !noCancelable, detail || {});\n\n\t\telem.dispatchEvent(event);\n\t\treturn event;\n\t};\n\n\tvar updatePolyfill = function (el, full){\n\t\tvar polyfill;\n\t\tif( !supportPicture && ( polyfill = (window.picturefill || lazySizesConfig.pf) ) ){\n\t\t\tpolyfill({reevaluate: true, elements: [el]});\n\t\t} else if(full && full.src){\n\t\t\tel.src = full.src;\n\t\t}\n\t};\n\n\tvar getCSS = function (elem, style){\n\t\treturn (getComputedStyle(elem, null) || {})[style];\n\t};\n\n\tvar getWidth = function(elem, parent, width){\n\t\twidth = width || elem.offsetWidth;\n\n\t\twhile(width < lazySizesConfig.minSize && parent && !elem._lazysizesWidth){\n\t\t\twidth =  parent.offsetWidth;\n\t\t\tparent = parent.parentNode;\n\t\t}\n\n\t\treturn width;\n\t};\n\n\tvar rAF = (function(){\n\t\tvar running, waiting;\n\t\tvar firstFns = [];\n\t\tvar secondFns = [];\n\t\tvar fns = firstFns;\n\n\t\tvar run = function(){\n\t\t\tvar runFns = fns;\n\n\t\t\tfns = firstFns.length ? secondFns : firstFns;\n\n\t\t\trunning = true;\n\t\t\twaiting = false;\n\n\t\t\twhile(runFns.length){\n\t\t\t\trunFns.shift()();\n\t\t\t}\n\n\t\t\trunning = false;\n\t\t};\n\n\t\tvar rafBatch = function(fn, queue){\n\t\t\tif(running && !queue){\n\t\t\t\tfn.apply(this, arguments);\n\t\t\t} else {\n\t\t\t\tfns.push(fn);\n\n\t\t\t\tif(!waiting){\n\t\t\t\t\twaiting = true;\n\t\t\t\t\t(document.hidden ? setTimeout : requestAnimationFrame)(run);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\trafBatch._lsFlush = run;\n\n\t\treturn rafBatch;\n\t})();\n\n\tvar rAFIt = function(fn, simple){\n\t\treturn simple ?\n\t\t\tfunction() {\n\t\t\t\trAF(fn);\n\t\t\t} :\n\t\t\tfunction(){\n\t\t\t\tvar that = this;\n\t\t\t\tvar args = arguments;\n\t\t\t\trAF(function(){\n\t\t\t\t\tfn.apply(that, args);\n\t\t\t\t});\n\t\t\t}\n\t\t;\n\t};\n\n\tvar throttle = function(fn){\n\t\tvar running;\n\t\tvar lastTime = 0;\n\t\tvar gDelay = 125;\n\t\tvar RIC_DEFAULT_TIMEOUT = 666;\n\t\tvar rICTimeout = RIC_DEFAULT_TIMEOUT;\n\t\tvar run = function(){\n\t\t\trunning = false;\n\t\t\tlastTime = Date.now();\n\t\t\tfn();\n\t\t};\n\t\tvar idleCallback = requestIdleCallback ?\n\t\t\tfunction(){\n\t\t\t\trequestIdleCallback(run, {timeout: rICTimeout});\n\t\t\t\tif(rICTimeout !== RIC_DEFAULT_TIMEOUT){\n\t\t\t\t\trICTimeout = RIC_DEFAULT_TIMEOUT;\n\t\t\t\t}\n\t\t\t}:\n\t\t\trAFIt(function(){\n\t\t\t\tsetTimeout(run);\n\t\t\t}, true)\n\t\t;\n\n\t\treturn function(isPriority){\n\t\t\tvar delay;\n\t\t\tif((isPriority = isPriority === true)){\n\t\t\t\trICTimeout = 44;\n\t\t\t}\n\n\t\t\tif(running){\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\trunning =  true;\n\n\t\t\tdelay = gDelay - (Date.now() - lastTime);\n\n\t\t\tif(delay < 0){\n\t\t\t\tdelay = 0;\n\t\t\t}\n\n\t\t\tif(isPriority || (delay < 9 && requestIdleCallback)){\n\t\t\t\tidleCallback();\n\t\t\t} else {\n\t\t\t\tsetTimeout(idleCallback, delay);\n\t\t\t}\n\t\t};\n\t};\n\n\t//based on http://modernjavascript.blogspot.de/2013/08/building-better-debounce.html\n\tvar debounce = function(func) {\n\t\tvar timeout, timestamp;\n\t\tvar wait = 99;\n\t\tvar run = function(){\n\t\t\ttimeout = null;\n\t\t\tfunc();\n\t\t};\n\t\tvar later = function() {\n\t\t\tvar last = Date.now() - timestamp;\n\n\t\t\tif (last < wait) {\n\t\t\t\tsetTimeout(later, wait - last);\n\t\t\t} else {\n\t\t\t\t(requestIdleCallback || run)(run);\n\t\t\t}\n\t\t};\n\n\t\treturn function() {\n\t\t\ttimestamp = Date.now();\n\n\t\t\tif (!timeout) {\n\t\t\t\ttimeout = setTimeout(later, wait);\n\t\t\t}\n\t\t};\n\t};\n\n\n\tvar loader = (function(){\n\t\tvar lazyloadElems, preloadElems, isCompleted, resetPreloadingTimer, loadMode, started;\n\n\t\tvar eLvW, elvH, eLtop, eLleft, eLright, eLbottom;\n\n\t\tvar defaultExpand, preloadExpand, hFac;\n\n\t\tvar regImg = /^img$/i;\n\t\tvar regIframe = /^iframe$/i;\n\n\t\tvar supportScroll = ('onscroll' in window) && !(/glebot/.test(navigator.userAgent));\n\n\t\tvar shrinkExpand = 0;\n\t\tvar currentExpand = 0;\n\n\t\tvar isLoading = 0;\n\t\tvar lowRuns = -1;\n\n\t\tvar resetPreloading = function(e){\n\t\t\tisLoading--;\n\t\t\tif(e && e.target){\n\t\t\t\taddRemoveLoadEvents(e.target, resetPreloading);\n\t\t\t}\n\n\t\t\tif(!e || isLoading < 0 || !e.target){\n\t\t\t\tisLoading = 0;\n\t\t\t}\n\t\t};\n\n\t\tvar isNestedVisible = function(elem, elemExpand){\n\t\t\tvar outerRect;\n\t\t\tvar parent = elem;\n\t\t\tvar visible = getCSS(document.body, 'visibility') == 'hidden' || getCSS(elem, 'visibility') != 'hidden';\n\n\t\t\teLtop -= elemExpand;\n\t\t\teLbottom += elemExpand;\n\t\t\teLleft -= elemExpand;\n\t\t\teLright += elemExpand;\n\n\t\t\twhile(visible && (parent = parent.offsetParent) && parent != document.body && parent != docElem){\n\t\t\t\tvisible = ((getCSS(parent, 'opacity') || 1) > 0);\n\n\t\t\t\tif(visible && getCSS(parent, 'overflow') != 'visible'){\n\t\t\t\t\touterRect = parent.getBoundingClientRect();\n\t\t\t\t\tvisible = eLright > outerRect.left &&\n\t\t\t\t\t\teLleft < outerRect.right &&\n\t\t\t\t\t\teLbottom > outerRect.top - 1 &&\n\t\t\t\t\t\teLtop < outerRect.bottom + 1\n\t\t\t\t\t;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn visible;\n\t\t};\n\n\t\tvar checkElements = function() {\n\t\t\tvar eLlen, i, rect, autoLoadElem, loadedSomething, elemExpand, elemNegativeExpand, elemExpandVal, beforeExpandVal;\n\n\t\t\tif((loadMode = lazySizesConfig.loadMode) && isLoading < 8 && (eLlen = lazyloadElems.length)){\n\n\t\t\t\ti = 0;\n\n\t\t\t\tlowRuns++;\n\n\t\t\t\tif(preloadExpand == null){\n\t\t\t\t\tif(!('expand' in lazySizesConfig)){\n\t\t\t\t\t\tlazySizesConfig.expand = docElem.clientHeight > 500 && docElem.clientWidth > 500 ? 500 : 370;\n\t\t\t\t\t}\n\n\t\t\t\t\tdefaultExpand = lazySizesConfig.expand;\n\t\t\t\t\tpreloadExpand = defaultExpand * lazySizesConfig.expFactor;\n\t\t\t\t}\n\n\t\t\t\tif(currentExpand < preloadExpand && isLoading < 1 && lowRuns > 2 && loadMode > 2 && !document.hidden){\n\t\t\t\t\tcurrentExpand = preloadExpand;\n\t\t\t\t\tlowRuns = 0;\n\t\t\t\t} else if(loadMode > 1 && lowRuns > 1 && isLoading < 6){\n\t\t\t\t\tcurrentExpand = defaultExpand;\n\t\t\t\t} else {\n\t\t\t\t\tcurrentExpand = shrinkExpand;\n\t\t\t\t}\n\n\t\t\t\tfor(; i < eLlen; i++){\n\n\t\t\t\t\tif(!lazyloadElems[i] || lazyloadElems[i]._lazyRace){continue;}\n\n\t\t\t\t\tif(!supportScroll){unveilElement(lazyloadElems[i]);continue;}\n\n\t\t\t\t\tif(!(elemExpandVal = lazyloadElems[i][_getAttribute]('data-expand')) || !(elemExpand = elemExpandVal * 1)){\n\t\t\t\t\t\telemExpand = currentExpand;\n\t\t\t\t\t}\n\n\t\t\t\t\tif(beforeExpandVal !== elemExpand){\n\t\t\t\t\t\teLvW = innerWidth + (elemExpand * hFac);\n\t\t\t\t\t\telvH = innerHeight + elemExpand;\n\t\t\t\t\t\telemNegativeExpand = elemExpand * -1;\n\t\t\t\t\t\tbeforeExpandVal = elemExpand;\n\t\t\t\t\t}\n\n\t\t\t\t\trect = lazyloadElems[i].getBoundingClientRect();\n\n\t\t\t\t\tif ((eLbottom = rect.bottom) >= elemNegativeExpand &&\n\t\t\t\t\t\t(eLtop = rect.top) <= elvH &&\n\t\t\t\t\t\t(eLright = rect.right) >= elemNegativeExpand * hFac &&\n\t\t\t\t\t\t(eLleft = rect.left) <= eLvW &&\n\t\t\t\t\t\t(eLbottom || eLright || eLleft || eLtop) &&\n\t\t\t\t\t\t((isCompleted && isLoading < 3 && !elemExpandVal && (loadMode < 3 || lowRuns < 4)) || isNestedVisible(lazyloadElems[i], elemExpand))){\n\t\t\t\t\t\tunveilElement(lazyloadElems[i]);\n\t\t\t\t\t\tloadedSomething = true;\n\t\t\t\t\t\tif(isLoading > 9){break;}\n\t\t\t\t\t} else if(!loadedSomething && isCompleted && !autoLoadElem &&\n\t\t\t\t\t\tisLoading < 4 && lowRuns < 4 && loadMode > 2 &&\n\t\t\t\t\t\t(preloadElems[0] || lazySizesConfig.preloadAfterLoad) &&\n\t\t\t\t\t\t(preloadElems[0] || (!elemExpandVal && ((eLbottom || eLright || eLleft || eLtop) || lazyloadElems[i][_getAttribute](lazySizesConfig.sizesAttr) != 'auto')))){\n\t\t\t\t\t\tautoLoadElem = preloadElems[0] || lazyloadElems[i];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif(autoLoadElem && !loadedSomething){\n\t\t\t\t\tunveilElement(autoLoadElem);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar throttledCheckElements = throttle(checkElements);\n\n\t\tvar switchLoadingClass = function(e){\n\t\t\taddClass(e.target, lazySizesConfig.loadedClass);\n\t\t\tremoveClass(e.target, lazySizesConfig.loadingClass);\n\t\t\taddRemoveLoadEvents(e.target, rafSwitchLoadingClass);\n\t\t};\n\t\tvar rafedSwitchLoadingClass = rAFIt(switchLoadingClass);\n\t\tvar rafSwitchLoadingClass = function(e){\n\t\t\trafedSwitchLoadingClass({target: e.target});\n\t\t};\n\n\t\tvar changeIframeSrc = function(elem, src){\n\t\t\ttry {\n\t\t\t\telem.contentWindow.location.replace(src);\n\t\t\t} catch(e){\n\t\t\t\telem.src = src;\n\t\t\t}\n\t\t};\n\n\t\tvar handleSources = function(source){\n\t\t\tvar customMedia, parent;\n\n\t\t\tvar sourceSrcset = source[_getAttribute](lazySizesConfig.srcsetAttr);\n\n\t\t\tif( (customMedia = lazySizesConfig.customMedia[source[_getAttribute]('data-media') || source[_getAttribute]('media')]) ){\n\t\t\t\tsource.setAttribute('media', customMedia);\n\t\t\t}\n\n\t\t\tif(sourceSrcset){\n\t\t\t\tsource.setAttribute('srcset', sourceSrcset);\n\t\t\t}\n\n\t\t\t//https://bugzilla.mozilla.org/show_bug.cgi?id=1170572\n\t\t\tif(customMedia){\n\t\t\t\tparent = source.parentNode;\n\t\t\t\tparent.insertBefore(source.cloneNode(), source);\n\t\t\t\tparent.removeChild(source);\n\t\t\t}\n\t\t};\n\n\t\tvar lazyUnveil = rAFIt(function (elem, detail, isAuto, sizes, isImg){\n\t\t\tvar src, srcset, parent, isPicture, event, firesLoad;\n\n\t\t\tif(!(event = triggerEvent(elem, 'lazybeforeunveil', detail)).defaultPrevented){\n\n\t\t\t\tif(sizes){\n\t\t\t\t\tif(isAuto){\n\t\t\t\t\t\taddClass(elem, lazySizesConfig.autosizesClass);\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem.setAttribute('sizes', sizes);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tsrcset = elem[_getAttribute](lazySizesConfig.srcsetAttr);\n\t\t\t\tsrc = elem[_getAttribute](lazySizesConfig.srcAttr);\n\n\t\t\t\tif(isImg) {\n\t\t\t\t\tparent = elem.parentNode;\n\t\t\t\t\tisPicture = parent && regPicture.test(parent.nodeName || '');\n\t\t\t\t}\n\n\t\t\t\tfiresLoad = detail.firesLoad || (('src' in elem) && (srcset || src || isPicture));\n\n\t\t\t\tevent = {target: elem};\n\n\t\t\t\tif(firesLoad){\n\t\t\t\t\taddRemoveLoadEvents(elem, resetPreloading, true);\n\t\t\t\t\tclearTimeout(resetPreloadingTimer);\n\t\t\t\t\tresetPreloadingTimer = setTimeout(resetPreloading, 2500);\n\n\t\t\t\t\taddClass(elem, lazySizesConfig.loadingClass);\n\t\t\t\t\taddRemoveLoadEvents(elem, rafSwitchLoadingClass, true);\n\t\t\t\t}\n\n\t\t\t\tif(isPicture){\n\t\t\t\t\tforEach.call(parent.getElementsByTagName('source'), handleSources);\n\t\t\t\t}\n\n\t\t\t\tif(srcset){\n\t\t\t\t\telem.setAttribute('srcset', srcset);\n\t\t\t\t} else if(src && !isPicture){\n\t\t\t\t\tif(regIframe.test(elem.nodeName)){\n\t\t\t\t\t\tchangeIframeSrc(elem, src);\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem.src = src;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif(srcset || isPicture){\n\t\t\t\t\tupdatePolyfill(elem, {src: src});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(elem._lazyRace){\n\t\t\t\tdelete elem._lazyRace;\n\t\t\t}\n\t\t\tremoveClass(elem, lazySizesConfig.lazyClass);\n\n\t\t\trAF(function(){\n\t\t\t\tif( !firesLoad || (elem.complete && elem.naturalWidth > 1)){\n\t\t\t\t\tif(firesLoad){\n\t\t\t\t\t\tresetPreloading(event);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisLoading--;\n\t\t\t\t\t}\n\t\t\t\t\tswitchLoadingClass(event);\n\t\t\t\t}\n\t\t\t}, true);\n\t\t});\n\n\t\tvar unveilElement = function (elem){\n\t\t\tvar detail;\n\n\t\t\tvar isImg = regImg.test(elem.nodeName);\n\n\t\t\t//allow using sizes=\"auto\", but don't use. it's invalid. Use data-sizes=\"auto\" or a valid value for sizes instead (i.e.: sizes=\"80vw\")\n\t\t\tvar sizes = isImg && (elem[_getAttribute](lazySizesConfig.sizesAttr) || elem[_getAttribute]('sizes'));\n\t\t\tvar isAuto = sizes == 'auto';\n\n\t\t\tif( (isAuto || !isCompleted) && isImg && (elem.src || elem.srcset) && !elem.complete && !hasClass(elem, lazySizesConfig.errorClass)){return;}\n\n\t\t\tdetail = triggerEvent(elem, 'lazyunveilread').detail;\n\n\t\t\tif(isAuto){\n\t\t\t\t autoSizer.updateElem(elem, true, elem.offsetWidth);\n\t\t\t}\n\n\t\t\telem._lazyRace = true;\n\t\t\tisLoading++;\n\n\t\t\tlazyUnveil(elem, detail, isAuto, sizes, isImg);\n\t\t};\n\n\t\tvar onload = function(){\n\t\t\tif(isCompleted){return;}\n\t\t\tif(Date.now() - started < 999){\n\t\t\t\tsetTimeout(onload, 999);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar afterScroll = debounce(function(){\n\t\t\t\tlazySizesConfig.loadMode = 3;\n\t\t\t\tthrottledCheckElements();\n\t\t\t});\n\n\t\t\tisCompleted = true;\n\n\t\t\tlazySizesConfig.loadMode = 3;\n\n\t\t\tthrottledCheckElements();\n\n\t\t\taddEventListener('scroll', function(){\n\t\t\t\tif(lazySizesConfig.loadMode == 3){\n\t\t\t\t\tlazySizesConfig.loadMode = 2;\n\t\t\t\t}\n\t\t\t\tafterScroll();\n\t\t\t}, true);\n\t\t};\n\n\t\treturn {\n\t\t\t_: function(){\n\t\t\t\tstarted = Date.now();\n\n\t\t\t\tlazyloadElems = document.getElementsByClassName(lazySizesConfig.lazyClass);\n\t\t\t\tpreloadElems = document.getElementsByClassName(lazySizesConfig.lazyClass + ' ' + lazySizesConfig.preloadClass);\n\t\t\t\thFac = lazySizesConfig.hFac;\n\n\t\t\t\taddEventListener('scroll', throttledCheckElements, true);\n\n\t\t\t\taddEventListener('resize', throttledCheckElements, true);\n\n\t\t\t\tif(window.MutationObserver){\n\t\t\t\t\tnew MutationObserver( throttledCheckElements ).observe( docElem, {childList: true, subtree: true, attributes: true} );\n\t\t\t\t} else {\n\t\t\t\t\tdocElem[_addEventListener]('DOMNodeInserted', throttledCheckElements, true);\n\t\t\t\t\tdocElem[_addEventListener]('DOMAttrModified', throttledCheckElements, true);\n\t\t\t\t\tsetInterval(throttledCheckElements, 999);\n\t\t\t\t}\n\n\t\t\t\taddEventListener('hashchange', throttledCheckElements, true);\n\n\t\t\t\t//, 'fullscreenchange'\n\t\t\t\t['focus', 'mouseover', 'click', 'load', 'transitionend', 'animationend', 'webkitAnimationEnd'].forEach(function(name){\n\t\t\t\t\tdocument[_addEventListener](name, throttledCheckElements, true);\n\t\t\t\t});\n\n\t\t\t\tif((/d$|^c/.test(document.readyState))){\n\t\t\t\t\tonload();\n\t\t\t\t} else {\n\t\t\t\t\taddEventListener('load', onload);\n\t\t\t\t\tdocument[_addEventListener]('DOMContentLoaded', throttledCheckElements);\n\t\t\t\t\tsetTimeout(onload, 20000);\n\t\t\t\t}\n\n\t\t\t\tif(lazyloadElems.length){\n\t\t\t\t\tcheckElements();\n\t\t\t\t\trAF._lsFlush();\n\t\t\t\t} else {\n\t\t\t\t\tthrottledCheckElements();\n\t\t\t\t}\n\t\t\t},\n\t\t\tcheckElems: throttledCheckElements,\n\t\t\tunveil: unveilElement\n\t\t};\n\t})();\n\n\n\tvar autoSizer = (function(){\n\t\tvar autosizesElems;\n\n\t\tvar sizeElement = rAFIt(function(elem, parent, event, width){\n\t\t\tvar sources, i, len;\n\t\t\telem._lazysizesWidth = width;\n\t\t\twidth += 'px';\n\n\t\t\telem.setAttribute('sizes', width);\n\n\t\t\tif(regPicture.test(parent.nodeName || '')){\n\t\t\t\tsources = parent.getElementsByTagName('source');\n\t\t\t\tfor(i = 0, len = sources.length; i < len; i++){\n\t\t\t\t\tsources[i].setAttribute('sizes', width);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(!event.detail.dataAttr){\n\t\t\t\tupdatePolyfill(elem, event.detail);\n\t\t\t}\n\t\t});\n\t\tvar getSizeElement = function (elem, dataAttr, width){\n\t\t\tvar event;\n\t\t\tvar parent = elem.parentNode;\n\n\t\t\tif(parent){\n\t\t\t\twidth = getWidth(elem, parent, width);\n\t\t\t\tevent = triggerEvent(elem, 'lazybeforesizes', {width: width, dataAttr: !!dataAttr});\n\n\t\t\t\tif(!event.defaultPrevented){\n\t\t\t\t\twidth = event.detail.width;\n\n\t\t\t\t\tif(width && width !== elem._lazysizesWidth){\n\t\t\t\t\t\tsizeElement(elem, parent, event, width);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar updateElementsSizes = function(){\n\t\t\tvar i;\n\t\t\tvar len = autosizesElems.length;\n\t\t\tif(len){\n\t\t\t\ti = 0;\n\n\t\t\t\tfor(; i < len; i++){\n\t\t\t\t\tgetSizeElement(autosizesElems[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar debouncedUpdateElementsSizes = debounce(updateElementsSizes);\n\n\t\treturn {\n\t\t\t_: function(){\n\t\t\t\tautosizesElems = document.getElementsByClassName(lazySizesConfig.autosizesClass);\n\t\t\t\taddEventListener('resize', debouncedUpdateElementsSizes);\n\t\t\t},\n\t\t\tcheckElems: debouncedUpdateElementsSizes,\n\t\t\tupdateElem: getSizeElement\n\t\t};\n\t})();\n\n\tvar init = function(){\n\t\tif(!init.i){\n\t\t\tinit.i = true;\n\t\t\tautoSizer._();\n\t\t\tloader._();\n\t\t}\n\t};\n\n\t(function(){\n\t\tvar prop;\n\n\t\tvar lazySizesDefaults = {\n\t\t\tlazyClass: 'lazyload',\n\t\t\tloadedClass: 'lazyloaded',\n\t\t\tloadingClass: 'lazyloading',\n\t\t\tpreloadClass: 'lazypreload',\n\t\t\terrorClass: 'lazyerror',\n\t\t\t//strictClass: 'lazystrict',\n\t\t\tautosizesClass: 'lazyautosizes',\n\t\t\tsrcAttr: 'data-src',\n\t\t\tsrcsetAttr: 'data-srcset',\n\t\t\tsizesAttr: 'data-sizes',\n\t\t\t//preloadAfterLoad: false,\n\t\t\tminSize: 40,\n\t\t\tcustomMedia: {},\n\t\t\tinit: true,\n\t\t\texpFactor: 1.5,\n\t\t\thFac: 0.8,\n\t\t\tloadMode: 2\n\t\t};\n\n\t\tlazySizesConfig = window.lazySizesConfig || window.lazysizesConfig || {};\n\n\t\tfor(prop in lazySizesDefaults){\n\t\t\tif(!(prop in lazySizesConfig)){\n\t\t\t\tlazySizesConfig[prop] = lazySizesDefaults[prop];\n\t\t\t}\n\t\t}\n\n\t\twindow.lazySizesConfig = lazySizesConfig;\n\n\t\tsetTimeout(function(){\n\t\t\tif(lazySizesConfig.init){\n\t\t\t\tinit();\n\t\t\t}\n\t\t});\n\t})();\n\n\treturn {\n\t\tcfg: lazySizesConfig,\n\t\tautoSizer: autoSizer,\n\t\tloader: loader,\n\t\tinit: init,\n\t\tuP: updatePolyfill,\n\t\taC: addClass,\n\t\trC: removeClass,\n\t\thC: hasClass,\n\t\tfire: triggerEvent,\n\t\tgW: getWidth,\n\t\trAF: rAF,\n\t};\n}\n));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lazysizes/lazysizes.js\n// module id = B2fU\n// module chunks = CPil PtqX u47N /gHO 3iVg M030 taD4 E5iI MmDM vqlx UV+2 PYw4 5wsv 0xl/ 5ZQk 9xMs rPED BWO7 tmuI Vfzt vLWx RXXl 18Mt guqY Jhy6 LSoV x7+T 4+JC XGlI WJVg upn8 4btk sQX0 mppY xk/u","var disposed = false\nvar Component = require(\"!../../../../vue-loader/lib/component-normalizer\")(\n  /* script */\n  require(\"!!happypack/loader?id=js!../../../../vue-loader/lib/selector?type=script&index=0!../../../../happypack/loader.js?id=eslint!./toast.vue\"),\n  /* template */\n  require(\"!!../../../../vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-72555a57\\\",\\\"hasScoped\\\":false,\\\"preserveWhitespace\\\":false}!../../../../vue-loader/lib/selector?type=template&index=0!../../../../happypack/loader.js?id=eslint!./toast.vue\"),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\nComponent.options.__file = \"/data/jenkinshome/jenkins/jenkins/workspace/product-jiudian-f2e-sh-overseas-info/node_modules/@dp/dora-ui/components/toast/toast.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key.substr(0, 2) !== \"__\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] toast.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (module.hot) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-72555a57\", Component.options)\n  } else {\n    hotAPI.reload(\"data-v-72555a57\", Component.options)\n  }\n  module.hot.dispose(function (data) {\n    disposed = true\n  })\n})()}\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@dp/dora-ui/components/toast/toast.vue\n// module id = B96M\n// module chunks = mKxr PtqX BWO7 u47N RoL9 /gHO 3iVg M030 taD4 E5iI MmDM vqlx UV+2 PYw4 5wsv 0xl/ 5ZQk 9xMs rPED CPil tmuI Vfzt IMFL vLWx RXXl 18Mt guqY Jhy6 qr8X LSoV x7+T 4+JC XGlI WJVg upn8 4btk sQX0 mppY xk/u","window.lazySizesConfig = window.lazySizesConfig || {};\nwindow.lazySizesConfig.rias = window.lazySizesConfig.rias || {};\nwindow.lazySizesConfig.rias.widths = [80, 160, 320, 640, 960];\nwindow.lazySizesConfig.loadMode = 1;\nwindow.lazySizesConfig.expand = 1;\nrequire('lazysizes/plugins/rias/ls.rias');\nrequire('lazysizes');\nrequire('lazysizes/plugins/unveilhooks/ls.unveilhooks');//style背景\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@dp/dora-ui/components/lazyload/config.js","var disposed = false\nvar Component = require(\"!../../../../vue-loader/lib/component-normalizer\")(\n  /* script */\n  require(\"!!happypack/loader?id=js!../../../../vue-loader/lib/selector?type=script&index=0!../../../../happypack/loader.js?id=eslint!./loading.vue\"),\n  /* template */\n  require(\"!!../../../../vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-05c2c081\\\",\\\"hasScoped\\\":false,\\\"preserveWhitespace\\\":false}!../../../../vue-loader/lib/selector?type=template&index=0!../../../../happypack/loader.js?id=eslint!./loading.vue\"),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\nComponent.options.__file = \"/data/jenkinshome/jenkins/jenkins/workspace/product-jiudian-f2e-sh-overseas-info/node_modules/@dp/dora-ui/components/loading/loading.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key.substr(0, 2) !== \"__\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] loading.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (module.hot) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-05c2c081\", Component.options)\n  } else {\n    hotAPI.reload(\"data-v-05c2c081\", Component.options)\n  }\n  module.hot.dispose(function (data) {\n    disposed = true\n  })\n})()}\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@dp/dora-ui/components/loading/loading.vue\n// module id = DFMc\n// module chunks = CPil PtqX M030 taD4 E5iI MmDM vqlx UV+2 0xl/ 5ZQk KvT7 9xMs rPED BWO7 tmuI Vfzt vLWx RXXl 18Mt Jhy6 x7+T WJVg upn8 4btk sQX0 xk/u","<template>\n  <div class=\"dp-loading-container\">\n    <div class=\"dp-spinner\">\n      <div class=\"bounce1\"></div>\n      <div class=\"bounce2\"></div>\n      <div class=\"bounce3\"></div>\n    </div>\n  </div>\n</template>\n\n<script type=\"text/babel\">\n  require('./loading.scss');\n  module.exports = {\n    methods: {\n      hide() {\n        this.$destroy();\n        this.$el.remove();\n      }\n    }\n  }\n</script>\n\n\n// WEBPACK FOOTER //\n// loading.vue?4e2f3828","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"toast\",\n      \"appear\": \"\"\n    },\n    on: {\n      \"after-leave\": _vm.leaveComplete\n    }\n  }, [(_vm.show) ? _c('div', {\n    staticClass: \"dp-toast\"\n  }, [_c('div', {\n    staticClass: \"dp-toast__content\"\n  }, [_vm._v(_vm._s(_vm.content))])]) : _vm._e()])\n},staticRenderFns: []}\nmodule.exports.render._withStripped = true\nif (module.hot) {\n  module.hot.accept()\n  if (module.hot.data) {\n     require(\"vue-hot-reload-api\").rerender(\"data-v-72555a57\", module.exports)\n  }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-72555a57\",\"hasScoped\":false,\"preserveWhitespace\":false}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/happypack/loader.js?id=eslint!./node_modules/@dp/dora-ui/components/toast/toast.vue\n// module id = Jmf0\n// module chunks = mKxr PtqX BWO7 u47N RoL9 /gHO 3iVg M030 taD4 E5iI MmDM vqlx UV+2 PYw4 5wsv 0xl/ 5ZQk 9xMs rPED CPil tmuI Vfzt IMFL vLWx RXXl 18Mt guqY Jhy6 qr8X LSoV x7+T 4+JC XGlI WJVg upn8 4btk sQX0 mppY xk/u","<template>\n  <transition name=\"toast\" @after-leave=\"leaveComplete\" appear>\n    <div v-if=\"show\" class=\"dp-toast\">\n      <div class=\"dp-toast__content\">{{content}}</div>\n    </div>\n  </transition>\n</template>\n\n<script type=\"text/babel\">\nrequire('./toast.scss');\n\nmodule.exports = {\n  data() {\n    return {\n      content: '',\n      show: true\n    }\n  },\n\n  methods: {\n    leaveComplete(el) {\n      this.$destroy();\n      this.$el.remove();\n    }\n  }\n}\n</script>\n\n\n// WEBPACK FOOTER //\n// toast.vue?ea9f19b2","var disposed = false\nvar Component = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")(\n  /* script */\n  require(\"!!happypack/loader?id=js!../../../node_modules/vue-loader/lib/selector?type=script&index=0!../../../node_modules/happypack/loader.js?id=eslint!./food-rank.vue\"),\n  /* template */\n  require(\"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2ed6559c\\\",\\\"hasScoped\\\":false,\\\"preserveWhitespace\\\":false}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!../../../node_modules/happypack/loader.js?id=eslint!./food-rank.vue\"),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\nComponent.options.__file = \"/data/jenkinshome/jenkins/jenkins/workspace/product-jiudian-f2e-sh-overseas-info/src/pages/food-rank/food-rank.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key.substr(0, 2) !== \"__\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] food-rank.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (module.hot) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-2ed6559c\", Component.options)\n  } else {\n    hotAPI.reload(\"data-v-2ed6559c\", Component.options)\n  }\n  module.hot.dispose(function (data) {\n    disposed = true\n  })\n})()}\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/pages/food-rank/food-rank.vue\n// module id = QHoa\n// module chunks = M030","var disposed = false\nvar Component = require(\"!../../../../vue-loader/lib/component-normalizer\")(\n  /* script */\n  require(\"!!happypack/loader?id=js!../../../../vue-loader/lib/selector?type=script&index=0!../../../../happypack/loader.js?id=eslint!./custom-nav.vue\"),\n  /* template */\n  require(\"!!../../../../vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6e6af87c\\\",\\\"hasScoped\\\":false,\\\"preserveWhitespace\\\":false}!../../../../vue-loader/lib/selector?type=template&index=0!../../../../happypack/loader.js?id=eslint!./custom-nav.vue\"),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\nComponent.options.__file = \"/data/jenkinshome/jenkins/jenkins/workspace/product-jiudian-f2e-sh-overseas-info/node_modules/@dp/dora-ui/components/customnav/custom-nav.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key.substr(0, 2) !== \"__\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] custom-nav.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (module.hot) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-6e6af87c\", Component.options)\n  } else {\n    hotAPI.reload(\"data-v-6e6af87c\", Component.options)\n  }\n  module.hot.dispose(function (data) {\n    disposed = true\n  })\n})()}\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@dp/dora-ui/components/customnav/custom-nav.vue\n// module id = TvC2\n// module chunks = M030 sQX0 vqlx 9xMs Vfzt vLWx taD4 Jhy6 qr8X LSoV 4+JC guqY","(function(window, document, undefined){\n\t/*jshint eqnull:true */\n\t'use strict';\n\n\tif(!document.addEventListener){return;}\n\n\tvar config, riasCfg;\n\tvar replaceTypes = {string: 1, number: 1};\n\tvar regNumber = /^\\-*\\+*\\d+\\.*\\d*$/;\n\tvar regPicture = /^picture$/i;\n\tvar regWidth = /\\s*\\{\\s*width\\s*\\}\\s*/i;\n\tvar regHeight = /\\s*\\{\\s*height\\s*\\}\\s*/i;\n\tvar regPlaceholder = /\\s*\\{\\s*([a-z0-9]+)\\s*\\}\\s*/ig;\n\tvar regObj = /^\\[.*\\]|\\{.*\\}$/;\n\tvar regAllowedSizes = /^(?:auto|\\d+(px)?)$/;\n\tvar anchor = document.createElement('a');\n\tvar img = document.createElement('img');\n\tvar buggySizes = ('srcset' in img) && !('sizes' in img);\n\tvar supportPicture = !!window.HTMLPictureElement && !buggySizes;\n\n\t(function(){\n\t\tvar prop;\n\t\tvar noop = function(){};\n\t\tvar riasDefaults = {\n\t\t\tprefix: '',\n\t\t\tpostfix: '',\n\t\t\tsrcAttr: 'data-src',\n\t\t\tabsUrl: false,\n\t\t\tmodifyOptions: noop,\n\t\t\twidthmap: {},\n\t\t\tratio: false\n\t\t};\n\n\t\tconfig = (window.lazySizes && lazySizes.cfg) || window.lazySizesConfig;\n\n\t\tif(!config){\n\t\t\tconfig = {};\n\t\t\twindow.lazySizesConfig = config;\n\t\t}\n\n\t\tif(!config.supportsType){\n\t\t\tconfig.supportsType = function(type/*, elem*/){\n\t\t\t\treturn !type;\n\t\t\t};\n\t\t}\n\n\t\tif(!config.rias){\n\t\t\tconfig.rias = {};\n\t\t}\n\t\triasCfg = config.rias;\n\n\t\tif(!('widths' in riasCfg)){\n\t\t\triasCfg.widths = [];\n\t\t\t(function (widths){\n\t\t\t\tvar width;\n\t\t\t\tvar i = 0;\n\t\t\t\twhile(!width || width < 3000){\n\t\t\t\t\ti += 5;\n\t\t\t\t\tif(i > 30){\n\t\t\t\t\t\ti += 1;\n\t\t\t\t\t}\n\t\t\t\t\twidth = (36 * i);\n\t\t\t\t\twidths.push(width);\n\t\t\t\t}\n\t\t\t})(riasCfg.widths);\n\t\t}\n\n\t\tfor(prop in riasDefaults){\n\t\t\tif(!(prop in riasCfg)){\n\t\t\t\triasCfg[prop] = riasDefaults[prop];\n\t\t\t}\n\t\t}\n\t})();\n\n\tfunction getElementOptions(elem, src){\n\t\tvar attr, parent, setOption, options;\n\t\tvar elemStyles = window.getComputedStyle(elem);\n\n\n\t\tparent = elem.parentNode;\n\t\toptions = {\n\t\t\tisPicture: !!(parent && regPicture.test(parent.nodeName || ''))\n\t\t};\n\n\t\tsetOption = function(attr, run){\n\t\t\tvar attrVal = elem.getAttribute('data-'+ attr);\n\n\t\t\tif (!attrVal) {\n\t\t\t\t// no data- attr, get value from the CSS\n\t\t\t\tvar styles = elemStyles.getPropertyValue('--ls-' + attr);\n\t\t\t\t// at least Safari 9 returns null rather than\n\t\t\t\t// an empty string for getPropertyValue causing\n\t\t\t\t// .trim() to fail\n\t\t\t\tif (styles) {\n\t\t\t\t\tattrVal = styles.trim();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (attrVal) {\n\t\t\t\tif(attrVal == 'true'){\n\t\t\t\t\tattrVal = true;\n\t\t\t\t} else if(attrVal == 'false'){\n\t\t\t\t\tattrVal = false;\n\t\t\t\t} else if(regNumber.test(attrVal)){\n\t\t\t\t\tattrVal = parseFloat(attrVal);\n\t\t\t\t} else if(typeof riasCfg[attr] == 'function'){\n\t\t\t\t\tattrVal = riasCfg[attr](elem, attrVal);\n\t\t\t\t} else if(regObj.test(attrVal)){\n\t\t\t\t\ttry {\n\t\t\t\t\t\tattrVal = JSON.parse(attrVal);\n\t\t\t\t\t} catch(e){}\n\t\t\t\t}\n\t\t\t\toptions[attr] = attrVal;\n\t\t\t} else if((attr in riasCfg) && typeof riasCfg[attr] != 'function'){\n\t\t\t\toptions[attr] = riasCfg[attr];\n\t\t\t} else if(run && typeof riasCfg[attr] == 'function'){\n\t\t\t\toptions[attr] = riasCfg[attr](elem, attrVal);\n\t\t\t}\n\t\t};\n\n\t\tfor(attr in riasCfg){\n\t\t\tsetOption(attr);\n\t\t}\n\t\tsrc.replace(regPlaceholder, function(full, match){\n\t\t\tif(!(match in options)){\n\t\t\t\tsetOption(match, true);\n\t\t\t}\n\t\t});\n\n\t\treturn options;\n\t}\n\n\tfunction replaceUrlProps(url, options){\n\t\tvar candidates = [];\n\t\tvar replaceFn = function(full, match){\n\t\t\treturn (replaceTypes[typeof options[match]]) ? options[match] : full;\n\t\t};\n\t\tcandidates.srcset = [];\n\n\t\tif(options.absUrl){\n\t\t\tanchor.setAttribute('href', url);\n\t\t\turl = anchor.href;\n\t\t}\n\n\t\turl = ((options.prefix || '') + url + (options.postfix || '')).replace(regPlaceholder, replaceFn);\n\n\t\toptions.widths.forEach(function(width){\n\t\t\tvar widthAlias = options.widthmap[width] || width;\n\t\t\tvar candidate = {\n\t\t\t\tu: url.replace(regWidth, widthAlias)\n\t\t\t\t\t\t.replace(regHeight, options.ratio ? Math.round(width * options.ratio) : ''),\n\t\t\t\tw: width\n\t\t\t};\n\n\t\t\tcandidates.push(candidate);\n\t\t\tcandidates.srcset.push( (candidate.c = candidate.u + ' ' + width + 'w') );\n\t\t});\n\t\treturn candidates;\n\t}\n\n\tfunction setSrc(src, opts, elem){\n\t\tvar elemW = 0;\n\t\tvar elemH = 0;\n\t\tvar sizeElement = elem;\n\n\t\tif(!src){return;}\n\n\t\tif (opts.ratio === 'container') {\n\t\t\t// calculate image or parent ratio\n\t\t\telemW = sizeElement.scrollWidth;\n\t\t\telemH = sizeElement.scrollHeight;\n\n\t\t\twhile ((!elemW || !elemH) && sizeElement !== document) {\n\t\t\t\tsizeElement = sizeElement.parentNode;\n\t\t\t\telemW = sizeElement.scrollWidth;\n\t\t\t\telemH = sizeElement.scrollHeight;\n\t\t\t}\n\t\t\tif (elemW && elemH) {\n\t\t\t\topts.ratio = elemH / elemW;\n\t\t\t}\n\t\t}\n\n\t\tsrc = replaceUrlProps(src, opts);\n\n\t\tsrc.isPicture = opts.isPicture;\n\n\t\tif(buggySizes && elem.nodeName.toUpperCase() == 'IMG'){\n\t\t\telem.removeAttribute(config.srcsetAttr);\n\t\t} else {\n\t\t\telem.setAttribute(config.srcsetAttr, src.srcset.join(', '));\n\t\t}\n\n\t\tObject.defineProperty(elem, '_lazyrias', {\n\t\t\tvalue: src,\n\t\t\twritable: true\n\t\t});\n\t}\n\n\tfunction createAttrObject(elem, src){\n\t\tvar opts = getElementOptions(elem, src);\n\n\t\triasCfg.modifyOptions.call(elem, {target: elem, details: opts, detail: opts});\n\n\t\tlazySizes.fire(elem, 'lazyriasmodifyoptions', opts);\n\t\treturn opts;\n\t}\n\n\tfunction getSrc(elem){\n\t\treturn elem.getAttribute( elem.getAttribute('data-srcattr') || riasCfg.srcAttr ) || elem.getAttribute(config.srcsetAttr) || elem.getAttribute(config.srcAttr) || elem.getAttribute('data-pfsrcset') || '';\n\t}\n\n\taddEventListener('lazybeforesizes', function(e){\n\t\tvar elem, src, elemOpts, parent, sources, i, len, sourceSrc, sizes, detail, hasPlaceholder, modified, emptyList;\n\t\telem = e.target;\n\n\t\tif(!e.detail.dataAttr || e.defaultPrevented || riasCfg.disabled || !((sizes = elem.getAttribute(config.sizesAttr) || elem.getAttribute('sizes')) && regAllowedSizes.test(sizes))){return;}\n\n\t\tsrc = getSrc(elem);\n\n\t\telemOpts = createAttrObject(elem, src);\n\n\t\thasPlaceholder = regWidth.test(elemOpts.prefix) || regWidth.test(elemOpts.postfix);\n\n\t\tif(elemOpts.isPicture && (parent = elem.parentNode)){\n\t\t\tsources = parent.getElementsByTagName('source');\n\t\t\tfor(i = 0, len = sources.length; i < len; i++){\n\t\t\t\tif ( hasPlaceholder || regWidth.test(sourceSrc = getSrc(sources[i])) ){\n\t\t\t\t\tsetSrc(sourceSrc, elemOpts, sources[i]);\n\t\t\t\t\tmodified = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( hasPlaceholder || regWidth.test(src) ){\n\t\t\tsetSrc(src, elemOpts, elem);\n\t\t\tmodified = true;\n\t\t} else if (modified) {\n\t\t\temptyList = [];\n\t\t\temptyList.srcset = [];\n\t\t\temptyList.isPicture = true;\n\t\t\tObject.defineProperty(elem, '_lazyrias', {\n\t\t\t\tvalue: emptyList,\n\t\t\t\twritable: true\n\t\t\t});\n\t\t}\n\n\t\tif(modified){\n\t\t\tif(supportPicture){\n\t\t\t\telem.removeAttribute(config.srcAttr);\n\t\t\t} else if(sizes != 'auto') {\n\t\t\t\tdetail = {\n\t\t\t\t\twidth: parseInt(sizes, 10)\n\t\t\t\t};\n\t\t\t\tpolyfill({\n\t\t\t\t\ttarget: elem,\n\t\t\t\t\tdetail: detail\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, true);\n\t// partial polyfill\n\tvar polyfill = (function(){\n\t\tvar ascendingSort = function( a, b ) {\n\t\t\treturn a.w - b.w;\n\t\t};\n\n\t\tvar reduceCandidate = function (srces) {\n\t\t\tvar lowerCandidate, bonusFactor;\n\t\t\tvar len = srces.length;\n\t\t\tvar candidate = srces[len -1];\n\t\t\tvar i = 0;\n\n\t\t\tfor(i; i < len;i++){\n\t\t\t\tcandidate = srces[i];\n\t\t\t\tcandidate.d = candidate.w / srces.w;\n\t\t\t\tif(candidate.d >= srces.d){\n\t\t\t\t\tif(!candidate.cached && (lowerCandidate = srces[i - 1]) &&\n\t\t\t\t\t\tlowerCandidate.d > srces.d - (0.13 * Math.pow(srces.d, 2.2))){\n\n\t\t\t\t\t\tbonusFactor = Math.pow(lowerCandidate.d - 0.6, 1.6);\n\n\t\t\t\t\t\tif(lowerCandidate.cached) {\n\t\t\t\t\t\t\tlowerCandidate.d += 0.15 * bonusFactor;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(lowerCandidate.d + ((candidate.d - srces.d) * bonusFactor) > srces.d){\n\t\t\t\t\t\t\tcandidate = lowerCandidate;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn candidate;\n\t\t};\n\n\t\tvar getWSet = function(elem, testPicture){\n\t\t\tvar src;\n\t\t\tif(!elem._lazyrias && lazySizes.pWS && (src = lazySizes.pWS(elem.getAttribute(config.srcsetAttr || ''))).length){\n\t\t\t\tObject.defineProperty(elem, '_lazyrias', {\n\t\t\t\t\tvalue: src,\n\t\t\t\t\twritable: true\n\t\t\t\t});\n\t\t\t\tif(testPicture && elem.parentNode){\n\t\t\t\t\tsrc.isPicture = elem.parentNode.nodeName.toUpperCase() == 'PICTURE';\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn elem._lazyrias;\n\t\t};\n\n\t\tvar getX = function(elem){\n\t\t\tvar dpr = window.devicePixelRatio || 1;\n\t\t\tvar optimum = lazySizes.getX && lazySizes.getX(elem);\n\t\t\treturn Math.min(optimum || dpr, 2.4, dpr);\n\t\t};\n\n\t\tvar getCandidate = function(elem, width){\n\t\t\tvar sources, i, len, media, srces, src;\n\n\t\t\tsrces = elem._lazyrias;\n\n\t\t\tif(srces.isPicture && window.matchMedia){\n\t\t\t\tfor(i = 0, sources = elem.parentNode.getElementsByTagName('source'), len = sources.length; i < len; i++){\n\t\t\t\t\tif(getWSet(sources[i]) && !sources[i].getAttribute('type') && ( !(media = sources[i].getAttribute('media')) || ((matchMedia(media) || {}).matches))){\n\t\t\t\t\t\tsrces = sources[i]._lazyrias;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(!srces.w || srces.w < width){\n\t\t\t\tsrces.w = width;\n\t\t\t\tsrces.d = getX(elem);\n\t\t\t\tsrc = reduceCandidate(srces.sort(ascendingSort));\n\t\t\t}\n\n\t\t\treturn src;\n\t\t};\n\n\t\tvar polyfill = function(e){\n\t\t\tvar candidate;\n\t\t\tvar elem = e.target;\n\n\t\t\tif(!buggySizes && (window.respimage || window.picturefill || lazySizesConfig.pf)){\n\t\t\t\tdocument.removeEventListener('lazybeforesizes', polyfill);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(!('_lazyrias' in elem) && (!e.detail.dataAttr || !getWSet(elem, true))){\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcandidate = getCandidate(elem, e.detail.width);\n\n\t\t\tif(candidate && candidate.u && elem._lazyrias.cur != candidate.u){\n\t\t\t\telem._lazyrias.cur = candidate.u;\n\t\t\t\tcandidate.cached = true;\n\t\t\t\tlazySizes.rAF(function(){\n\t\t\t\t\telem.setAttribute(config.srcAttr, candidate.u);\n\t\t\t\t\telem.setAttribute('src', candidate.u);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tif(!supportPicture){\n\t\t\taddEventListener('lazybeforesizes', polyfill);\n\t\t} else {\n\t\t\tpolyfill = function(){};\n\t\t}\n\n\t\treturn polyfill;\n\n\t})();\n\n})(window, document);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lazysizes/plugins/rias/ls.rias.js\n// module id = XAvb\n// module chunks = CPil PtqX u47N /gHO 3iVg M030 taD4 E5iI MmDM vqlx UV+2 PYw4 5wsv 0xl/ 5ZQk 9xMs rPED BWO7 tmuI Vfzt vLWx RXXl 18Mt guqY Jhy6 LSoV x7+T 4+JC XGlI WJVg upn8 4btk sQX0 mppY xk/u","<template>\n  <div :class=\"['dp-custom-nav', { 'isIOS': this.platform.isIOS, 'iphonex-like-device': this.iPhoneXLikeDevice}]\" >\n    <div class=\"dp-custom-nav-inner\">\n      <template v-if=\"!useCustom\">\n        <i class=\"ico ico-back\" @click=\"onClickBack\" role=\"button\" aria-roledescription=\"返回\"></i>\n        <div class=\"dp-custom-nav-con\">\n          <slot name=\"title\"></slot>\n        </div>\n        <div class=\"dp-custom-nav-right\"><slot name=\"right\"></slot></div>\n      </template>\n      <slot v-else name=\"nav\">\n      </slot>\n    </div>\n  </div>\n</template>\n\n<script type=\"text/babel\">\n  require('./custom-nav.scss');\n  //TODO dp-custom-nav css\n  module.exports = {\n    props: {\n      useCustom: {\n        type: Boolean,\n        default: false\n      },\n      platform: {\n        default: function() {\n          return {\n            isIOS: false\n          }\n        }\n      }\n    },\n    data() {\n      return {\n        iPhoneXLikeDevice: this.platform.isIOS && window.screen.height === 812 && window.screen.width === 375\n      }\n    },\n    methods: {\n      onClickBack() {\n        this.$dispatch('clickback');\n      }\n    }\n  }\n</script>\n\n\n// WEBPACK FOOTER //\n// custom-nav.vue?1145a297","var LoadingComp = require('./loading.vue');\nclass Loading {\n  constructor() {\n    this.comp = null;\n  }\n\n  show() {\n    this.comp = new Vue(LoadingComp);\n    document.body.appendChild(this.comp.$mount().$el);\n  }\n\n  hide() {\n    if (this.comp)\n      this.comp.hide();\n  }\n}\n\nmodule.exports = new Loading();\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@dp/dora-ui/components/loading/index.js","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('img', {\n    class: ['lazyload', {\n      'lazyload-cover': _vm.hasCover\n    }],\n    attrs: {\n      \"data-src\": _vm.url,\n      \"data-ratio\": _vm.ratio,\n      \"data-sizes\": \"auto\",\n      \"data-expand\": \"400\"\n    }\n  })\n},staticRenderFns: []}\nmodule.exports.render._withStripped = true\nif (module.hot) {\n  module.hot.accept()\n  if (module.hot.data) {\n     require(\"vue-hot-reload-api\").rerender(\"data-v-601609fe\", module.exports)\n  }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-601609fe\",\"hasScoped\":false,\"preserveWhitespace\":false}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/happypack/loader.js?id=eslint!./node_modules/@dp/dora-ui/components/lazyload/image.vue\n// module id = ebXu\n// module chunks = CPil PtqX u47N /gHO 3iVg M030 taD4 E5iI vqlx UV+2 PYw4 5wsv 0xl/ 5ZQk rPED xk/u BWO7 Vfzt vLWx RXXl 18Mt guqY Jhy6 LSoV x7+T 4+JC XGlI WJVg upn8 4btk sQX0 mppY tmuI","<template>\n  <img :data-src=\"url\" :data-ratio=\"ratio\" data-sizes=\"auto\" :class=\"['lazyload', { 'lazyload-cover': hasCover }]\" data-expand=\"400\">\n</template>\n\n<script type=\"text/babel\">\nrequire('./config');\nrequire('./lazyload.scss');\nvar isWebpSupported = false;\n(function testWebpSupport() {\n  var image = new Image();\n  function check(event) {\n    isWebpSupported = event && event.type === 'load' ? image.width == 1 : false;\n  }\n\n  image.onerror = check;\n  image.onload = check;\n  image.src = 'data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoBAAEAAwA0JaQAA3AA/vuUAAA=';\n})();\nvar isIos = navigator.userAgent.match(/iPad|iPhone|iPod/i);\nmodule.exports = {\n  props: {\n    src: String, // 美团云图片地址\n    clip: Boolean, // 是否裁剪\n    hasCover: {\n      type: Boolean,\n      default: true\n    },\n    quality: [Number, String], // JPG图片质量\n    watermark: String //watermark params like \"watermark=1&&r=1&p=9&x=2&y=2&relative=1&o=20\"\n  },\n\n  computed: {\n    ratio() {\n      return this.clip ? 'container' : '';\n    },\n\n    url() {\n      if (!this.src)\n        return '';\n      var newURL, src;\n      src = this.src.replace(/^(http:\\/\\/)|(https:\\/\\/)/i, '//');\n      if (src.startsWith('//p0.meituan.net') || src.startsWith('//p1.meituan.net') || src.startsWith('//osp.meituan.net')) {\n        if (!src.startsWith('//osp.meituan.net')) {\n          src = '//osp.meituan.net' + src.slice(16);\n        }\n        var lastIndex = src.lastIndexOf('@');\n        if (lastIndex < 0)\n          lastIndex = src.lastIndexOf('%40');\n        src = lastIndex < 0 ? src : src.substr(0, lastIndex);\n        if (isWebpSupported && (!isIos || src.slice(-4) !== '.gif'))\n          src += '.webp';\n        newURL = this.clip ? `${src}@{width}w_{height}h_1e_1c` : `${src}@{width}w_1l`;\n        if (this.quality)\n          newURL += `_${this.quality}Q`;\n        if (this.watermark)\n          newURL += `|${this.watermark}`;\n        return newURL;\n      } else {\n        newURL = location.protocol + src;\n      }\n      return newURL;\n    }\n  },\n\n  watch: {\n    src() {\n      if (this.$el.classList.contains('lazyloaded') || this.$el.classList.contains('lazyloading')) {\n        this.$el.classList.remove('lazyloaded');\n        this.$el.classList.remove('lazyloading');\n        this.$el.classList.add('lazyload');\n      }\n    }\n  }\n};\n\n</script>\n\n\n// WEBPACK FOOTER //\n// image.vue?c929335e","'use strict';\nvar ToastComp = require('./toast.vue');\nclass Toast {\n  show(msg) {\n    var comp = new Vue(ToastComp);\n    comp.content = msg;\n    document.body.appendChild(comp.$mount().$el);\n    setTimeout(() => {\n      comp.show = false;\n    }, 2000);\n  }\n}\n\nmodule.exports = new Toast();\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@dp/dora-ui/components/toast/index.js","<template>\n  <div v-show=\"hasLoaded\" class=\"food-rank\" :class=\"[{'android': isAndroid}]\">\n    <div class=\"food-rank__header\">\n      <dr-custom-nav ref=\"header\" :class=\"[{'colorNav': isColorNav}]\" v-if=\"isNative\" :use-custom=\"true\" :platform=\"navPlatform\">\n        <template slot=\"nav\">\n          <a @click=\"onClickBack\" class=\"back\" role=\"button\" aria-roledescription=\"返回\"></a>\n          <span v-if=\"isColorNav\" class=\"title\">{{title}}</span>\n          <a @click=\"onClickShare\" class=\"share\" role=\"button\" aria-roledescription=\"分享\"></a>\n        </template>\n      </dr-custom-nav>\n      <p class=\"food-rank__update\">点评大数据更新于{{data.overseasTopCityBaseInfoDTO.update}}</p>\n      <div class=\"imgbox\">\n        <dr-resp-img :src=\"this.data.overseasTopCityBaseInfoDTO.bg\" class=\"img\"></dr-resp-img>\n        <div class=\"msk_btm\"></div>\n      </div>\n    </div>\n    <section class=\"food-rank__list\">\n      <div class=\"food-rank__itembox lazyload\" v-for=\"(item, index) in topList\" :data-exposure=\"'overseas_topeat_poi | os_0010008 | ' + item.shopName + ' | ' + index + ' | shop_id=' + item.shopId\" data-exposuretype=\"2\" data-expand=\"1\">\n        <div class=\"food-rank__item\">\n          <a @click=\"onAnalytics('overseas_topeat_poi', index, item.shopName, 'os_0010009', {shop_id: item.shopId})\"\n             :href=\"getPoiLink(item.shopId) | link-filter\"  class=\"food-rank__itemcon clearfix\" :class=\"[{'right': index%2 == 1}]\">\n            <div class=\"food-rank__bigpic\">\n              <span class=\"food-rank__category\">{{item.category}}</span>\n              <dr-resp-img :src=\"item.pic\" class=\"img\"></dr-resp-img>\n            </div>\n            <div class=\"food-rank__info\">\n              <div class=\"food-rank__rightlink\">\n                <p class=\"food-rank__titlebox\"ref=\"title\">{{item.shopName}}</p>\n                <div class=\"food-rank__sub\">\n                  <span class=\"price\">人均￥{{item.price}}</span>\n                  <div class=\"right\">\n                    <span class=\"region\">{{item.region}}</span>\n                    <span class=\"distance\" v-if=\"item.distanceStr\">距您{{item.distanceStr}}</span>\n                  </div>\n                </div>\n                <div class=\"food-rank__contentbox\">\n                  <div class=\"food-rank__summary\">\n                    <i class=\"ico ico-left\"></i>\n                    <span class=\"txt\">{{item.content}}</span>\n                    <i class=\"ico ico-right\"></i>\n                  </div>\n                  <div class=\"food-rank__reasonbox\">\n                    <strong>必吃理由:</strong>\n                    {{item.eatReason}}\n                  </div>\n                  <div class=\"food-rank__menu\" v-if=\"item.recommendDish\">\n                    <i class=\"ico ico-good\"></i>\n                    <span v-for=\"(menu, menuIndex) in item.recommendDish.slice(0, 2)\">\n                      {{menu}}<template v-if=\"menuIndex !=item.recommendDish.slice(0, 2).length - 1\">,</template>\n                    </span>\n                  </div>\n                </div>\n              </div>\n            </div>\n          </a>\n          <div class=\"food-rank__operate\">\n            <div class=\"food-rank__buddies\">\n              <div class=\"food-rank__buddiescon\">\n                <template v-if=\"item.buddies && item.buddies.length\">\n                  <i class=\"ico ico-buddies\"></i><span class=\"txt\">好友{{item.buddies[0]}}</span><span class=\"suffix\">来过这里</span>\n                </template>\n              </div>\n            </div>\n            <div class=\"food-rank__wannabox\">\n              <a @click=\"onClickWanna(item, index)\" :class=\"['food-rank__btn food-rank__wanna', {'wannaed': item.favourite}]\">\n                <i class=\"ico ico-wanna\"></i>\n                <span class=\"txt\">想去</span>\n              </a>\n              <a @click=\"onAnalytics('overseas_topeat_gotosee', index, item.shopName, 'b_Y8pPC', {shop_id: item.shopId})\"\n              :href=\"getPoiLink(item.shopId) | link-filter\" class=\"food-rank__btn food-rank__watch\">\n                <!--<div class=\"food-rank__btncon\">-->\n                <span class=\"txt\">去看看</span>\n                <!--</div>-->\n              </a>\n            </div>\n          </div>\n        </div>\n        <a v-if=\"!showMore && (data.topShopDTOList.length > firstShowNum) && (index == firstShowNum - 1)\" @click=\"onClickMore\" class=\"food-rank__more lazyload\"\n           :data-exposure=\"'overseas_topeat_collectmore | os_0010012 | ' + '查看更多必吃餐厅' + ' | ' + 0\" data-exposuretype=\"2\" data-expand=\"1\">\n          查看更多必吃餐厅<i class=\"ico ico-more\"></i>\n        </a>\n      </div>\n    </section>\n    <section class=\"food-rank__rule\">\n      <div class=\"food-rank__rule-b\">\n        <h6 class=\"food-rank__hd\"><span class=\"txt\">吃出当地味</span></h6>\n        <h6 class=\"food-rank__subbox\">\n          <i class=\"ico ico-sub\"></i>\n          <span class=\"text\">点评大数据 本地食客评分 全球美食榜单</span>\n        </h6>\n        <ul class=\"food-rank__rulelist\">\n        <li class=\"food-rank__ruleitem\"><i class=\"ico-dot\">·</i>大众点评以站点海量评价数据为本，结合本地食客评分和全球美食榜单，采用数据模型全方位挖掘比较，优中选优，为用户遴选目的地必吃餐厅</li>\n        <li class=\"food-rank__ruleitem\"><i class=\"ico-dot\">·</i>动态榜单，季度更新，实时挖掘当季真正好店</li>\n        <li class=\"food-rank__ruleitem\"><i class=\"ico-dot\">·</i>入围商户排名不分先后，根据商户全年入围情况，将评选出目的地年度必吃餐厅</li>\n      </ul>\n      </div>\n    </section>\n    <section class=\"food-rank__section food-rank__cities\" v-if=\"data.overseasTopCityListDTO.length\">\n      <h6 class=\"food-rank__hd\">全球必吃餐厅</h6>\n      <div class=\"food-rank__citieslist clearfix lazyload\" :data-exposure=\"'overseas_topeat_city | os_0010014 | ' + '其他城市榜单' + ' | ' + 0\" data-exposuretype=\"2\" data-expand=\"1\">\n        <div class=\"food-rank__citybox\" v-for=\"(item, index) in data.overseasTopCityListDTO\">\n          <a class=\"food-rank__city\" :href=\"getCityLink(item) | link-filter\" @click=\"onAnalytics('overseas_topeat_city', index, item.cityName, 'os_0010015')\">\n            <dr-resp-img :src=\"item.url\" class=\"img\"></dr-resp-img>\n          </a>\n        </div>\n      </div>\n    </section>\n    <section class=\"food-rank__section\" v-if=\"data.overseasTopCityBaseInfoDTO.moreCityPic\">\n      <h6 class=\"food-rank__hd\">更多目的地 敬请期待</h6>\n      <div class=\"food-rank__moreCity\">\n        <dr-resp-img :src=\"data.overseasTopCityBaseInfoDTO.moreCityPic\" class=\"img\"></dr-resp-img>\n      </div>\n    </section>\n    <div class=\"food-rank__btmpic\">\n      <!--<dr-resp-img :src=\"this.data.overseasTopCityBaseInfoDTO.bottomPic\" class=\"img\"></dr-resp-img>-->\n    </div>\n  </div>\n</template>\n<script>\nvar { api, handleErr, Bridge, AnalyticsUtil, utils } = require('@common');\nvar queryString = require('query-string');\nvar Toast = require('@dora/toast');\nvar Loading = require('@dora/loading');\nrequire('./food-rank.scss');\nrequire('@dora/lazyload');\nrequire('@dora/customnav');\nvar { rankCityId } = queryString.parse(location.search);\nvar merge = require('lodash/merge');\nutils.initRootFontSize();\nmodule.exports = {\n  data() {\n    return {\n      title: '大众点评必吃餐厅',\n      isColorNav: false,\n      isNative: Bridge.env().isNative,\n      navPlatform: {\n        isIOS: Bridge.env().isNative && /iphone|ipad/i.test(window.navigator.userAgent)\n      },\n      hasLoaded: false,\n      platform: 0, //平台 1点评 11美团 //99 微信\n      locateCityId: 0, //定位城市id\n      cityId: 341, //页面城市id\n      rankCityId: rankCityId, //榜单城市id\n      cityName: '',\n      userId: 0,\n      token: '',\n      lat: 0,\n      lng: 0,\n      data: {\n        overseasTopCityListDTO: [],\n        overseasTopCityBaseInfoDTO: {\n          bg: 'https://osp.meituan.net/overseas/1233_833bb714-b022-47c7-8eea-c33d35101cf8.jpg',\n          update: '',\n          moreCityPic: ''\n        },\n        topShopDTOList: [],\n        shareContent: {\n          cityName: '',\n          cityId: rankCityId,\n          title: '',\n          image: '',\n          content: ''\n        }\n      },\n      topList: [],\n      firstShowNum: 10,\n      showMore: false,\n      isWX: Bridge.env().isWX,\n      isAndroid: /android/i.test(window.navigator.userAgent),\n      isLogin: false\n    }\n  },\n  methods: {\n    /**\n     * 打点\n     */\n    onAnalytics(element_id, index, title, bid, lab) {\n      var defaultLab = {\n      };\n      lab = lab || {};\n      defaultLab = merge(defaultLab, lab);\n\n      AnalyticsUtil.sendAnalyticsEvent({\n        val: {\n          element_id: element_id,\n          index: index,\n          title: title,\n          flag: 2,\n          bid: bid,\n          lab: defaultLab\n        }\n      });\n    },\n\n    /**\n     * 获取榜单列表\n     */\n    fetchData() {\n      return api.get('/os/promotions/overseasTopList/foodList', {\n        isShark: true,\n        params: {\n          platform: this.platform,\n          cityId: this.rankCityId,\n          locateCityId: this.locateCityId,\n          userId: this.userId,\n          token: this.token,\n          lat: this.lat,\n          lng: this.lng\n        }\n      }).then( res => {\n        this.data = res.data;\n        return this.data;\n      }).catch(e => {\n        Toast.show(e.message || '获取数据失败');\n        handleErr(e);\n      });\n    },\n\n    _clean() {\n      document.removeEventListener('scroll', this._listener, false);\n    },\n\n    /**\n     * 初始化函数\n     */\n    _build() {\n      this._clean();\n      if (this.isNative) {\n        Bridge.setNavigationBarHidden(true);\n      }\n      Bridge.setBouncesEnabled();\n      Loading.show('加载中...');\n      Promise.all([Bridge.bridge(), Bridge.getSelectCityId(), Bridge.getLocation(), Bridge.getLocationCity(true), Bridge.getUserInfo()])\n      .then(results => {\n        this.platform = results[0] == 0 && Bridge.env().isWX ? 99 : results[0];\n        this.cityId = results[1];\n        this.rankCityId = this.rankCityId || this.cityId;\n        this.lng = results[2].lng;\n        this.lat = results[2].lat;\n        this.locateCityId = results[3] || 0;\n        this.userId = results[4].userId || 0;\n        this.token = results[4].token || '';\n        this.isLogin = results[4].isLogin;\n        return this.fetchData();\n      }).catch(e => {\n        handleErr(e);\n      }).finally(() => {\n        this.hasLoaded = true;\n        utils.sendFMP();\n        setTimeout(__ => {\n          Loading.hide();\n          this.$refs.header && this.scrollHandler();\n        }, 0);\n        this.shareInfo && Bridge.configShare(this.shareInfo, __ => {\n          this.shareAnalytics();\n        }, __ => {\n          this.shareAnalytics();\n        });\n      });\n    },\n\n    /**\n     * 分享打点\n     */\n    shareAnalytics() {\n      this.onAnalytics('overseas_topeat_share', 0, '点击分享', 'os_0010005');\n    },\n\n    /**\n     * 设置跳转中间页链接\n     */\n    getPoiLink(shopId) {\n      return '/food-rank-poi.html?notitlebar=1&rankCityId=' + this.rankCityId + '&shopId=' + shopId;\n    },\n\n    /**\n     * 设置城市链接地址\n     */\n    getCityLink(item) {\n      return '/food-rank.html?notitlebar=1&rankCityId=' + item.cityId;\n    },\n\n    /**\n     * 点击查看更多\n     */\n    onClickMore() {\n      this.showMore = true;\n      this.onAnalytics('overseas_topeat_collectmore', 0, '查看更多必吃餐厅', 'os_0010013')\n    },\n\n    /**\n     * 设置点击关闭函数\n     */\n    onClickBack() {\n      Bridge.closeWindow();\n    },\n\n    /**\n     * 获取array中item.city匹配为reg的index\n     */\n    getIndex(array, reg) {\n      return array.findIndex(item => item.cityId == reg);\n    },\n\n    /**\n     * 设置点击分享函数\n     */\n    onClickShare() {\n      Bridge.share(this.shareInfo, __ => {\n        this.onAnalytics('overseas_topeat_share', 0, '点击分享', 'os_0010005');\n      });\n    },\n\n    /**\n     * 设置点击想去函数\n     */\n    onClickWanna(item, index) {\n      this.sendWannaAnalytics(item, index);\n      if (this.isNative || this.isWX) {\n        Bridge.checkLogin().then(({isLogin, userInfo}) => {\n          this.isLogin = isLogin;\n          if (!this.isLogin) {\n            return Bridge.login().then(user => {\n              this.isLogin = true;\n              this.userId = user.userId;\n              this.token = user.token || '';\n              return this.fetchData().then(() => {\n                this.$nextTick(() => {\n                  var curItem = this.topList[index];\n                  if (curItem && !curItem.favourite) {\n                    return this.fetchWanna(curItem, index);\n                  }\n                });\n              });\n            }).catch(e => {\n              handleErr(e);\n            });\n          } else {\n            return this.fetchWanna(item, index);\n          }\n        });\n      } else {\n        Toast.show('请在app内打开');\n        window.location.href = \"https://evt.dianping.com/synthesislink/\" + (__ENV__ === 'product' ? 11887 : 11885) + \".html?rankCityId=\" + this.rankCityId;\n      }\n    },\n\n    /**\n     * 设置点击想去的打点函数\n     */\n    sendWannaAnalytics(item, index) {\n      if (item.favourite) {\n        this.onAnalytics('overseas_topeat_collectless', index, item.shopName, 'os_0010011', {shop_id: item.shopId});\n      } else {\n        this.onAnalytics('overseas_topeat_collected', index, item.shopName, 'os_0010010', {shop_id: item.shopId});\n      }\n    },\n\n    /**\n     * 获取想去数据\n     */\n    fetchWanna(item, index) {\n      item.favourite = !item.favourite;\n      return api.get('/os/promotions/overseasTopList/favourite', {\n        isShark: true,\n        params: {\n          userId: this.userId,\n          token: this.token,\n          platform: this.platform,\n          flag: item.favourite,\n          shopId: item.shopId\n        }\n      }).then(result => {\n        if (!result.data) {\n          Toast.show('收藏设置失败，请稍后重试');\n          item.favourite = !item.favourite;\n        } else {\n          Toast.show(item.favourite ? '收藏成功' : '取消收藏成功');\n        }\n      }).catch(e => {\n        item.favourite = !item.favourite;\n        if (e.code == 501) {\n          if (this.isNative) {\n            Bridge.logout().then(__ => {\n              window.location.reload();\n            }).catch(err => {\n              handleErr(err);\n            });\n          } else if (this.isWX) {\n            //token过期或未登录\n            let envUrl = (__ENV__ == 'product') ? 'dianping' : '51ping';\n            window.location.href = '//m.' + envUrl + '.com/thirdlogin/auth?aType=3&np=3&rurl=' + encodeURIComponent(window.location.href);\n          } else {\n            Toast.show('请在app内打开');\n            this.sendWannaAnalytics(item, index);\n            window.location.href = \"https://evt.dianping.com/synthesislink/\" + (__ENV__ === 'product' ? 11887 : 11885) + \".html?rankCityId=\" + this.rankCityId;\n          }\n        }\n        Toast.show(item.favourite ? '取消收藏失败' : '收藏失败');\n      });\n    },\n\n    /**\n     * 设置scroll函数\n     */\n    scrollHandler() {\n      const self = this;\n      var t;\n      this._listener = () => {\n        if (t) clearTimeout(t);\n        t = setTimeout(() => {\n          var st = document.scrollingElement.scrollTop;\n          var headerHeight = self.$refs.header.$el.offsetHeight;\n          self.isColorNav = st >= headerHeight;\n        }, 0);\n      };\n\n      document.addEventListener('scroll', this._listener, false);\n    }\n\n  },\n  computed: {\n    /**\n     * 分享数据\n     */\n    shareInfo() {\n      var data = this.data.shareContent;\n      if (data) {\n        data.desc = data.content;\n        data.url = location.origin + location.pathname + '?notitlebar=1&rankCityId=' + this.rankCityId; //\"https://evt.dianping.com/synthesislink/\" + (__ENV__ === 'product' ? 11835 : 11836) + \".html?cityId=\" + this.cityId;\n      }\n      return data;\n    }\n  },\n  watch: {\n    data: {\n      handler: function (newVal, oldVal) {\n        if (newVal && !this.showMore) {\n          this.topList = this.data.topShopDTOList.slice(0, this.firstShowNum);\n        }\n        if (newVal) {\n          var index = this.getIndex(this.data.overseasTopCityListDTO, this.rankCityId);\n          this.title = '大众点评' + (this.data.overseasTopCityListDTO[index].cityName || '境外') + '必吃餐厅';\n          Bridge.setTitle(this.title);\n        }\n      },\n      deep: true\n    },\n    showMore(newVal, oldVal) {\n      if (newVal) {\n        this.topList = this.data.topShopDTOList;\n      }\n    }\n  },\n  beforeDestroy() {\n    this._clean();\n  },\n  mounted() {\n    this.$nextTick(() => {\n      this._build();\n    });\n  }\n};\n</script>\n\n\n// WEBPACK FOOTER //\n// food-rank.vue?432b4db5","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    class: ['dp-custom-nav', {\n      'isIOS': this.platform.isIOS,\n      'iphonex-like-device': this.iPhoneXLikeDevice\n    }]\n  }, [_c('div', {\n    staticClass: \"dp-custom-nav-inner\"\n  }, [(!_vm.useCustom) ? [_c('i', {\n    staticClass: \"ico ico-back\",\n    attrs: {\n      \"role\": \"button\",\n      \"aria-roledescription\": \"返回\"\n    },\n    on: {\n      \"click\": _vm.onClickBack\n    }\n  }), _c('div', {\n    staticClass: \"dp-custom-nav-con\"\n  }, [_vm._t(\"title\")], 2), _c('div', {\n    staticClass: \"dp-custom-nav-right\"\n  }, [_vm._t(\"right\")], 2)] : _vm._t(\"nav\")], 2)])\n},staticRenderFns: []}\nmodule.exports.render._withStripped = true\nif (module.hot) {\n  module.hot.accept()\n  if (module.hot.data) {\n     require(\"vue-hot-reload-api\").rerender(\"data-v-6e6af87c\", module.exports)\n  }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-6e6af87c\",\"hasScoped\":false,\"preserveWhitespace\":false}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/happypack/loader.js?id=eslint!./node_modules/@dp/dora-ui/components/customnav/custom-nav.vue\n// module id = kG7B\n// module chunks = M030 sQX0 vqlx 9xMs Vfzt vLWx taD4 Jhy6 qr8X LSoV 4+JC guqY","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _vm._m(0)\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"dp-loading-container\"\n  }, [_c('div', {\n    staticClass: \"dp-spinner\"\n  }, [_c('div', {\n    staticClass: \"bounce1\"\n  }), _c('div', {\n    staticClass: \"bounce2\"\n  }), _c('div', {\n    staticClass: \"bounce3\"\n  })])])\n}]}\nmodule.exports.render._withStripped = true\nif (module.hot) {\n  module.hot.accept()\n  if (module.hot.data) {\n     require(\"vue-hot-reload-api\").rerender(\"data-v-05c2c081\", module.exports)\n  }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-05c2c081\",\"hasScoped\":false,\"preserveWhitespace\":false}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/happypack/loader.js?id=eslint!./node_modules/@dp/dora-ui/components/loading/loading.vue\n// module id = uIbP\n// module chunks = CPil PtqX M030 taD4 E5iI MmDM vqlx UV+2 0xl/ 5ZQk KvT7 9xMs rPED BWO7 tmuI Vfzt vLWx RXXl 18Mt Jhy6 x7+T WJVg upn8 4btk sQX0 xk/u","Vue.component('dr-custom-nav', require('./custom-nav.vue'));\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@dp/dora-ui/components/customnav/index.js","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.hasLoaded),\n      expression: \"hasLoaded\"\n    }],\n    staticClass: \"food-rank\",\n    class: [{\n      'android': _vm.isAndroid\n    }]\n  }, [_c('div', {\n    staticClass: \"food-rank__header\"\n  }, [(_vm.isNative) ? _c('dr-custom-nav', {\n    ref: \"header\",\n    class: [{\n      'colorNav': _vm.isColorNav\n    }],\n    attrs: {\n      \"use-custom\": true,\n      \"platform\": _vm.navPlatform\n    }\n  }, [_c('template', {\n    slot: \"nav\"\n  }, [_c('a', {\n    staticClass: \"back\",\n    attrs: {\n      \"role\": \"button\",\n      \"aria-roledescription\": \"返回\"\n    },\n    on: {\n      \"click\": _vm.onClickBack\n    }\n  }), (_vm.isColorNav) ? _c('span', {\n    staticClass: \"title\"\n  }, [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c('a', {\n    staticClass: \"share\",\n    attrs: {\n      \"role\": \"button\",\n      \"aria-roledescription\": \"分享\"\n    },\n    on: {\n      \"click\": _vm.onClickShare\n    }\n  })])], 2) : _vm._e(), _c('p', {\n    staticClass: \"food-rank__update\"\n  }, [_vm._v(\"点评大数据更新于\" + _vm._s(_vm.data.overseasTopCityBaseInfoDTO.update))]), _c('div', {\n    staticClass: \"imgbox\"\n  }, [_c('dr-resp-img', {\n    staticClass: \"img\",\n    attrs: {\n      \"src\": this.data.overseasTopCityBaseInfoDTO.bg\n    }\n  }), _c('div', {\n    staticClass: \"msk_btm\"\n  })], 1)], 1), _c('section', {\n    staticClass: \"food-rank__list\"\n  }, _vm._l((_vm.topList), function(item, index) {\n    return _c('div', {\n      staticClass: \"food-rank__itembox lazyload\",\n      attrs: {\n        \"data-exposure\": 'overseas_topeat_poi | os_0010008 | ' + item.shopName + ' | ' + index + ' | shop_id=' + item.shopId,\n        \"data-exposuretype\": \"2\",\n        \"data-expand\": \"1\"\n      }\n    }, [_c('div', {\n      staticClass: \"food-rank__item\"\n    }, [_c('a', {\n      staticClass: \"food-rank__itemcon clearfix\",\n      class: [{\n        'right': index % 2 == 1\n      }],\n      attrs: {\n        \"href\": _vm._f(\"link-filter\")(_vm.getPoiLink(item.shopId))\n      },\n      on: {\n        \"click\": function($event) {\n          _vm.onAnalytics('overseas_topeat_poi', index, item.shopName, 'os_0010009', {\n            shop_id: item.shopId\n          })\n        }\n      }\n    }, [_c('div', {\n      staticClass: \"food-rank__bigpic\"\n    }, [_c('span', {\n      staticClass: \"food-rank__category\"\n    }, [_vm._v(_vm._s(item.category))]), _c('dr-resp-img', {\n      staticClass: \"img\",\n      attrs: {\n        \"src\": item.pic\n      }\n    })], 1), _c('div', {\n      staticClass: \"food-rank__info\"\n    }, [_c('div', {\n      staticClass: \"food-rank__rightlink\"\n    }, [_c('p', {\n      ref: \"title\",\n      refInFor: true,\n      staticClass: \"food-rank__titlebox\"\n    }, [_vm._v(_vm._s(item.shopName))]), _c('div', {\n      staticClass: \"food-rank__sub\"\n    }, [_c('span', {\n      staticClass: \"price\"\n    }, [_vm._v(\"人均￥\" + _vm._s(item.price))]), _c('div', {\n      staticClass: \"right\"\n    }, [_c('span', {\n      staticClass: \"region\"\n    }, [_vm._v(_vm._s(item.region))]), (item.distanceStr) ? _c('span', {\n      staticClass: \"distance\"\n    }, [_vm._v(\"距您\" + _vm._s(item.distanceStr))]) : _vm._e()])]), _c('div', {\n      staticClass: \"food-rank__contentbox\"\n    }, [_c('div', {\n      staticClass: \"food-rank__summary\"\n    }, [_c('i', {\n      staticClass: \"ico ico-left\"\n    }), _c('span', {\n      staticClass: \"txt\"\n    }, [_vm._v(_vm._s(item.content))]), _c('i', {\n      staticClass: \"ico ico-right\"\n    })]), _c('div', {\n      staticClass: \"food-rank__reasonbox\"\n    }, [_c('strong', [_vm._v(\"必吃理由:\")]), _vm._v(\"\\n                  \" + _vm._s(item.eatReason) + \"\\n                \")]), (item.recommendDish) ? _c('div', {\n      staticClass: \"food-rank__menu\"\n    }, [_c('i', {\n      staticClass: \"ico ico-good\"\n    }), _vm._l((item.recommendDish.slice(0, 2)), function(menu, menuIndex) {\n      return _c('span', [_vm._v(\"\\n                    \" + _vm._s(menu)), (menuIndex != item.recommendDish.slice(0, 2).length - 1) ? [_vm._v(\",\")] : _vm._e()], 2)\n    })], 2) : _vm._e()])])])]), _c('div', {\n      staticClass: \"food-rank__operate\"\n    }, [_c('div', {\n      staticClass: \"food-rank__buddies\"\n    }, [_c('div', {\n      staticClass: \"food-rank__buddiescon\"\n    }, [(item.buddies && item.buddies.length) ? [_c('i', {\n      staticClass: \"ico ico-buddies\"\n    }), _c('span', {\n      staticClass: \"txt\"\n    }, [_vm._v(\"好友\" + _vm._s(item.buddies[0]))]), _c('span', {\n      staticClass: \"suffix\"\n    }, [_vm._v(\"来过这里\")])] : _vm._e()], 2)]), _c('div', {\n      staticClass: \"food-rank__wannabox\"\n    }, [_c('a', {\n      class: ['food-rank__btn food-rank__wanna', {\n        'wannaed': item.favourite\n      }],\n      on: {\n        \"click\": function($event) {\n          _vm.onClickWanna(item, index)\n        }\n      }\n    }, [_c('i', {\n      staticClass: \"ico ico-wanna\"\n    }), _c('span', {\n      staticClass: \"txt\"\n    }, [_vm._v(\"想去\")])]), _c('a', {\n      staticClass: \"food-rank__btn food-rank__watch\",\n      attrs: {\n        \"href\": _vm._f(\"link-filter\")(_vm.getPoiLink(item.shopId))\n      },\n      on: {\n        \"click\": function($event) {\n          _vm.onAnalytics('overseas_topeat_gotosee', index, item.shopName, 'b_Y8pPC', {\n            shop_id: item.shopId\n          })\n        }\n      }\n    }, [_c('span', {\n      staticClass: \"txt\"\n    }, [_vm._v(\"去看看\")])])])])]), (!_vm.showMore && (_vm.data.topShopDTOList.length > _vm.firstShowNum) && (index == _vm.firstShowNum - 1)) ? _c('a', {\n      staticClass: \"food-rank__more lazyload\",\n      attrs: {\n        \"data-exposure\": 'overseas_topeat_collectmore | os_0010012 | ' + '查看更多必吃餐厅' + ' | ' + 0,\n        \"data-exposuretype\": \"2\",\n        \"data-expand\": \"1\"\n      },\n      on: {\n        \"click\": _vm.onClickMore\n      }\n    }, [_vm._v(\"\\n        查看更多必吃餐厅\"), _c('i', {\n      staticClass: \"ico ico-more\"\n    })]) : _vm._e()])\n  })), _vm._m(0), (_vm.data.overseasTopCityListDTO.length) ? _c('section', {\n    staticClass: \"food-rank__section food-rank__cities\"\n  }, [_c('h6', {\n    staticClass: \"food-rank__hd\"\n  }, [_vm._v(\"全球必吃餐厅\")]), _c('div', {\n    staticClass: \"food-rank__citieslist clearfix lazyload\",\n    attrs: {\n      \"data-exposure\": 'overseas_topeat_city | os_0010014 | ' + '其他城市榜单' + ' | ' + 0,\n      \"data-exposuretype\": \"2\",\n      \"data-expand\": \"1\"\n    }\n  }, _vm._l((_vm.data.overseasTopCityListDTO), function(item, index) {\n    return _c('div', {\n      staticClass: \"food-rank__citybox\"\n    }, [_c('a', {\n      staticClass: \"food-rank__city\",\n      attrs: {\n        \"href\": _vm._f(\"link-filter\")(_vm.getCityLink(item))\n      },\n      on: {\n        \"click\": function($event) {\n          _vm.onAnalytics('overseas_topeat_city', index, item.cityName, 'os_0010015')\n        }\n      }\n    }, [_c('dr-resp-img', {\n      staticClass: \"img\",\n      attrs: {\n        \"src\": item.url\n      }\n    })], 1)])\n  }))]) : _vm._e(), (_vm.data.overseasTopCityBaseInfoDTO.moreCityPic) ? _c('section', {\n    staticClass: \"food-rank__section\"\n  }, [_c('h6', {\n    staticClass: \"food-rank__hd\"\n  }, [_vm._v(\"更多目的地 敬请期待\")]), _c('div', {\n    staticClass: \"food-rank__moreCity\"\n  }, [_c('dr-resp-img', {\n    staticClass: \"img\",\n    attrs: {\n      \"src\": _vm.data.overseasTopCityBaseInfoDTO.moreCityPic\n    }\n  })], 1)]) : _vm._e(), _c('div', {\n    staticClass: \"food-rank__btmpic\"\n  })])\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('section', {\n    staticClass: \"food-rank__rule\"\n  }, [_c('div', {\n    staticClass: \"food-rank__rule-b\"\n  }, [_c('h6', {\n    staticClass: \"food-rank__hd\"\n  }, [_c('span', {\n    staticClass: \"txt\"\n  }, [_vm._v(\"吃出当地味\")])]), _c('h6', {\n    staticClass: \"food-rank__subbox\"\n  }, [_c('i', {\n    staticClass: \"ico ico-sub\"\n  }), _c('span', {\n    staticClass: \"text\"\n  }, [_vm._v(\"点评大数据 本地食客评分 全球美食榜单\")])]), _c('ul', {\n    staticClass: \"food-rank__rulelist\"\n  }, [_c('li', {\n    staticClass: \"food-rank__ruleitem\"\n  }, [_c('i', {\n    staticClass: \"ico-dot\"\n  }, [_vm._v(\"·\")]), _vm._v(\"大众点评以站点海量评价数据为本，结合本地食客评分和全球美食榜单，采用数据模型全方位挖掘比较，优中选优，为用户遴选目的地必吃餐厅\")]), _c('li', {\n    staticClass: \"food-rank__ruleitem\"\n  }, [_c('i', {\n    staticClass: \"ico-dot\"\n  }, [_vm._v(\"·\")]), _vm._v(\"动态榜单，季度更新，实时挖掘当季真正好店\")]), _c('li', {\n    staticClass: \"food-rank__ruleitem\"\n  }, [_c('i', {\n    staticClass: \"ico-dot\"\n  }, [_vm._v(\"·\")]), _vm._v(\"入围商户排名不分先后，根据商户全年入围情况，将评选出目的地年度必吃餐厅\")])])])])\n}]}\nmodule.exports.render._withStripped = true\nif (module.hot) {\n  module.hot.accept()\n  if (module.hot.data) {\n     require(\"vue-hot-reload-api\").rerender(\"data-v-2ed6559c\", module.exports)\n  }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2ed6559c\",\"hasScoped\":false,\"preserveWhitespace\":false}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/happypack/loader.js?id=eslint!./src/pages/food-rank/food-rank.vue\n// module id = xXVT\n// module chunks = M030"],"sourceRoot":""}