server.js 115 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038
  1. module.exports =
  2. /******/ (function(modules) { // webpackBootstrap
  3. /******/ // The module cache
  4. /******/ var installedModules = {};
  5. /******/
  6. /******/ // object to store loaded chunks
  7. /******/ // "0" means "already loaded"
  8. /******/ var installedChunks = {
  9. /******/ 0: 0
  10. /******/ };
  11. /******/
  12. /******/ // The require function
  13. /******/ function __webpack_require__(moduleId) {
  14. /******/
  15. /******/ // Check if module is in cache
  16. /******/ if(installedModules[moduleId]) {
  17. /******/ return installedModules[moduleId].exports;
  18. /******/ }
  19. /******/ // Create a new module (and put it into the cache)
  20. /******/ var module = installedModules[moduleId] = {
  21. /******/ i: moduleId,
  22. /******/ l: false,
  23. /******/ exports: {}
  24. /******/ };
  25. /******/
  26. /******/ // Execute the module function
  27. /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  28. /******/
  29. /******/ // Flag the module as loaded
  30. /******/ module.l = true;
  31. /******/
  32. /******/ // Return the exports of the module
  33. /******/ return module.exports;
  34. /******/ }
  35. /******/
  36. /******/ // This file contains only the entry chunk.
  37. /******/ // The chunk loading function for additional chunks
  38. /******/ __webpack_require__.e = function requireEnsure(chunkId) {
  39. /******/ var promises = [];
  40. /******/
  41. /******/
  42. /******/ // require() chunk loading for javascript
  43. /******/
  44. /******/ // "0" is the signal for "already loaded"
  45. /******/ if(installedChunks[chunkId] !== 0) {
  46. /******/ var chunk = require("./" + ({"1":"components/contact-consult","2":"components/contact-join-us","3":"pages/about/index","4":"pages/brand/detail","5":"pages/brand/index","6":"pages/brand/ross","7":"pages/case/index","8":"pages/contact/consult","9":"pages/contact/index","10":"pages/contact/job","11":"pages/contact/join-us","12":"pages/cooperation/index","13":"pages/index","14":"pages/news/detail","15":"pages/news/index","16":"pages/product/binary-premium","17":"pages/product/binary/therapy-1","18":"pages/product/binary/therapy-2","19":"pages/product/binary/therapy-3","20":"pages/product/binary/therapy-4","21":"pages/product/diactivplus","22":"pages/product/intradermik","23":"pages/product/kestos","24":"pages/product/mesobiolift","25":"pages/product/rollaction"}[chunkId]||chunkId) + ".js");
  47. /******/ var moreModules = chunk.modules, chunkIds = chunk.ids;
  48. /******/ for(var moduleId in moreModules) {
  49. /******/ modules[moduleId] = moreModules[moduleId];
  50. /******/ }
  51. /******/ for(var i = 0; i < chunkIds.length; i++)
  52. /******/ installedChunks[chunkIds[i]] = 0;
  53. /******/ }
  54. /******/ return Promise.all(promises);
  55. /******/ };
  56. /******/
  57. /******/ // expose the modules object (__webpack_modules__)
  58. /******/ __webpack_require__.m = modules;
  59. /******/
  60. /******/ // expose the module cache
  61. /******/ __webpack_require__.c = installedModules;
  62. /******/
  63. /******/ // define getter function for harmony exports
  64. /******/ __webpack_require__.d = function(exports, name, getter) {
  65. /******/ if(!__webpack_require__.o(exports, name)) {
  66. /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
  67. /******/ }
  68. /******/ };
  69. /******/
  70. /******/ // define __esModule on exports
  71. /******/ __webpack_require__.r = function(exports) {
  72. /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  73. /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  74. /******/ }
  75. /******/ Object.defineProperty(exports, '__esModule', { value: true });
  76. /******/ };
  77. /******/
  78. /******/ // create a fake namespace object
  79. /******/ // mode & 1: value is a module id, require it
  80. /******/ // mode & 2: merge all properties of value into the ns
  81. /******/ // mode & 4: return value when already ns object
  82. /******/ // mode & 8|1: behave like require
  83. /******/ __webpack_require__.t = function(value, mode) {
  84. /******/ if(mode & 1) value = __webpack_require__(value);
  85. /******/ if(mode & 8) return value;
  86. /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
  87. /******/ var ns = Object.create(null);
  88. /******/ __webpack_require__.r(ns);
  89. /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
  90. /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
  91. /******/ return ns;
  92. /******/ };
  93. /******/
  94. /******/ // getDefaultExport function for compatibility with non-harmony modules
  95. /******/ __webpack_require__.n = function(module) {
  96. /******/ var getter = module && module.__esModule ?
  97. /******/ function getDefault() { return module['default']; } :
  98. /******/ function getModuleExports() { return module; };
  99. /******/ __webpack_require__.d(getter, 'a', getter);
  100. /******/ return getter;
  101. /******/ };
  102. /******/
  103. /******/ // Object.prototype.hasOwnProperty.call
  104. /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  105. /******/
  106. /******/ // __webpack_public_path__
  107. /******/ __webpack_require__.p = "/_nuxt/";
  108. /******/
  109. /******/ // uncaught error handler for webpack runtime
  110. /******/ __webpack_require__.oe = function(err) {
  111. /******/ process.nextTick(function() {
  112. /******/ throw err; // catch this error by using import().catch()
  113. /******/ });
  114. /******/ };
  115. /******/
  116. /******/
  117. /******/ // Load entry module and return exports
  118. /******/ return __webpack_require__(__webpack_require__.s = 12);
  119. /******/ })
  120. /************************************************************************/
  121. /******/ ([
  122. /* 0 */
  123. /***/ (function(module, exports) {
  124. module.exports = require("vue");
  125. /***/ }),
  126. /* 1 */
  127. /***/ (function(module, exports) {
  128. module.exports = require("ufo");
  129. /***/ }),
  130. /* 2 */
  131. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  132. "use strict";
  133. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
  134. /* globals __VUE_SSR_CONTEXT__ */
  135. // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
  136. // This module is a runtime utility for cleaner component module output and will
  137. // be included in the final webpack user bundle.
  138. function normalizeComponent(
  139. scriptExports,
  140. render,
  141. staticRenderFns,
  142. functionalTemplate,
  143. injectStyles,
  144. scopeId,
  145. moduleIdentifier /* server only */,
  146. shadowMode /* vue-cli only */
  147. ) {
  148. // Vue.extend constructor export interop
  149. var options =
  150. typeof scriptExports === 'function' ? scriptExports.options : scriptExports
  151. // render functions
  152. if (render) {
  153. options.render = render
  154. options.staticRenderFns = staticRenderFns
  155. options._compiled = true
  156. }
  157. // functional template
  158. if (functionalTemplate) {
  159. options.functional = true
  160. }
  161. // scopedId
  162. if (scopeId) {
  163. options._scopeId = 'data-v-' + scopeId
  164. }
  165. var hook
  166. if (moduleIdentifier) {
  167. // server build
  168. hook = function (context) {
  169. // 2.3 injection
  170. context =
  171. context || // cached call
  172. (this.$vnode && this.$vnode.ssrContext) || // stateful
  173. (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
  174. // 2.2 with runInNewContext: true
  175. if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
  176. context = __VUE_SSR_CONTEXT__
  177. }
  178. // inject component styles
  179. if (injectStyles) {
  180. injectStyles.call(this, context)
  181. }
  182. // register component module identifier for async chunk inferrence
  183. if (context && context._registeredComponents) {
  184. context._registeredComponents.add(moduleIdentifier)
  185. }
  186. }
  187. // used by ssr in case component is cached and beforeCreate
  188. // never gets called
  189. options._ssrRegister = hook
  190. } else if (injectStyles) {
  191. hook = shadowMode
  192. ? function () {
  193. injectStyles.call(
  194. this,
  195. (options.functional ? this.parent : this).$root.$options.shadowRoot
  196. )
  197. }
  198. : injectStyles
  199. }
  200. if (hook) {
  201. if (options.functional) {
  202. // for template-only hot-reload because in that case the render fn doesn't
  203. // go through the normalizer
  204. options._injectStyles = hook
  205. // register for functional component in vue file
  206. var originalRender = options.render
  207. options.render = function renderWithStyleInjection(h, context) {
  208. hook.call(context)
  209. return originalRender(h, context)
  210. }
  211. } else {
  212. // inject component registration as beforeCreate hook
  213. var existing = options.beforeCreate
  214. options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
  215. }
  216. }
  217. return {
  218. exports: scriptExports,
  219. options: options
  220. }
  221. }
  222. /***/ }),
  223. /* 3 */
  224. /***/ (function(module, exports, __webpack_require__) {
  225. "use strict";
  226. /*
  227. MIT License http://www.opensource.org/licenses/mit-license.php
  228. Author Tobias Koppers @sokra
  229. */
  230. // css base code, injected by the css-loader
  231. // eslint-disable-next-line func-names
  232. module.exports = function (useSourceMap) {
  233. var list = []; // return the list of modules as css string
  234. list.toString = function toString() {
  235. return this.map(function (item) {
  236. var content = cssWithMappingToString(item, useSourceMap);
  237. if (item[2]) {
  238. return "@media ".concat(item[2], " {").concat(content, "}");
  239. }
  240. return content;
  241. }).join('');
  242. }; // import a list of modules into the list
  243. // eslint-disable-next-line func-names
  244. list.i = function (modules, mediaQuery, dedupe) {
  245. if (typeof modules === 'string') {
  246. // eslint-disable-next-line no-param-reassign
  247. modules = [[null, modules, '']];
  248. }
  249. var alreadyImportedModules = {};
  250. if (dedupe) {
  251. for (var i = 0; i < this.length; i++) {
  252. // eslint-disable-next-line prefer-destructuring
  253. var id = this[i][0];
  254. if (id != null) {
  255. alreadyImportedModules[id] = true;
  256. }
  257. }
  258. }
  259. for (var _i = 0; _i < modules.length; _i++) {
  260. var item = [].concat(modules[_i]);
  261. if (dedupe && alreadyImportedModules[item[0]]) {
  262. // eslint-disable-next-line no-continue
  263. continue;
  264. }
  265. if (mediaQuery) {
  266. if (!item[2]) {
  267. item[2] = mediaQuery;
  268. } else {
  269. item[2] = "".concat(mediaQuery, " and ").concat(item[2]);
  270. }
  271. }
  272. list.push(item);
  273. }
  274. };
  275. return list;
  276. };
  277. function cssWithMappingToString(item, useSourceMap) {
  278. var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring
  279. var cssMapping = item[3];
  280. if (!cssMapping) {
  281. return content;
  282. }
  283. if (useSourceMap && typeof btoa === 'function') {
  284. var sourceMapping = toComment(cssMapping);
  285. var sourceURLs = cssMapping.sources.map(function (source) {
  286. return "/*# sourceURL=".concat(cssMapping.sourceRoot || '').concat(source, " */");
  287. });
  288. return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
  289. }
  290. return [content].join('\n');
  291. } // Adapted from convert-source-map (MIT)
  292. function toComment(sourceMap) {
  293. // eslint-disable-next-line no-undef
  294. var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
  295. var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64);
  296. return "/*# ".concat(data, " */");
  297. }
  298. /***/ }),
  299. /* 4 */
  300. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  301. "use strict";
  302. // ESM COMPAT FLAG
  303. __webpack_require__.r(__webpack_exports__);
  304. // EXPORTS
  305. __webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ addStylesServer; });
  306. // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js
  307. /**
  308. * Translates the list format produced by css-loader into something
  309. * easier to manipulate.
  310. */
  311. function listToStyles (parentId, list) {
  312. var styles = []
  313. var newStyles = {}
  314. for (var i = 0; i < list.length; i++) {
  315. var item = list[i]
  316. var id = item[0]
  317. var css = item[1]
  318. var media = item[2]
  319. var sourceMap = item[3]
  320. var part = {
  321. id: parentId + ':' + i,
  322. css: css,
  323. media: media,
  324. sourceMap: sourceMap
  325. }
  326. if (!newStyles[id]) {
  327. styles.push(newStyles[id] = { id: id, parts: [part] })
  328. } else {
  329. newStyles[id].parts.push(part)
  330. }
  331. }
  332. return styles
  333. }
  334. // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesServer.js
  335. function addStylesServer (parentId, list, isProduction, context) {
  336. if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
  337. context = __VUE_SSR_CONTEXT__
  338. }
  339. if (context) {
  340. if (!context.hasOwnProperty('styles')) {
  341. Object.defineProperty(context, 'styles', {
  342. enumerable: true,
  343. get: function() {
  344. return renderStyles(context._styles)
  345. }
  346. })
  347. // expose renderStyles for vue-server-renderer (vuejs/#6353)
  348. context._renderStyles = renderStyles
  349. }
  350. var styles = context._styles || (context._styles = {})
  351. list = listToStyles(parentId, list)
  352. if (isProduction) {
  353. addStyleProd(styles, list)
  354. } else {
  355. addStyleDev(styles, list)
  356. }
  357. }
  358. }
  359. // In production, render as few style tags as possible.
  360. // (mostly because IE9 has a limit on number of style tags)
  361. function addStyleProd (styles, list) {
  362. for (var i = 0; i < list.length; i++) {
  363. var parts = list[i].parts
  364. for (var j = 0; j < parts.length; j++) {
  365. var part = parts[j]
  366. // group style tags by media types.
  367. var id = part.media || 'default'
  368. var style = styles[id]
  369. if (style) {
  370. if (style.ids.indexOf(part.id) < 0) {
  371. style.ids.push(part.id)
  372. style.css += '\n' + part.css
  373. }
  374. } else {
  375. styles[id] = {
  376. ids: [part.id],
  377. css: part.css,
  378. media: part.media
  379. }
  380. }
  381. }
  382. }
  383. }
  384. // In dev we use individual style tag for each module for hot-reload
  385. // and source maps.
  386. function addStyleDev (styles, list) {
  387. for (var i = 0; i < list.length; i++) {
  388. var parts = list[i].parts
  389. for (var j = 0; j < parts.length; j++) {
  390. var part = parts[j]
  391. styles[part.id] = {
  392. ids: [part.id],
  393. css: part.css,
  394. media: part.media
  395. }
  396. }
  397. }
  398. }
  399. function renderStyles (styles) {
  400. var css = ''
  401. for (var key in styles) {
  402. var style = styles[key]
  403. css += '<style data-vue-ssr-id="' + style.ids.join(' ') + '"' +
  404. (style.media ? ( ' media="' + style.media + '"' ) : '') + '>' +
  405. style.css + '</style>'
  406. }
  407. return css
  408. }
  409. /***/ }),
  410. /* 5 */
  411. /***/ (function(module, exports) {
  412. module.exports = require("vue-no-ssr");
  413. /***/ }),
  414. /* 6 */
  415. /***/ (function(module, exports) {
  416. module.exports = require("vue-client-only");
  417. /***/ }),
  418. /* 7 */
  419. /***/ (function(module, exports) {
  420. module.exports = require("vue-router");
  421. /***/ }),
  422. /* 8 */
  423. /***/ (function(module, exports, __webpack_require__) {
  424. // style-loader: Adds some css to the DOM by adding a <style> tag
  425. // load the styles
  426. var content = __webpack_require__(15);
  427. if(content.__esModule) content = content.default;
  428. if(typeof content === 'string') content = [[module.i, content, '']];
  429. if(content.locals) module.exports = content.locals;
  430. // add CSS to SSR context
  431. var add = __webpack_require__(4).default
  432. module.exports.__inject__ = function (context) {
  433. add("1a25bb1a", content, true, context)
  434. };
  435. /***/ }),
  436. /* 9 */
  437. /***/ (function(module, exports, __webpack_require__) {
  438. // style-loader: Adds some css to the DOM by adding a <style> tag
  439. // load the styles
  440. var content = __webpack_require__(17);
  441. if(content.__esModule) content = content.default;
  442. if(typeof content === 'string') content = [[module.i, content, '']];
  443. if(content.locals) module.exports = content.locals;
  444. // add CSS to SSR context
  445. var add = __webpack_require__(4).default
  446. module.exports.__inject__ = function (context) {
  447. add("1a73ea6b", content, true, context)
  448. };
  449. /***/ }),
  450. /* 10 */
  451. /***/ (function(module, exports) {
  452. module.exports = require("node-fetch");
  453. /***/ }),
  454. /* 11 */
  455. /***/ (function(module, exports) {
  456. module.exports = require("vue-meta");
  457. /***/ }),
  458. /* 12 */
  459. /***/ (function(module, exports, __webpack_require__) {
  460. __webpack_require__(13);
  461. module.exports = __webpack_require__(22);
  462. /***/ }),
  463. /* 13 */
  464. /***/ (function(module, exports) {
  465. global.installComponents = function (component, components) {
  466. var options = typeof component.exports === 'function'
  467. ? component.exports.extendOptions
  468. : component.options
  469. if (typeof component.exports === 'function') {
  470. options.components = component.exports.options.components
  471. }
  472. options.components = options.components || {}
  473. for (var i in components) {
  474. options.components[i] = options.components[i] || components[i]
  475. }
  476. if (options.functional) {
  477. provideFunctionalComponents(component, options.components)
  478. }
  479. }
  480. var functionalPatchKey = '_functionalComponents'
  481. function provideFunctionalComponents(component, components) {
  482. if (component.exports[functionalPatchKey]) {
  483. return
  484. }
  485. component.exports[functionalPatchKey] = true
  486. var render = component.exports.render
  487. component.exports.render = function (h, vm) {
  488. return render(h, Object.assign({}, vm, {
  489. _c: function (n, a, b) {
  490. return vm._c(components[n] || n, a, b)
  491. }
  492. }))
  493. }
  494. }
  495. /***/ }),
  496. /* 14 */
  497. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  498. "use strict";
  499. __webpack_require__.r(__webpack_exports__);
  500. /* harmony import */ var _vue_style_loader_index_js_ref_3_oneOf_1_0_css_loader_dist_cjs_js_ref_3_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_3_oneOf_1_2_nuxt_components_dist_loader_js_ref_0_0_vue_loader_lib_index_js_vue_loader_options_nuxt_error_vue_vue_type_style_index_0_id_608a1420_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
  501. /* harmony import */ var _vue_style_loader_index_js_ref_3_oneOf_1_0_css_loader_dist_cjs_js_ref_3_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_3_oneOf_1_2_nuxt_components_dist_loader_js_ref_0_0_vue_loader_lib_index_js_vue_loader_options_nuxt_error_vue_vue_type_style_index_0_id_608a1420_prod_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_vue_style_loader_index_js_ref_3_oneOf_1_0_css_loader_dist_cjs_js_ref_3_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_3_oneOf_1_2_nuxt_components_dist_loader_js_ref_0_0_vue_loader_lib_index_js_vue_loader_options_nuxt_error_vue_vue_type_style_index_0_id_608a1420_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__);
  502. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _vue_style_loader_index_js_ref_3_oneOf_1_0_css_loader_dist_cjs_js_ref_3_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_3_oneOf_1_2_nuxt_components_dist_loader_js_ref_0_0_vue_loader_lib_index_js_vue_loader_options_nuxt_error_vue_vue_type_style_index_0_id_608a1420_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _vue_style_loader_index_js_ref_3_oneOf_1_0_css_loader_dist_cjs_js_ref_3_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_3_oneOf_1_2_nuxt_components_dist_loader_js_ref_0_0_vue_loader_lib_index_js_vue_loader_options_nuxt_error_vue_vue_type_style_index_0_id_608a1420_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  503. /***/ }),
  504. /* 15 */
  505. /***/ (function(module, exports, __webpack_require__) {
  506. // Imports
  507. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
  508. var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
  509. // Module
  510. ___CSS_LOADER_EXPORT___.push([module.i, ".__nuxt-error-page{padding:1rem;background:#f7f8fb;color:#47494e;text-align:center;display:flex;justify-content:center;align-items:center;flex-direction:column;font-family:sans-serif;font-weight:100!important;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;position:absolute;top:0;left:0;right:0;bottom:0}.__nuxt-error-page .error{max-width:450px}.__nuxt-error-page .title{font-size:1.5rem;margin-top:15px;color:#47494e;margin-bottom:8px}.__nuxt-error-page .description{color:#7f828b;line-height:21px;margin-bottom:10px}.__nuxt-error-page a{color:#7f828b!important;text-decoration:none}.__nuxt-error-page .logo{position:fixed;left:12px;bottom:12px}", ""]);
  511. // Exports
  512. module.exports = ___CSS_LOADER_EXPORT___;
  513. /***/ }),
  514. /* 16 */
  515. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  516. "use strict";
  517. __webpack_require__.r(__webpack_exports__);
  518. /* harmony import */ var _vue_style_loader_index_js_ref_3_oneOf_1_0_css_loader_dist_cjs_js_ref_3_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_3_oneOf_1_2_nuxt_components_dist_loader_js_ref_0_0_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_id_d4ff419a_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9);
  519. /* harmony import */ var _vue_style_loader_index_js_ref_3_oneOf_1_0_css_loader_dist_cjs_js_ref_3_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_3_oneOf_1_2_nuxt_components_dist_loader_js_ref_0_0_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_id_d4ff419a_prod_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_vue_style_loader_index_js_ref_3_oneOf_1_0_css_loader_dist_cjs_js_ref_3_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_3_oneOf_1_2_nuxt_components_dist_loader_js_ref_0_0_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_id_d4ff419a_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__);
  520. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _vue_style_loader_index_js_ref_3_oneOf_1_0_css_loader_dist_cjs_js_ref_3_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_3_oneOf_1_2_nuxt_components_dist_loader_js_ref_0_0_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_id_d4ff419a_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _vue_style_loader_index_js_ref_3_oneOf_1_0_css_loader_dist_cjs_js_ref_3_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_3_oneOf_1_2_nuxt_components_dist_loader_js_ref_0_0_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_id_d4ff419a_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  521. /***/ }),
  522. /* 17 */
  523. /***/ (function(module, exports, __webpack_require__) {
  524. // Imports
  525. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
  526. var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
  527. // Module
  528. ___CSS_LOADER_EXPORT___.push([module.i, ".nuxt-progress{position:fixed;top:0;left:0;right:0;height:2px;width:0;opacity:1;transition:width .1s,opacity .4s;background-color:#000;z-index:999999}.nuxt-progress.nuxt-progress-notransition{transition:none}.nuxt-progress-failed{background-color:red}", ""]);
  529. // Exports
  530. module.exports = ___CSS_LOADER_EXPORT___;
  531. /***/ }),
  532. /* 18 */
  533. /***/ (function(module, exports, __webpack_require__) {
  534. // style-loader: Adds some css to the DOM by adding a <style> tag
  535. // load the styles
  536. var content = __webpack_require__(19);
  537. if(content.__esModule) content = content.default;
  538. if(typeof content === 'string') content = [[module.i, content, '']];
  539. if(content.locals) module.exports = content.locals;
  540. __webpack_require__(4).default("66f1fac8", content, true)
  541. /***/ }),
  542. /* 19 */
  543. /***/ (function(module, exports, __webpack_require__) {
  544. // Imports
  545. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
  546. var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
  547. // Module
  548. ___CSS_LOADER_EXPORT___.push([module.i, "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}", ""]);
  549. // Exports
  550. module.exports = ___CSS_LOADER_EXPORT___;
  551. /***/ }),
  552. /* 20 */
  553. /***/ (function(module, exports, __webpack_require__) {
  554. // style-loader: Adds some css to the DOM by adding a <style> tag
  555. // load the styles
  556. var content = __webpack_require__(21);
  557. if(content.__esModule) content = content.default;
  558. if(typeof content === 'string') content = [[module.i, content, '']];
  559. if(content.locals) module.exports = content.locals;
  560. __webpack_require__(4).default("4a67d21f", content, true)
  561. /***/ }),
  562. /* 21 */
  563. /***/ (function(module, exports, __webpack_require__) {
  564. // Imports
  565. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
  566. var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
  567. // Module
  568. ___CSS_LOADER_EXPORT___.push([module.i, "body{min-height:100vh;color:#272727;font-family:\"Microsoft YaHei\",SimSun,Arial,Helvetica,sans-serif}input,select,textarea{outline-color:#f3920d}h1,h2,h3,h4,h5,h6,p{margin:0;font-size:16px}ol,ul{margin:0}li,ol,ul{list-style-type:none;padding:0}a{text-decoration:none;color:#272727}*{-webkit-tap-highlight-color:rgba(0,0,0,0)}::-webkit-scrollbar{width:8px;height:8px;background-color:#f5f5f5}::-webkit-scrollbar-thumb{border-radius:4px;background-color:#cccecf}.flex{display:flex;justify-content:space-between;align-items:center}.fl{float:left!important}.fr{float:right!important}.clearfix:after{content:\"\";display:block;clear:both}@keyframes rowup-left{0%{transform:translateZ(0)}to{transform:translate3d(-600px,0,0)}}@keyframes rowup-right{0%{transform:translateZ(0)}to{transform:translate3d(600px,0,0)}}@media screen and (min-width:768px){html{font-size:16px!important}.only-mobile{display:none!important}.container{width:1200px;margin:0 auto}.mt18{margin-top:18px}.mr18{margin-right:18px}.mb18{margin-bottom:18px}.ml18{margin-left:18px}.section-title{position:relative;text-align:center;height:70px;margin:100px 0 60px}.section-title img{display:block;height:58px;margin:0 auto}.section-title h3{position:absolute;left:50%;bottom:0;transform:translateX(-50%);font-size:41px;font-weight:400;font-weight:700}.banner.swiper-container{width:100%;height:700px}.banner.swiper-container .swiper-slide img{display:block;height:100%}.banner.swiper-container .swiper-pagination-bullet{width:10px;height:10px;background:#fff;box-sizing:border-box;border:1px solid #000}.banner.swiper-container .swiper-pagination-bullet.swiper-pagination-bullet-active{background:#000}.banner.single{width:100%;height:530px}.banner.single img{display:block;height:530px}.navbar{height:90px;background-color:#fff;position:sticky;left:0;top:0;z-index:90}.navbar .container{width:100%;box-sizing:border-box;padding:0 40px;height:90px;display:flex;justify-content:space-between;align-items:center}.navbar .navbar-header .logo{display:flex;justify-content:center;align-items:center}.navbar .navbar-header .logo h1{font-size:0}.navbar .navbar-header .logo img{display:block;height:42px}.navbar .navbar-collapse .nav{position:relative;display:flex;justify-content:center;align-items:center}.navbar .navbar-collapse .nav>li{margin-left:116px;position:relative}.navbar .navbar-collapse .nav>li:after{content:\"\";display:none;width:28px;height:3px;background:#f3920d;position:absolute;left:50%;bottom:0;transform:translateX(-50%)}.navbar .navbar-collapse .nav>li.active>a{color:#f3920d}.navbar .navbar-collapse .nav>li.active:after{display:block}.navbar .navbar-collapse .nav>li:hover>a{color:#f3920d}.navbar .navbar-collapse .nav>li:hover:after{display:block}.navbar .navbar-collapse .nav>li:first-child{margin-left:0}.navbar .navbar-collapse .nav>li>a{height:66px;display:block}.navbar .navbar-collapse .nav>li>a span{display:block;text-align:center}.navbar .navbar-collapse .nav>li>a span:first-child{font-size:28px}.navbar .navbar-collapse .nav>li>a span:last-child{font-size:20px;margin-top:2px}.navbar .navbar-collapse .nav .dropdown{position:relative}.navbar .navbar-collapse .nav .dropdown:hover .dropdown-menu{display:block}.navbar .navbar-collapse .nav .dropdown .dropdown-menu{display:none;top:66px;position:absolute;background:#fff;left:50%;transform:translateX(-50%)}.navbar .navbar-collapse .nav .dropdown .dropdown-menu>li:hover{background:#f3920d}.navbar .navbar-collapse .nav .dropdown .dropdown-menu>li:hover>a{color:#fff}.navbar .navbar-collapse .nav .dropdown .dropdown-menu>li:hover .dropdown-submenu{display:block}.navbar .navbar-collapse .nav .dropdown .dropdown-menu>li>a{display:block;line-height:50px;text-align:center;width:128px;font-size:20px}.navbar .navbar-collapse .nav .dropdown .dropdown-menu .submenu-toggle{background:url(/img/icon-arrow-right.png) no-repeat;background-position:98%;background-size:18px}.navbar .navbar-collapse .nav .dropdown .dropdown-menu .dropdown-submenu{display:none;position:absolute;top:0;left:128px;background:#fff;width:220px;min-height:200px;box-sizing:border-box;padding:10px 24px;border-left:1px solid #e8e8e8}.navbar .navbar-collapse .nav .dropdown .dropdown-menu .dropdown-submenu>li{margin:9px 0}.navbar .navbar-collapse .nav .dropdown .dropdown-menu .dropdown-submenu>li>a{display:block;line-height:32px;text-align:center;background:#eee;color:#000;font-size:14px}.navbar .navbar-collapse .nav .dropdown .dropdown-menu .dropdown-submenu>li>a:hover{color:#f3920d;background-color:rgba(243,146,13,.3)}.footer{margin-top:120px;padding-top:42px;background:#1b1b1b}.footer .container{width:1650px}.footer .container .section{margin-right:34px;float:left}.footer .container .section .logo img:first-child{width:188px}.footer .container .section .logo img:last-child{width:136px;margin-left:30px}.footer .container .section .item{position:relative;margin-top:20px;padding-left:44px;font-size:25px;color:#fff;font-weight:lighter}.footer .container .section .item:before{content:\"\";display:block;width:27px;height:27px;position:absolute;left:0;top:50%;transform:translateY(-50%);background-repeat:no-repeat;background-position:50%;background-size:27px}.footer .container .section .item.mobile:before{background-image:url(/img/icon-mobile.png)}.footer .container .section .item.mobile span:last-child{margin-left:16px}.footer .container .section .item.email:before{background-image:url(/img/icon-email.png)}.footer .container .section .item.address:before{background-image:url(/img/icon-address.png)}.footer .container .section .item.contact:before{background-image:url(/img/icon-contact.png)}.footer .container .section .item.site:before{background-image:url(/img/icon-site.png)}.footer .container .nav{margin-left:86px;float:left}.footer .container .nav li{text-align:left;margin-top:14px}.footer .container .nav li:first-child{margin-top:12px}.footer .container .nav li a{font-size:20px;font-weight:lighter;color:#fff;text-transform:uppercase}.footer .container .nav li a:hover{color:#f3920d}.footer .container .qrcode-content{float:right;display:flex;justify-content:center;align-items:flex-start;margin-top:80px}.footer .container .qrcode-content .qrcode{width:150px;text-align:center;margin-left:25px}.footer .container .qrcode-content .qrcode img{width:119px;height:119px;background-color:#fff}.footer .container .qrcode-content .qrcode .tip{font-size:25px;color:#fff;margin-top:11px;text-align:center;font-weight:lighter}.footer .line{width:1784px;height:1px;background-color:#fff;margin:40px auto 0}.footer .link{display:flex;justify-content:center;align-items:center}.footer .link i{display:block;height:10px;width:1px;background-color:hsla(0,0%,100%,.4);margin:0 16px}.footer .link a{color:hsla(0,0%,100%,.4);font-size:12px}.footer .link a:hover{color:#f3920d}.footer .copyright{text-align:center;color:#bebebe;font-size:22px;font-weight:lighter;line-height:64px}.footer .copyright a{color:#fff;text-decoration:underline}.footer .copyright *{margin:0 24px}}@media screen and (max-width:768px){html{font-size:50px}.only-pc{display:none!important}.scroll-box{overflow-x:auto;white-space:nowrap;font-size:0}.scroll-box::-webkit-scrollbar{width:0;height:0}.scroll-box::-webkit-scrollbar-thumb{display:none}.section-title{position:relative;text-align:center;height:.64rem;margin:1rem 0 .65rem}.section-title img{display:block;height:.58rem;margin:0 auto}.section-title h3{position:absolute;left:50%;bottom:0;transform:translateX(-50%);font-size:.34rem;font-weight:700}.banner.swiper-container{width:7.5rem;height:2.74rem}.banner.swiper-container .swiper-slide img{display:block;width:7.5rem;height:2.74rem}.banner.swiper-container .swiper-pagination{bottom:0}.banner.swiper-container .swiper-pagination .swiper-pagination-bullet{width:.1rem;height:.1rem;background:#fff;box-sizing:border-box;border:.01rem solid #000}.banner.swiper-container .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{background:#000}.banner.single,.banner.single img{width:100%;height:2.08rem}.banner.single img{display:block}.navbar{font-size:.26rem;height:1.04rem;background:#fff;position:sticky;left:0;top:0;z-index:90}.navbar .navbar-header{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;background:#fff}.navbar .navbar-header .logo{display:flex;justify-content:center;align-items:center;width:2rem;height:1.04rem;background:#f3920d}.navbar .navbar-header .logo h1{font-size:0}.navbar .navbar-header .logo img{display:block;width:1.78rem}.navbar .navbar-header .navbar-toggle{display:flex;justify-content:center;align-items:center}.navbar .navbar-header .navbar-toggle .name{font-size:.3rem;color:#f3920d;margin-right:.16rem}.navbar .navbar-header .navbar-toggle .icon-bar{display:inline-block;width:.48rem;height:.48rem;background:url(/img/icon-menu.png) no-repeat 50%;background-size:.42rem;font-size:0;margin-right:.32rem;margin-bottom:.03rem}.navbar .navbar-header .navbar-toggle[aria-expanded=true] .icon-bar{background-image:url(/img/icon-menu-close.png);background-size:.48rem}.navbar .navbar-header .navbar-toggle[aria-expanded=true] .name{display:none}.navbar .navbar-collapse{display:none;position:absolute;width:100%;height:100vh;overflow-y:auto;box-sizing:border-box;padding-left:1.34rem;right:0;top:0;z-index:1;background-color:transparent;transition:background-color .2s}.navbar .navbar-collapse::-webkit-scrollbar{width:2px;height:2px;background-color:#f5f5f5}.navbar .navbar-collapse::-webkit-scrollbar-thumb{border-radius:2px;background-color:#cccecf}.navbar .navbar-collapse .nav{background:#fff;padding:1.04rem .48rem .48rem;box-sizing:border-box;min-height:100vh}.navbar .navbar-collapse .nav li a{display:block}.navbar .navbar-collapse .nav>li{border-top:.01rem solid #d8d8d8;border-bottom:.01rem solid #d8d8d8}.navbar .navbar-collapse .nav>li>a{font-size:.3rem;line-height:1rem}.navbar .navbar-collapse .nav>li>a span:last-child{display:none}.navbar .navbar-collapse .nav .dropdown .dropdown-toggle{background-image:url(/img/icon-menu-arrow-down.png);background-position:100%;background-size:.48rem;background-repeat:no-repeat}.navbar .navbar-collapse .nav .dropdown.open .dropdown-toggle{background-image:url(/img/icon-menu-arrow-up.png)}.navbar .navbar-collapse .nav .dropdown .dropdown-menu{display:none;padding-bottom:.24rem}.navbar .navbar-collapse .nav .dropdown .dropdown-menu>li>a{line-height:.66rem;color:#666}.navbar .navbar-collapse .nav .dropdown .dropdown-submenu{padding:.24rem 0}.navbar .navbar-collapse .nav .dropdown .dropdown-submenu li{float:left;margin-right:.4rem;margin-top:.24rem}.navbar .navbar-collapse .nav .dropdown .dropdown-submenu li:nth-child(2n){margin-right:0}.navbar .navbar-collapse .nav .dropdown .dropdown-submenu li:nth-child(-n+2){margin-top:0}.navbar .navbar-collapse .nav .dropdown .dropdown-submenu li a{line-height:.56rem;width:2.08rem;height:.56rem;background:#f7f7f7;text-align:center;color:#666}.footer{position:relative;background:#050001;box-sizing:border-box;margin-top:1rem}.footer .container{width:6.86rem;margin:0 auto;position:relative}.footer .container .logo img:first-child{width:1.88rem}.footer .container .logo img:last-child{width:1.36rem}.footer .container .title{font-size:.3rem;color:#fff;margin-top:.46rem}.footer .container .section{opacity:.8;width:100%;padding:.32rem 0;margin-top:3.8rem;border-top:.01rem solid #fff;border-left:0;border-right:0;border-bottom:.01rem solid hsla(0,0%,100%,.3)}.footer .container .section .item{position:relative;margin-top:.25rem;padding-left:.6rem;font-size:.24rem;color:#fff}.footer .container .section .item:nth-child(2){margin-top:0}.footer .container .section .item:before{content:\"\";display:block;width:.4rem;height:.4rem;position:absolute;left:0;top:50%;transform:translateY(-50%);background-repeat:no-repeat;background-position:50%;background-size:.4rem}.footer .container .section .item.mobile:before{background-image:url(/img/icon-mobile.png)}.footer .container .section .item.mobile span:last-child{margin-left:.4rem}.footer .container .section .item.email:before{background-image:url(/img/icon-email.png)}.footer .container .section .item.address:before{background-image:url(/img/icon-address.png)}.footer .container .section .item.contact:before{background-image:url(/img/icon-contact.png)}.footer .container .section .item.site:before{background-image:url(/img/icon-site.png)}.footer .container .nav{opacity:.8;position:absolute;top:2.11rem}.footer .container .nav.first{left:0}.footer .container .nav.second{left:3.91rem}.footer .container .nav li{margin-top:.24rem}.footer .container .nav li a{display:block;font-size:.24rem;color:#fff}.footer .container .qrcode-content{position:absolute;right:0;bottom:-2.04rem;display:flex;justify-content:center}.footer .container .qrcode-content .qrcode:first-child{margin-right:.16rem}.footer .container .qrcode-content .qrcode img{display:block;width:1.19rem;height:1.19rem;background-color:#fff}.footer .container .qrcode-content .qrcode .tip{font-size:.2rem;color:#fff;margin-top:.16rem;text-align:center;opacity:.8}.footer .copyright{width:100%;box-sizing:border-box;text-align:left;color:#fff;font-size:.2rem;padding:.4rem;opacity:.8}.footer .copyright a{width:4.2rem;color:#fff}.footer .copyright *{display:block;margin-bottom:.16rem}}", ""]);
  569. // Exports
  570. module.exports = ___CSS_LOADER_EXPORT___;
  571. /***/ }),
  572. /* 22 */
  573. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  574. "use strict";
  575. // ESM COMPAT FLAG
  576. __webpack_require__.r(__webpack_exports__);
  577. // NAMESPACE OBJECT: ./node_modules/.cache/nuxt/components/index.js
  578. var components_namespaceObject = {};
  579. __webpack_require__.r(components_namespaceObject);
  580. __webpack_require__.d(components_namespaceObject, "ContactConsult", function() { return ContactConsult; });
  581. __webpack_require__.d(components_namespaceObject, "ContactJoinUs", function() { return ContactJoinUs; });
  582. // EXTERNAL MODULE: external "vue"
  583. var external_vue_ = __webpack_require__(0);
  584. var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
  585. // EXTERNAL MODULE: external "ufo"
  586. var external_ufo_ = __webpack_require__(1);
  587. // EXTERNAL MODULE: external "node-fetch"
  588. var external_node_fetch_ = __webpack_require__(10);
  589. var external_node_fetch_default = /*#__PURE__*/__webpack_require__.n(external_node_fetch_);
  590. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/middleware.js
  591. const middleware = {};
  592. /* harmony default export */ var nuxt_middleware = (middleware);
  593. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/utils.js
  594. // window.{{globals.loadedCallback}} hook
  595. // Useful for jsdom testing or plugins (https://github.com/tmpvar/jsdom#dealing-with-asynchronous-script-loading)
  596. if (false) {}
  597. function createGetCounter(counterObject, defaultKey = '') {
  598. return function getCounter(id = defaultKey) {
  599. if (counterObject[id] === undefined) {
  600. counterObject[id] = 0;
  601. }
  602. return counterObject[id]++;
  603. };
  604. }
  605. function empty() {}
  606. function globalHandleError(error) {
  607. if (external_vue_default.a.config.errorHandler) {
  608. external_vue_default.a.config.errorHandler(error);
  609. }
  610. }
  611. function interopDefault(promise) {
  612. return promise.then(m => m.default || m);
  613. }
  614. function hasFetch(vm) {
  615. return vm.$options && typeof vm.$options.fetch === 'function' && !vm.$options.fetch.length;
  616. }
  617. function purifyData(data) {
  618. if (true) {
  619. return data;
  620. }
  621. return Object.entries(data).filter(([key, value]) => {
  622. const valid = !(value instanceof Function) && !(value instanceof Promise);
  623. if (!valid) {
  624. console.warn(`${key} is not able to be stringified. This will break in a production environment.`);
  625. }
  626. return valid;
  627. }).reduce((obj, [key, value]) => {
  628. obj[key] = value;
  629. return obj;
  630. }, {});
  631. }
  632. function getChildrenComponentInstancesUsingFetch(vm, instances = []) {
  633. const children = vm.$children || [];
  634. for (const child of children) {
  635. if (child.$fetch) {
  636. instances.push(child);
  637. continue; // Don't get the children since it will reload the template
  638. }
  639. if (child.$children) {
  640. getChildrenComponentInstancesUsingFetch(child, instances);
  641. }
  642. }
  643. return instances;
  644. }
  645. function applyAsyncData(Component, asyncData) {
  646. if (
  647. // For SSR, we once all this function without second param to just apply asyncData
  648. // Prevent doing this for each SSR request
  649. !asyncData && Component.options.__hasNuxtData) {
  650. return;
  651. }
  652. const ComponentData = Component.options._originDataFn || Component.options.data || function () {
  653. return {};
  654. };
  655. Component.options._originDataFn = ComponentData;
  656. Component.options.data = function () {
  657. const data = ComponentData.call(this, this);
  658. if (this.$ssrContext) {
  659. asyncData = this.$ssrContext.asyncData[Component.cid];
  660. }
  661. return {
  662. ...data,
  663. ...asyncData
  664. };
  665. };
  666. Component.options.__hasNuxtData = true;
  667. if (Component._Ctor && Component._Ctor.options) {
  668. Component._Ctor.options.data = Component.options.data;
  669. }
  670. }
  671. function sanitizeComponent(Component) {
  672. // If Component already sanitized
  673. if (Component.options && Component._Ctor === Component) {
  674. return Component;
  675. }
  676. if (!Component.options) {
  677. Component = external_vue_default.a.extend(Component); // fix issue #6
  678. Component._Ctor = Component;
  679. } else {
  680. Component._Ctor = Component;
  681. Component.extendOptions = Component.options;
  682. }
  683. // If no component name defined, set file path as name, (also fixes #5703)
  684. if (!Component.options.name && Component.options.__file) {
  685. Component.options.name = Component.options.__file;
  686. }
  687. return Component;
  688. }
  689. function getMatchedComponents(route, matches = false, prop = 'components') {
  690. return Array.prototype.concat.apply([], route.matched.map((m, index) => {
  691. return Object.keys(m[prop]).map(key => {
  692. matches && matches.push(index);
  693. return m[prop][key];
  694. });
  695. }));
  696. }
  697. function getMatchedComponentsInstances(route, matches = false) {
  698. return getMatchedComponents(route, matches, 'instances');
  699. }
  700. function flatMapComponents(route, fn) {
  701. return Array.prototype.concat.apply([], route.matched.map((m, index) => {
  702. return Object.keys(m.components).reduce((promises, key) => {
  703. if (m.components[key]) {
  704. promises.push(fn(m.components[key], m.instances[key], m, key, index));
  705. } else {
  706. delete m.components[key];
  707. }
  708. return promises;
  709. }, []);
  710. }));
  711. }
  712. function resolveRouteComponents(route, fn) {
  713. return Promise.all(flatMapComponents(route, async (Component, instance, match, key) => {
  714. // If component is a function, resolve it
  715. if (typeof Component === 'function' && !Component.options) {
  716. try {
  717. Component = await Component();
  718. } catch (error) {
  719. // Handle webpack chunk loading errors
  720. // This may be due to a new deployment or a network problem
  721. if (error && error.name === 'ChunkLoadError' && typeof window !== 'undefined' && window.sessionStorage) {
  722. const timeNow = Date.now();
  723. const previousReloadTime = parseInt(window.sessionStorage.getItem('nuxt-reload'));
  724. // check for previous reload time not to reload infinitely
  725. if (!previousReloadTime || previousReloadTime + 60000 < timeNow) {
  726. window.sessionStorage.setItem('nuxt-reload', timeNow);
  727. window.location.reload(true /* skip cache */);
  728. }
  729. }
  730. throw error;
  731. }
  732. }
  733. match.components[key] = Component = sanitizeComponent(Component);
  734. return typeof fn === 'function' ? fn(Component, instance, match, key) : Component;
  735. }));
  736. }
  737. async function getRouteData(route) {
  738. if (!route) {
  739. return;
  740. }
  741. // Make sure the components are resolved (code-splitting)
  742. await resolveRouteComponents(route);
  743. // Send back a copy of route with meta based on Component definition
  744. return {
  745. ...route,
  746. meta: getMatchedComponents(route).map((Component, index) => {
  747. return {
  748. ...Component.options.meta,
  749. ...(route.matched[index] || {}).meta
  750. };
  751. })
  752. };
  753. }
  754. async function setContext(app, context) {
  755. // If context not defined, create it
  756. if (!app.context) {
  757. app.context = {
  758. isStatic: true,
  759. isDev: false,
  760. isHMR: false,
  761. app,
  762. payload: context.payload,
  763. error: context.error,
  764. base: app.router.options.base,
  765. env: {}
  766. };
  767. // Only set once
  768. if (context.ssrContext) {
  769. app.context.ssrContext = context.ssrContext;
  770. }
  771. app.context.redirect = (status, path, query) => {
  772. if (!status) {
  773. return;
  774. }
  775. app.context._redirected = true;
  776. // if only 1 or 2 arguments: redirect('/') or redirect('/', { foo: 'bar' })
  777. let pathType = typeof path;
  778. if (typeof status !== 'number' && (pathType === 'undefined' || pathType === 'object')) {
  779. query = path || {};
  780. path = status;
  781. pathType = typeof path;
  782. status = 302;
  783. }
  784. if (pathType === 'object') {
  785. path = app.router.resolve(path).route.fullPath;
  786. }
  787. // "/absolute/route", "./relative/route" or "../relative/route"
  788. if (/(^[.]{1,2}\/)|(^\/(?!\/))/.test(path)) {
  789. app.context.next({
  790. path,
  791. query,
  792. status
  793. });
  794. } else {
  795. path = Object(external_ufo_["withQuery"])(path, query);
  796. if (true) {
  797. app.context.next({
  798. path,
  799. status
  800. });
  801. }
  802. if (false) {}
  803. }
  804. };
  805. if (true) {
  806. app.context.beforeNuxtRender = fn => context.beforeRenderFns.push(fn);
  807. }
  808. if (false) {}
  809. }
  810. // Dynamic keys
  811. const [currentRouteData, fromRouteData] = await Promise.all([getRouteData(context.route), getRouteData(context.from)]);
  812. if (context.route) {
  813. app.context.route = currentRouteData;
  814. }
  815. if (context.from) {
  816. app.context.from = fromRouteData;
  817. }
  818. app.context.next = context.next;
  819. app.context._redirected = false;
  820. app.context._errored = false;
  821. app.context.isHMR = false;
  822. app.context.params = app.context.route.params || {};
  823. app.context.query = app.context.route.query || {};
  824. }
  825. function middlewareSeries(promises, appContext) {
  826. if (!promises.length || appContext._redirected || appContext._errored) {
  827. return Promise.resolve();
  828. }
  829. return promisify(promises[0], appContext).then(() => {
  830. return middlewareSeries(promises.slice(1), appContext);
  831. });
  832. }
  833. function promisify(fn, context) {
  834. let promise;
  835. if (fn.length === 2) {
  836. // fn(context, callback)
  837. promise = new Promise(resolve => {
  838. fn(context, function (err, data) {
  839. if (err) {
  840. context.error(err);
  841. }
  842. data = data || {};
  843. resolve(data);
  844. });
  845. });
  846. } else {
  847. promise = fn(context);
  848. }
  849. if (promise && promise instanceof Promise && typeof promise.then === 'function') {
  850. return promise;
  851. }
  852. return Promise.resolve(promise);
  853. }
  854. // Imported from vue-router
  855. function getLocation(base, mode) {
  856. if (mode === 'hash') {
  857. return window.location.hash.replace(/^#\//, '');
  858. }
  859. base = decodeURI(base).slice(0, -1); // consideration is base is normalized with trailing slash
  860. let path = decodeURI(window.location.pathname);
  861. if (base && path.startsWith(base)) {
  862. path = path.slice(base.length);
  863. }
  864. const fullPath = (path || '/') + window.location.search + window.location.hash;
  865. return Object(external_ufo_["normalizeURL"])(fullPath);
  866. }
  867. // Imported from path-to-regexp
  868. /**
  869. * Compile a string to a template function for the path.
  870. *
  871. * @param {string} str
  872. * @param {Object=} options
  873. * @return {!function(Object=, Object=)}
  874. */
  875. function compile(str, options) {
  876. return tokensToFunction(parse(str, options), options);
  877. }
  878. function getQueryDiff(toQuery, fromQuery) {
  879. const diff = {};
  880. const queries = {
  881. ...toQuery,
  882. ...fromQuery
  883. };
  884. for (const k in queries) {
  885. if (String(toQuery[k]) !== String(fromQuery[k])) {
  886. diff[k] = true;
  887. }
  888. }
  889. return diff;
  890. }
  891. function normalizeError(err) {
  892. let message;
  893. if (!(err.message || typeof err === 'string')) {
  894. try {
  895. message = JSON.stringify(err, null, 2);
  896. } catch (e) {
  897. message = `[${err.constructor.name}]`;
  898. }
  899. } else {
  900. message = err.message || err;
  901. }
  902. return {
  903. ...err,
  904. message,
  905. statusCode: err.statusCode || err.status || err.response && err.response.status || 500
  906. };
  907. }
  908. /**
  909. * The main path matching regexp utility.
  910. *
  911. * @type {RegExp}
  912. */
  913. const PATH_REGEXP = new RegExp([
  914. // Match escaped characters that would otherwise appear in future matches.
  915. // This allows the user to escape special characters that won't transform.
  916. '(\\\\.)',
  917. // Match Express-style parameters and un-named parameters with a prefix
  918. // and optional suffixes. Matches appear as:
  919. //
  920. // "/:test(\\d+)?" => ["/", "test", "\d+", undefined, "?", undefined]
  921. // "/route(\\d+)" => [undefined, undefined, undefined, "\d+", undefined, undefined]
  922. // "/*" => ["/", undefined, undefined, undefined, undefined, "*"]
  923. '([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))'].join('|'), 'g');
  924. /**
  925. * Parse a string for the raw tokens.
  926. *
  927. * @param {string} str
  928. * @param {Object=} options
  929. * @return {!Array}
  930. */
  931. function parse(str, options) {
  932. const tokens = [];
  933. let key = 0;
  934. let index = 0;
  935. let path = '';
  936. const defaultDelimiter = options && options.delimiter || '/';
  937. let res;
  938. while ((res = PATH_REGEXP.exec(str)) != null) {
  939. const m = res[0];
  940. const escaped = res[1];
  941. const offset = res.index;
  942. path += str.slice(index, offset);
  943. index = offset + m.length;
  944. // Ignore already escaped sequences.
  945. if (escaped) {
  946. path += escaped[1];
  947. continue;
  948. }
  949. const next = str[index];
  950. const prefix = res[2];
  951. const name = res[3];
  952. const capture = res[4];
  953. const group = res[5];
  954. const modifier = res[6];
  955. const asterisk = res[7];
  956. // Push the current path onto the tokens.
  957. if (path) {
  958. tokens.push(path);
  959. path = '';
  960. }
  961. const partial = prefix != null && next != null && next !== prefix;
  962. const repeat = modifier === '+' || modifier === '*';
  963. const optional = modifier === '?' || modifier === '*';
  964. const delimiter = res[2] || defaultDelimiter;
  965. const pattern = capture || group;
  966. tokens.push({
  967. name: name || key++,
  968. prefix: prefix || '',
  969. delimiter,
  970. optional,
  971. repeat,
  972. partial,
  973. asterisk: Boolean(asterisk),
  974. pattern: pattern ? escapeGroup(pattern) : asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?'
  975. });
  976. }
  977. // Match any characters still remaining.
  978. if (index < str.length) {
  979. path += str.substr(index);
  980. }
  981. // If the path exists, push it onto the end.
  982. if (path) {
  983. tokens.push(path);
  984. }
  985. return tokens;
  986. }
  987. /**
  988. * Prettier encoding of URI path segments.
  989. *
  990. * @param {string}
  991. * @return {string}
  992. */
  993. function encodeURIComponentPretty(str, slashAllowed) {
  994. const re = slashAllowed ? /[?#]/g : /[/?#]/g;
  995. return encodeURI(str).replace(re, c => {
  996. return '%' + c.charCodeAt(0).toString(16).toUpperCase();
  997. });
  998. }
  999. /**
  1000. * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.
  1001. *
  1002. * @param {string}
  1003. * @return {string}
  1004. */
  1005. function encodeAsterisk(str) {
  1006. return encodeURIComponentPretty(str, true);
  1007. }
  1008. /**
  1009. * Escape a regular expression string.
  1010. *
  1011. * @param {string} str
  1012. * @return {string}
  1013. */
  1014. function escapeString(str) {
  1015. return str.replace(/([.+*?=^!:${}()[\]|/\\])/g, '\\$1');
  1016. }
  1017. /**
  1018. * Escape the capturing group by escaping special characters and meaning.
  1019. *
  1020. * @param {string} group
  1021. * @return {string}
  1022. */
  1023. function escapeGroup(group) {
  1024. return group.replace(/([=!:$/()])/g, '\\$1');
  1025. }
  1026. /**
  1027. * Expose a method for transforming tokens into the path function.
  1028. */
  1029. function tokensToFunction(tokens, options) {
  1030. // Compile all the tokens into regexps.
  1031. const matches = new Array(tokens.length);
  1032. // Compile all the patterns before compilation.
  1033. for (let i = 0; i < tokens.length; i++) {
  1034. if (typeof tokens[i] === 'object') {
  1035. matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));
  1036. }
  1037. }
  1038. return function (obj, opts) {
  1039. let path = '';
  1040. const data = obj || {};
  1041. const options = opts || {};
  1042. const encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;
  1043. for (let i = 0; i < tokens.length; i++) {
  1044. const token = tokens[i];
  1045. if (typeof token === 'string') {
  1046. path += token;
  1047. continue;
  1048. }
  1049. const value = data[token.name || 'pathMatch'];
  1050. let segment;
  1051. if (value == null) {
  1052. if (token.optional) {
  1053. // Prepend partial segment prefixes.
  1054. if (token.partial) {
  1055. path += token.prefix;
  1056. }
  1057. continue;
  1058. } else {
  1059. throw new TypeError('Expected "' + token.name + '" to be defined');
  1060. }
  1061. }
  1062. if (Array.isArray(value)) {
  1063. if (!token.repeat) {
  1064. throw new TypeError('Expected "' + token.name + '" to not repeat, but received `' + JSON.stringify(value) + '`');
  1065. }
  1066. if (value.length === 0) {
  1067. if (token.optional) {
  1068. continue;
  1069. } else {
  1070. throw new TypeError('Expected "' + token.name + '" to not be empty');
  1071. }
  1072. }
  1073. for (let j = 0; j < value.length; j++) {
  1074. segment = encode(value[j]);
  1075. if (!matches[i].test(segment)) {
  1076. throw new TypeError('Expected all "' + token.name + '" to match "' + token.pattern + '", but received `' + JSON.stringify(segment) + '`');
  1077. }
  1078. path += (j === 0 ? token.prefix : token.delimiter) + segment;
  1079. }
  1080. continue;
  1081. }
  1082. segment = token.asterisk ? encodeAsterisk(value) : encode(value);
  1083. if (!matches[i].test(segment)) {
  1084. throw new TypeError('Expected "' + token.name + '" to match "' + token.pattern + '", but received "' + segment + '"');
  1085. }
  1086. path += token.prefix + segment;
  1087. }
  1088. return path;
  1089. };
  1090. }
  1091. /**
  1092. * Get the flags for a regexp from the options.
  1093. *
  1094. * @param {Object} options
  1095. * @return {string}
  1096. */
  1097. function flags(options) {
  1098. return options && options.sensitive ? '' : 'i';
  1099. }
  1100. function addLifecycleHook(vm, hook, fn) {
  1101. if (!vm.$options[hook]) {
  1102. vm.$options[hook] = [];
  1103. }
  1104. if (!vm.$options[hook].includes(fn)) {
  1105. vm.$options[hook].push(fn);
  1106. }
  1107. }
  1108. const urlJoin = external_ufo_["joinURL"];
  1109. const stripTrailingSlash = external_ufo_["withoutTrailingSlash"];
  1110. const isSamePath = external_ufo_["isSamePath"];
  1111. function setScrollRestoration(newVal) {
  1112. try {
  1113. window.history.scrollRestoration = newVal;
  1114. } catch (e) {}
  1115. }
  1116. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/mixins/fetch.server.js
  1117. async function serverPrefetch() {
  1118. if (!this._fetchOnServer) {
  1119. return;
  1120. }
  1121. // Call and await on $fetch
  1122. try {
  1123. await this.$options.fetch.call(this);
  1124. } catch (err) {
  1125. if (false) {}
  1126. this.$fetchState.error = normalizeError(err);
  1127. }
  1128. this.$fetchState.pending = false;
  1129. // Define an ssrKey for hydration
  1130. this._fetchKey = this._fetchKey || this.$ssrContext.fetchCounters['']++;
  1131. // Add data-fetch-key on parent element of Component
  1132. const attrs = this.$vnode.data.attrs = this.$vnode.data.attrs || {};
  1133. attrs['data-fetch-key'] = this._fetchKey;
  1134. // Add to ssrContext for window.__NUXT__.fetch
  1135. this.$ssrContext.nuxt.fetch[this._fetchKey] = this.$fetchState.error ? {
  1136. _error: this.$fetchState.error
  1137. } : purifyData(this._data);
  1138. }
  1139. /* harmony default export */ var fetch_server = ({
  1140. created() {
  1141. if (!hasFetch(this)) {
  1142. return;
  1143. }
  1144. if (typeof this.$options.fetchOnServer === 'function') {
  1145. this._fetchOnServer = this.$options.fetchOnServer.call(this) !== false;
  1146. } else {
  1147. this._fetchOnServer = this.$options.fetchOnServer !== false;
  1148. }
  1149. const defaultKey = this.$options._scopeId || this.$options.name || '';
  1150. const getCounter = createGetCounter(this.$ssrContext.fetchCounters, defaultKey);
  1151. if (typeof this.$options.fetchKey === 'function') {
  1152. this._fetchKey = this.$options.fetchKey.call(this, getCounter);
  1153. } else {
  1154. const key = 'string' === typeof this.$options.fetchKey ? this.$options.fetchKey : defaultKey;
  1155. this._fetchKey = key ? key + ':' + getCounter(key) : String(getCounter(key));
  1156. }
  1157. // Added for remove vue undefined warning while ssr
  1158. this.$fetch = () => {}; // issue #8043
  1159. external_vue_default.a.util.defineReactive(this, '$fetchState', {
  1160. pending: true,
  1161. error: null,
  1162. timestamp: Date.now()
  1163. });
  1164. addLifecycleHook(this, 'serverPrefetch', serverPrefetch);
  1165. }
  1166. });
  1167. // EXTERNAL MODULE: external "vue-meta"
  1168. var external_vue_meta_ = __webpack_require__(11);
  1169. var external_vue_meta_default = /*#__PURE__*/__webpack_require__.n(external_vue_meta_);
  1170. // EXTERNAL MODULE: external "vue-client-only"
  1171. var external_vue_client_only_ = __webpack_require__(6);
  1172. var external_vue_client_only_default = /*#__PURE__*/__webpack_require__.n(external_vue_client_only_);
  1173. // EXTERNAL MODULE: external "vue-no-ssr"
  1174. var external_vue_no_ssr_ = __webpack_require__(5);
  1175. var external_vue_no_ssr_default = /*#__PURE__*/__webpack_require__.n(external_vue_no_ssr_);
  1176. // EXTERNAL MODULE: external "vue-router"
  1177. var external_vue_router_ = __webpack_require__(7);
  1178. var external_vue_router_default = /*#__PURE__*/__webpack_require__.n(external_vue_router_);
  1179. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/router.scrollBehavior.js
  1180. if (false) {}
  1181. function shouldScrollToTop(route) {
  1182. const Pages = getMatchedComponents(route);
  1183. if (Pages.length === 1) {
  1184. const {
  1185. options = {}
  1186. } = Pages[0];
  1187. return options.scrollToTop !== false;
  1188. }
  1189. return Pages.some(({
  1190. options
  1191. }) => options && options.scrollToTop);
  1192. }
  1193. /* harmony default export */ var router_scrollBehavior = (function (to, from, savedPosition) {
  1194. // If the returned position is falsy or an empty object, will retain current scroll position
  1195. let position = false;
  1196. const isRouteChanged = to !== from;
  1197. // savedPosition is only available for popstate navigations (back button)
  1198. if (savedPosition) {
  1199. position = savedPosition;
  1200. } else if (isRouteChanged && shouldScrollToTop(to)) {
  1201. position = {
  1202. x: 0,
  1203. y: 0
  1204. };
  1205. }
  1206. const nuxt = window.$nuxt;
  1207. if (
  1208. // Initial load (vuejs/vue-router#3199)
  1209. !isRouteChanged ||
  1210. // Route hash changes
  1211. to.path === from.path && to.hash !== from.hash) {
  1212. nuxt.$nextTick(() => nuxt.$emit('triggerScroll'));
  1213. }
  1214. return new Promise(resolve => {
  1215. // wait for the out transition to complete (if necessary)
  1216. nuxt.$once('triggerScroll', () => {
  1217. // coords will be used if no selector is provided,
  1218. // or if the selector didn't match any element.
  1219. if (to.hash) {
  1220. let hash = to.hash;
  1221. // CSS.escape() is not supported with IE and Edge.
  1222. if (typeof window.CSS !== 'undefined' && typeof window.CSS.escape !== 'undefined') {
  1223. hash = '#' + window.CSS.escape(hash.substr(1));
  1224. }
  1225. try {
  1226. if (document.querySelector(hash)) {
  1227. // scroll to anchor by returning the selector
  1228. position = {
  1229. selector: hash
  1230. };
  1231. }
  1232. } catch (e) {
  1233. console.warn('Failed to save scroll position. Please add CSS.escape() polyfill (https://github.com/mathiasbynens/CSS.escape).');
  1234. }
  1235. }
  1236. resolve(position);
  1237. });
  1238. });
  1239. });
  1240. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/router.js
  1241. const _82724b94 = () => interopDefault(__webpack_require__.e(/* import() | pages/about/index */ 3).then(__webpack_require__.bind(null, 102)));
  1242. const _39825c08 = () => interopDefault(__webpack_require__.e(/* import() | pages/brand/index */ 5).then(__webpack_require__.bind(null, 103)));
  1243. const _064d2cbe = () => interopDefault(__webpack_require__.e(/* import() | pages/case/index */ 7).then(__webpack_require__.bind(null, 104)));
  1244. const _14ea7583 = () => interopDefault(__webpack_require__.e(/* import() | pages/contact/index */ 9).then(__webpack_require__.bind(null, 105)));
  1245. const _7b589bc8 = () => interopDefault(__webpack_require__.e(/* import() | pages/cooperation/index */ 12).then(__webpack_require__.bind(null, 106)));
  1246. const _f2fd73c4 = () => interopDefault(__webpack_require__.e(/* import() | pages/news/index */ 15).then(__webpack_require__.bind(null, 107)));
  1247. const _1cee7d17 = () => interopDefault(__webpack_require__.e(/* import() | pages/brand/detail */ 4).then(__webpack_require__.bind(null, 108)));
  1248. const _3f7353a3 = () => interopDefault(__webpack_require__.e(/* import() | pages/brand/ross */ 6).then(__webpack_require__.bind(null, 109)));
  1249. const _3eeac95d = () => interopDefault(__webpack_require__.e(/* import() | pages/contact/consult */ 8).then(__webpack_require__.bind(null, 110)));
  1250. const _20936d2e = () => interopDefault(__webpack_require__.e(/* import() | pages/contact/job */ 10).then(__webpack_require__.bind(null, 111)));
  1251. const _da0705dc = () => interopDefault(__webpack_require__.e(/* import() | pages/contact/join-us */ 11).then(__webpack_require__.bind(null, 112)));
  1252. const _3c0ae596 = () => interopDefault(__webpack_require__.e(/* import() | pages/news/detail */ 14).then(__webpack_require__.bind(null, 113)));
  1253. const _750ce5f9 = () => interopDefault(__webpack_require__.e(/* import() | pages/product/binary-premium */ 16).then(__webpack_require__.bind(null, 114)));
  1254. const _355b1c76 = () => interopDefault(__webpack_require__.e(/* import() | pages/product/diactivplus */ 21).then(__webpack_require__.bind(null, 115)));
  1255. const _6835b704 = () => interopDefault(__webpack_require__.e(/* import() | pages/product/intradermik */ 22).then(__webpack_require__.bind(null, 116)));
  1256. const _5a9b3dcd = () => interopDefault(__webpack_require__.e(/* import() | pages/product/kestos */ 23).then(__webpack_require__.bind(null, 117)));
  1257. const _1a6f4e21 = () => interopDefault(__webpack_require__.e(/* import() | pages/product/mesobiolift */ 24).then(__webpack_require__.bind(null, 118)));
  1258. const _a9cc653e = () => interopDefault(__webpack_require__.e(/* import() | pages/product/rollaction */ 25).then(__webpack_require__.bind(null, 119)));
  1259. const _b2576ba4 = () => interopDefault(__webpack_require__.e(/* import() | pages/product/binary/therapy-1 */ 17).then(__webpack_require__.bind(null, 120)));
  1260. const _b23b3ca2 = () => interopDefault(__webpack_require__.e(/* import() | pages/product/binary/therapy-2 */ 18).then(__webpack_require__.bind(null, 121)));
  1261. const _b21f0da0 = () => interopDefault(__webpack_require__.e(/* import() | pages/product/binary/therapy-3 */ 19).then(__webpack_require__.bind(null, 122)));
  1262. const _b202de9e = () => interopDefault(__webpack_require__.e(/* import() | pages/product/binary/therapy-4 */ 20).then(__webpack_require__.bind(null, 123)));
  1263. const _08c79791 = () => interopDefault(__webpack_require__.e(/* import() | pages/index */ 13).then(__webpack_require__.bind(null, 124)));
  1264. const emptyFn = () => {};
  1265. external_vue_default.a.use(external_vue_router_default.a);
  1266. const routerOptions = {
  1267. mode: 'history',
  1268. base: '/',
  1269. linkActiveClass: 'nuxt-link-active',
  1270. linkExactActiveClass: 'nuxt-link-exact-active',
  1271. scrollBehavior: router_scrollBehavior,
  1272. routes: [{
  1273. path: "/about",
  1274. component: _82724b94,
  1275. redirect: "/about.html",
  1276. name: "about"
  1277. }, {
  1278. path: "/brand",
  1279. component: _39825c08,
  1280. redirect: "/brand.html",
  1281. name: "brand"
  1282. }, {
  1283. path: "/case",
  1284. component: _064d2cbe,
  1285. redirect: "/case.html",
  1286. name: "case"
  1287. }, {
  1288. path: "/contact",
  1289. component: _14ea7583,
  1290. redirect: "/contact.html",
  1291. name: "contact"
  1292. }, {
  1293. path: "/cooperation",
  1294. component: _7b589bc8,
  1295. redirect: "/cooperation.html",
  1296. name: "cooperation"
  1297. }, {
  1298. path: "/news",
  1299. component: _f2fd73c4,
  1300. redirect: "/news.html",
  1301. name: "news"
  1302. }, {
  1303. path: "/brand/detail",
  1304. component: _1cee7d17,
  1305. redirect: "/brand/detail.html",
  1306. name: "brand-detail"
  1307. }, {
  1308. path: "/brand/ross",
  1309. component: _3f7353a3,
  1310. redirect: "/brand/ross.html",
  1311. name: "brand-ross"
  1312. }, {
  1313. path: "/contact/consult",
  1314. component: _3eeac95d,
  1315. redirect: "/contact/consult.html",
  1316. name: "contact-consult"
  1317. }, {
  1318. path: "/contact/job",
  1319. component: _20936d2e,
  1320. redirect: "/contact/job.html",
  1321. name: "contact-job"
  1322. }, {
  1323. path: "/contact/join-us",
  1324. component: _da0705dc,
  1325. redirect: "/contact/join-us.html",
  1326. name: "contact-join-us"
  1327. }, {
  1328. path: "/news/detail",
  1329. component: _3c0ae596,
  1330. redirect: "/news/detail.html",
  1331. name: "news-detail"
  1332. }, {
  1333. path: "/product/binary-premium",
  1334. component: _750ce5f9,
  1335. redirect: "/product/binary-premium.html",
  1336. name: "product-binary-premium"
  1337. }, {
  1338. path: "/product/diactivplus",
  1339. component: _355b1c76,
  1340. redirect: "/product/diactivplus.html",
  1341. name: "product-diactivplus"
  1342. }, {
  1343. path: "/product/intradermik",
  1344. component: _6835b704,
  1345. redirect: "/product/intradermik.html",
  1346. name: "product-intradermik"
  1347. }, {
  1348. path: "/product/kestos",
  1349. component: _5a9b3dcd,
  1350. redirect: "/product/kestos.html",
  1351. name: "product-kestos"
  1352. }, {
  1353. path: "/product/mesobiolift",
  1354. component: _1a6f4e21,
  1355. redirect: "/product/mesobiolift.html",
  1356. name: "product-mesobiolift"
  1357. }, {
  1358. path: "/product/rollaction",
  1359. component: _a9cc653e,
  1360. redirect: "/product/rollaction.html",
  1361. name: "product-rollaction"
  1362. }, {
  1363. path: "/product/binary/therapy-1",
  1364. component: _b2576ba4,
  1365. redirect: "/product/binary/therapy-1.html",
  1366. name: "product-binary-therapy-1"
  1367. }, {
  1368. path: "/product/binary/therapy-2",
  1369. component: _b23b3ca2,
  1370. redirect: "/product/binary/therapy-2.html",
  1371. name: "product-binary-therapy-2"
  1372. }, {
  1373. path: "/product/binary/therapy-3",
  1374. component: _b21f0da0,
  1375. redirect: "/product/binary/therapy-3.html",
  1376. name: "product-binary-therapy-3"
  1377. }, {
  1378. path: "/product/binary/therapy-4",
  1379. component: _b202de9e,
  1380. redirect: "/product/binary/therapy-4.html",
  1381. name: "product-binary-therapy-4"
  1382. }, {
  1383. path: "/",
  1384. component: _08c79791,
  1385. redirect: "/index.html",
  1386. name: "index"
  1387. }, {
  1388. path: "/about.html",
  1389. component: _82724b94,
  1390. name: "about.html"
  1391. }, {
  1392. path: "/brand.html",
  1393. component: _39825c08,
  1394. name: "brand.html"
  1395. }, {
  1396. path: "/case.html",
  1397. component: _064d2cbe,
  1398. name: "case.html"
  1399. }, {
  1400. path: "/contact.html",
  1401. component: _14ea7583,
  1402. name: "contact.html"
  1403. }, {
  1404. path: "/cooperation.html",
  1405. component: _7b589bc8,
  1406. name: "cooperation.html"
  1407. }, {
  1408. path: "/news.html",
  1409. component: _f2fd73c4,
  1410. name: "news.html"
  1411. }, {
  1412. path: "/brand/detail.html",
  1413. component: _1cee7d17,
  1414. name: "brand-detail.html"
  1415. }, {
  1416. path: "/brand/ross.html",
  1417. component: _3f7353a3,
  1418. name: "brand-ross.html"
  1419. }, {
  1420. path: "/contact/consult.html",
  1421. component: _3eeac95d,
  1422. name: "contact-consult.html"
  1423. }, {
  1424. path: "/contact/job.html",
  1425. component: _20936d2e,
  1426. name: "contact-job.html"
  1427. }, {
  1428. path: "/contact/join-us.html",
  1429. component: _da0705dc,
  1430. name: "contact-join-us.html"
  1431. }, {
  1432. path: "/news/detail.html",
  1433. component: _3c0ae596,
  1434. name: "news-detail.html"
  1435. }, {
  1436. path: "/product/binary-premium.html",
  1437. component: _750ce5f9,
  1438. name: "product-binary-premium.html"
  1439. }, {
  1440. path: "/product/diactivplus.html",
  1441. component: _355b1c76,
  1442. name: "product-diactivplus.html"
  1443. }, {
  1444. path: "/product/intradermik.html",
  1445. component: _6835b704,
  1446. name: "product-intradermik.html"
  1447. }, {
  1448. path: "/product/kestos.html",
  1449. component: _5a9b3dcd,
  1450. name: "product-kestos.html"
  1451. }, {
  1452. path: "/product/mesobiolift.html",
  1453. component: _1a6f4e21,
  1454. name: "product-mesobiolift.html"
  1455. }, {
  1456. path: "/product/rollaction.html",
  1457. component: _a9cc653e,
  1458. name: "product-rollaction.html"
  1459. }, {
  1460. path: "/product/binary/therapy-1.html",
  1461. component: _b2576ba4,
  1462. name: "product-binary-therapy-1.html"
  1463. }, {
  1464. path: "/product/binary/therapy-2.html",
  1465. component: _b23b3ca2,
  1466. name: "product-binary-therapy-2.html"
  1467. }, {
  1468. path: "/product/binary/therapy-3.html",
  1469. component: _b21f0da0,
  1470. name: "product-binary-therapy-3.html"
  1471. }, {
  1472. path: "/product/binary/therapy-4.html",
  1473. component: _b202de9e,
  1474. name: "product-binary-therapy-4.html"
  1475. }, {
  1476. path: "/index.html",
  1477. component: _08c79791,
  1478. name: "index.html"
  1479. }],
  1480. fallback: false
  1481. };
  1482. function createRouter(ssrContext, config) {
  1483. const base = config._app && config._app.basePath || routerOptions.base;
  1484. const router = new external_vue_router_default.a({
  1485. ...routerOptions,
  1486. base
  1487. });
  1488. // TODO: remove in Nuxt 3
  1489. const originalPush = router.push;
  1490. router.push = function push(location, onComplete = emptyFn, onAbort) {
  1491. return originalPush.call(this, location, onComplete, onAbort);
  1492. };
  1493. const resolve = router.resolve.bind(router);
  1494. router.resolve = (to, current, append) => {
  1495. if (typeof to === 'string') {
  1496. to = Object(external_ufo_["normalizeURL"])(to);
  1497. }
  1498. return resolve(to, current, append);
  1499. };
  1500. return router;
  1501. }
  1502. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/components/nuxt-child.js
  1503. /* harmony default export */ var nuxt_child = ({
  1504. name: 'NuxtChild',
  1505. functional: true,
  1506. props: {
  1507. nuxtChildKey: {
  1508. type: String,
  1509. default: ''
  1510. },
  1511. keepAlive: Boolean,
  1512. keepAliveProps: {
  1513. type: Object,
  1514. default: undefined
  1515. }
  1516. },
  1517. render(_, {
  1518. parent,
  1519. data,
  1520. props
  1521. }) {
  1522. const h = parent.$createElement;
  1523. data.nuxtChild = true;
  1524. const _parent = parent;
  1525. const transitions = parent.$nuxt.nuxt.transitions;
  1526. const defaultTransition = parent.$nuxt.nuxt.defaultTransition;
  1527. let depth = 0;
  1528. while (parent) {
  1529. if (parent.$vnode && parent.$vnode.data.nuxtChild) {
  1530. depth++;
  1531. }
  1532. parent = parent.$parent;
  1533. }
  1534. data.nuxtChildDepth = depth;
  1535. const transition = transitions[depth] || defaultTransition;
  1536. const transitionProps = {};
  1537. transitionsKeys.forEach(key => {
  1538. if (typeof transition[key] !== 'undefined') {
  1539. transitionProps[key] = transition[key];
  1540. }
  1541. });
  1542. const listeners = {};
  1543. listenersKeys.forEach(key => {
  1544. if (typeof transition[key] === 'function') {
  1545. listeners[key] = transition[key].bind(_parent);
  1546. }
  1547. });
  1548. if (false) {}
  1549. // make sure that leave is called asynchronous (fix #5703)
  1550. if (transition.css === false) {
  1551. const leave = listeners.leave;
  1552. // only add leave listener when user didnt provide one
  1553. // or when it misses the done argument
  1554. if (!leave || leave.length < 2) {
  1555. listeners.leave = (el, done) => {
  1556. if (leave) {
  1557. leave.call(_parent, el);
  1558. }
  1559. _parent.$nextTick(done);
  1560. };
  1561. }
  1562. }
  1563. let routerView = h('routerView', data);
  1564. if (props.keepAlive) {
  1565. routerView = h('keep-alive', {
  1566. props: props.keepAliveProps
  1567. }, [routerView]);
  1568. }
  1569. return h('transition', {
  1570. props: transitionProps,
  1571. on: listeners
  1572. }, [routerView]);
  1573. }
  1574. });
  1575. const transitionsKeys = ['name', 'mode', 'appear', 'css', 'type', 'duration', 'enterClass', 'leaveClass', 'appearClass', 'enterActiveClass', 'enterActiveClass', 'leaveActiveClass', 'appearActiveClass', 'enterToClass', 'leaveToClass', 'appearToClass'];
  1576. const listenersKeys = ['beforeEnter', 'enter', 'afterEnter', 'enterCancelled', 'beforeLeave', 'leave', 'afterLeave', 'leaveCancelled', 'beforeAppear', 'appear', 'afterAppear', 'appearCancelled'];
  1577. // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/.cache/nuxt/components/nuxt-error.vue?vue&type=template&id=608a1420&
  1578. var render = function render() {
  1579. var _vm = this,
  1580. _c = _vm._self._c;
  1581. return _c('div', {
  1582. staticClass: "__nuxt-error-page"
  1583. }, [_vm._ssrNode("<div class=\"error\">", "</div>", [_vm._ssrNode("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"90\" height=\"90\" fill=\"#DBE1EC\" viewBox=\"0 0 48 48\"><path d=\"M22 30h4v4h-4zm0-16h4v12h-4zm1.99-10C12.94 4 4 12.95 4 24s8.94 20 19.99 20S44 35.05 44 24 35.04 4 23.99 4zM24 40c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z\"></path></svg> <div class=\"title\">" + _vm._ssrEscape(_vm._s(_vm.message)) + "</div> "), _vm.statusCode === 404 ? _vm._ssrNode("<p class=\"description\">", "</p>", [typeof _vm.$route === 'undefined' ? _vm._ssrNode("<a href=\"/\" class=\"error-link\">", "</a>") : _c('NuxtLink', {
  1584. staticClass: "error-link",
  1585. attrs: {
  1586. "to": "/"
  1587. }
  1588. }, [_vm._v("Back to the home page")])], 1) : _vm._e(), _vm._ssrNode(" <div class=\"logo\"><a href=\"https://nuxtjs.org\" target=\"_blank\" rel=\"noopener\">Nuxt</a></div>")], 2)]);
  1589. };
  1590. var staticRenderFns = [];
  1591. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/components/nuxt-error.vue?vue&type=template&id=608a1420&
  1592. // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/.cache/nuxt/components/nuxt-error.vue?vue&type=script&lang=js&
  1593. /* harmony default export */ var nuxt_errorvue_type_script_lang_js_ = ({
  1594. name: 'NuxtError',
  1595. props: {
  1596. error: {
  1597. type: Object,
  1598. default: null
  1599. }
  1600. },
  1601. computed: {
  1602. statusCode() {
  1603. return this.error && this.error.statusCode || 500;
  1604. },
  1605. message() {
  1606. return this.error.message || 'Error';
  1607. }
  1608. },
  1609. head() {
  1610. return {
  1611. title: this.message,
  1612. meta: [{
  1613. name: 'viewport',
  1614. content: 'width=device-width,initial-scale=1.0,minimum-scale=1.0'
  1615. }]
  1616. };
  1617. }
  1618. });
  1619. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/components/nuxt-error.vue?vue&type=script&lang=js&
  1620. /* harmony default export */ var components_nuxt_errorvue_type_script_lang_js_ = (nuxt_errorvue_type_script_lang_js_);
  1621. // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
  1622. var componentNormalizer = __webpack_require__(2);
  1623. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/components/nuxt-error.vue
  1624. function injectStyles (context) {
  1625. var style0 = __webpack_require__(14)
  1626. if (style0.__inject__) style0.__inject__(context)
  1627. }
  1628. /* normalize component */
  1629. var nuxt_error_component = Object(componentNormalizer["a" /* default */])(
  1630. components_nuxt_errorvue_type_script_lang_js_,
  1631. render,
  1632. staticRenderFns,
  1633. false,
  1634. injectStyles,
  1635. null,
  1636. "f161290c"
  1637. )
  1638. /* harmony default export */ var nuxt_error = (nuxt_error_component.exports);
  1639. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/components/nuxt.js
  1640. /* harmony default export */ var components_nuxt = ({
  1641. name: 'Nuxt',
  1642. components: {
  1643. NuxtChild: nuxt_child,
  1644. NuxtError: nuxt_error
  1645. },
  1646. props: {
  1647. nuxtChildKey: {
  1648. type: String,
  1649. default: undefined
  1650. },
  1651. keepAlive: Boolean,
  1652. keepAliveProps: {
  1653. type: Object,
  1654. default: undefined
  1655. },
  1656. name: {
  1657. type: String,
  1658. default: 'default'
  1659. }
  1660. },
  1661. errorCaptured(error) {
  1662. // if we receive and error while showing the NuxtError component
  1663. // capture the error and force an immediate update so we re-render
  1664. // without the NuxtError component
  1665. if (this.displayingNuxtError) {
  1666. this.errorFromNuxtError = error;
  1667. this.$forceUpdate();
  1668. }
  1669. },
  1670. computed: {
  1671. routerViewKey() {
  1672. // If nuxtChildKey prop is given or current route has children
  1673. if (typeof this.nuxtChildKey !== 'undefined' || this.$route.matched.length > 1) {
  1674. return this.nuxtChildKey || compile(this.$route.matched[0].path)(this.$route.params);
  1675. }
  1676. const [matchedRoute] = this.$route.matched;
  1677. if (!matchedRoute) {
  1678. return this.$route.path;
  1679. }
  1680. const Component = matchedRoute.components.default;
  1681. if (Component && Component.options) {
  1682. const {
  1683. options
  1684. } = Component;
  1685. if (options.key) {
  1686. return typeof options.key === 'function' ? options.key(this.$route) : options.key;
  1687. }
  1688. }
  1689. const strict = /\/$/.test(matchedRoute.path);
  1690. return strict ? this.$route.path : this.$route.path.replace(/\/$/, '');
  1691. }
  1692. },
  1693. beforeCreate() {
  1694. external_vue_default.a.util.defineReactive(this, 'nuxt', this.$root.$options.nuxt);
  1695. },
  1696. render(h) {
  1697. // if there is no error
  1698. if (!this.nuxt.err) {
  1699. // Directly return nuxt child
  1700. return h('NuxtChild', {
  1701. key: this.routerViewKey,
  1702. props: this.$props
  1703. });
  1704. }
  1705. // if an error occurred within NuxtError show a simple
  1706. // error message instead to prevent looping
  1707. if (this.errorFromNuxtError) {
  1708. this.$nextTick(() => this.errorFromNuxtError = false);
  1709. return h('div', {}, [h('h2', 'An error occurred while showing the error page'), h('p', 'Unfortunately an error occurred and while showing the error page another error occurred'), h('p', `Error details: ${this.errorFromNuxtError.toString()}`), h('nuxt-link', {
  1710. props: {
  1711. to: '/'
  1712. }
  1713. }, 'Go back to home')]);
  1714. }
  1715. // track if we are showing the NuxtError component
  1716. this.displayingNuxtError = true;
  1717. this.$nextTick(() => this.displayingNuxtError = false);
  1718. return h(nuxt_error, {
  1719. props: {
  1720. error: this.nuxt.err
  1721. }
  1722. });
  1723. }
  1724. });
  1725. // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/.cache/nuxt/components/nuxt-loading.vue?vue&type=script&lang=js&
  1726. /* harmony default export */ var nuxt_loadingvue_type_script_lang_js_ = ({
  1727. name: 'NuxtLoading',
  1728. data() {
  1729. return {
  1730. percent: 0,
  1731. show: false,
  1732. canSucceed: true,
  1733. reversed: false,
  1734. skipTimerCount: 0,
  1735. rtl: false,
  1736. throttle: 200,
  1737. duration: 5000,
  1738. continuous: false
  1739. };
  1740. },
  1741. computed: {
  1742. left() {
  1743. if (!this.continuous && !this.rtl) {
  1744. return false;
  1745. }
  1746. return this.rtl ? this.reversed ? '0px' : 'auto' : !this.reversed ? '0px' : 'auto';
  1747. }
  1748. },
  1749. beforeDestroy() {
  1750. this.clear();
  1751. },
  1752. methods: {
  1753. clear() {
  1754. clearInterval(this._timer);
  1755. clearTimeout(this._throttle);
  1756. this._timer = null;
  1757. },
  1758. start() {
  1759. this.clear();
  1760. this.percent = 0;
  1761. this.reversed = false;
  1762. this.skipTimerCount = 0;
  1763. this.canSucceed = true;
  1764. if (this.throttle) {
  1765. this._throttle = setTimeout(() => this.startTimer(), this.throttle);
  1766. } else {
  1767. this.startTimer();
  1768. }
  1769. return this;
  1770. },
  1771. set(num) {
  1772. this.show = true;
  1773. this.canSucceed = true;
  1774. this.percent = Math.min(100, Math.max(0, Math.floor(num)));
  1775. return this;
  1776. },
  1777. get() {
  1778. return this.percent;
  1779. },
  1780. increase(num) {
  1781. this.percent = Math.min(100, Math.floor(this.percent + num));
  1782. return this;
  1783. },
  1784. decrease(num) {
  1785. this.percent = Math.max(0, Math.floor(this.percent - num));
  1786. return this;
  1787. },
  1788. pause() {
  1789. clearInterval(this._timer);
  1790. return this;
  1791. },
  1792. resume() {
  1793. this.startTimer();
  1794. return this;
  1795. },
  1796. finish() {
  1797. this.percent = this.reversed ? 0 : 100;
  1798. this.hide();
  1799. return this;
  1800. },
  1801. hide() {
  1802. this.clear();
  1803. setTimeout(() => {
  1804. this.show = false;
  1805. this.$nextTick(() => {
  1806. this.percent = 0;
  1807. this.reversed = false;
  1808. });
  1809. }, 500);
  1810. return this;
  1811. },
  1812. fail(error) {
  1813. this.canSucceed = false;
  1814. return this;
  1815. },
  1816. startTimer() {
  1817. if (!this.show) {
  1818. this.show = true;
  1819. }
  1820. if (typeof this._cut === 'undefined') {
  1821. this._cut = 10000 / Math.floor(this.duration);
  1822. }
  1823. this._timer = setInterval(() => {
  1824. /**
  1825. * When reversing direction skip one timers
  1826. * so 0, 100 are displayed for two iterations
  1827. * also disable css width transitioning
  1828. * which otherwise interferes and shows
  1829. * a jojo effect
  1830. */
  1831. if (this.skipTimerCount > 0) {
  1832. this.skipTimerCount--;
  1833. return;
  1834. }
  1835. if (this.reversed) {
  1836. this.decrease(this._cut);
  1837. } else {
  1838. this.increase(this._cut);
  1839. }
  1840. if (this.continuous) {
  1841. if (this.percent >= 100) {
  1842. this.skipTimerCount = 1;
  1843. this.reversed = !this.reversed;
  1844. } else if (this.percent <= 0) {
  1845. this.skipTimerCount = 1;
  1846. this.reversed = !this.reversed;
  1847. }
  1848. }
  1849. }, 100);
  1850. }
  1851. },
  1852. render(h) {
  1853. let el = h(false);
  1854. if (this.show) {
  1855. el = h('div', {
  1856. staticClass: 'nuxt-progress',
  1857. class: {
  1858. 'nuxt-progress-notransition': this.skipTimerCount > 0,
  1859. 'nuxt-progress-failed': !this.canSucceed
  1860. },
  1861. style: {
  1862. width: this.percent + '%',
  1863. left: this.left
  1864. }
  1865. });
  1866. }
  1867. return el;
  1868. }
  1869. });
  1870. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/components/nuxt-loading.vue?vue&type=script&lang=js&
  1871. /* harmony default export */ var components_nuxt_loadingvue_type_script_lang_js_ = (nuxt_loadingvue_type_script_lang_js_);
  1872. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/components/nuxt-loading.vue
  1873. var nuxt_loading_render, nuxt_loading_staticRenderFns
  1874. function nuxt_loading_injectStyles (context) {
  1875. var style0 = __webpack_require__(16)
  1876. if (style0.__inject__) style0.__inject__(context)
  1877. }
  1878. /* normalize component */
  1879. var nuxt_loading_component = Object(componentNormalizer["a" /* default */])(
  1880. components_nuxt_loadingvue_type_script_lang_js_,
  1881. nuxt_loading_render,
  1882. nuxt_loading_staticRenderFns,
  1883. false,
  1884. nuxt_loading_injectStyles,
  1885. null,
  1886. "6779722e"
  1887. )
  1888. /* harmony default export */ var nuxt_loading = (nuxt_loading_component.exports);
  1889. // EXTERNAL MODULE: ./assets/css/normalize.css
  1890. var normalize = __webpack_require__(18);
  1891. // EXTERNAL MODULE: ./assets/css/base.scss
  1892. var css_base = __webpack_require__(20);
  1893. // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./layouts/default.vue?vue&type=template&id=678c62c5&
  1894. var defaultvue_type_template_id_678c62c5_render = function render() {
  1895. var _vm = this,
  1896. _c = _vm._self._c;
  1897. return _c('div', [_vm._ssrNode("<nav class=\"header navbar\"><div class=\"container\"><div class=\"navbar-header\"><a href=\"/\" class=\"logo\"><h1>艾斯佰丽</h1> <img src=\"/img/logo.png\" alt=\"艾斯佰丽\" class=\"only-pc\"> <img src=\"/img/logo3.png\" alt=\"艾斯佰丽\" class=\"only-mobile\"></a> <div data-toggle=\"collapse\" data-target=\"#navbar-collapse\" aria-expanded=\"false\" class=\"only-mobile navbar-toggle active\"><span class=\"name\">菜单</span> <span class=\"icon-bar\"></span></div></div> <div id=\"navbar-collapse\" class=\"navbar-collapse\"><ul class=\"nav clearfix\">" + _vm._ssrList(_vm.navbar, function (nav) {
  1898. return "<li" + _vm._ssrClass(null, {
  1899. dropdown: nav.children,
  1900. active: _vm.isActive(nav)
  1901. }) + ">" + (nav.children ? "<a data-toggle=\"dropdown\" href=\"javascript:void(0)\" class=\"dropdown-toggle only-mobile\">" + _vm._ssrEscape(_vm._s(nav.name) + "\n ") + "</a> <a" + _vm._ssrAttr("href", nav.link) + _vm._ssrAttr("target", nav.target) + " class=\"only-pc\"><span>" + _vm._ssrEscape(_vm._s(nav.name)) + "</span> <span>" + _vm._ssrEscape(_vm._s(nav.subname)) + "</span></a> <ul class=\"dropdown-menu\"><li class=\"only-mobile\"><a" + _vm._ssrAttr("href", nav.link) + _vm._ssrAttr("target", nav.target) + ">" + _vm._ssrEscape(_vm._s(nav.name)) + "</a></li> " + _vm._ssrList(nav.children, function (subNav) {
  1902. return subNav.children ? "<li><a href=\"javascript:void(0)\" class=\"submenu-toggle\">" + _vm._ssrEscape(_vm._s(subNav.name)) + "</a> <ul class=\"dropdown-submenu clearfix\">" + _vm._ssrList(subNav.children, function (lastNav) {
  1903. return "<li><a" + _vm._ssrAttr("href", lastNav.link) + _vm._ssrAttr("target", lastNav.target) + ">" + _vm._ssrEscape(_vm._s(lastNav.name)) + "</a></li>";
  1904. }) + "</ul></li>" : "<li><a" + _vm._ssrAttr("href", subNav.link) + _vm._ssrAttr("target", subNav.target) + ">" + _vm._ssrEscape(_vm._s(subNav.name)) + "</a></li>";
  1905. }) + "</ul>" : "<a" + _vm._ssrAttr("href", nav.link) + "><span>" + _vm._ssrEscape(_vm._s(nav.name)) + "</span> <span>" + _vm._ssrEscape(_vm._s(nav.subname)) + "</span></a>") + "</li>";
  1906. }) + "</ul></div></div></nav> "), _c('nuxt'), _vm._ssrNode(" "), _vm._ssrNode("<div class=\"footer\">", "</div>", [_vm._ssrNode("<div class=\"container clearfix\">", "</div>", [_vm._ssrNode("<div class=\"logo only-mobile\"><img src=\"/img/logo3.png\" alt> <img src=\"/img/logo-ross.png\" alt></div> <div class=\"title only-mobile\">关于我们</div> <div class=\"section\"><div class=\"logo only-pc\"><img src=\"/img/logo3.png\" alt> <img src=\"/img/logo-ross.png\" alt></div> <div class=\"item contact\">\n 深圳艾斯佰丽生物科技有限公司\n </div> <div class=\"item address\">广东省深圳市福田区卓越世纪中心四号楼32层</div> <div class=\"item mobile\">0755-23769340</div> <div class=\"item site\">http://www.spainross.com</div></div> "), _vm._ssrNode("<ul class=\"nav first\">", "</ul>", [_vm._ssrNode("<li>", "</li>", [_c('nuxt-link', {
  1907. attrs: {
  1908. "to": "/about.html"
  1909. }
  1910. }, [_vm._v("艾斯佰丽")])], 1), _vm._ssrNode(" <li><a href=\"/brand.html\">品牌中心</a></li> <li><a href=\"/product/binary-premium.html\">binary premium</a></li> <li><a href=\"/product/kestos.html\">kestos T2</a></li> <li><a href=\"/product/intradermik.html\">intradermik</a></li> <li><a href=\"/product/rollaction.html\">rollaction</a></li>")], 2), _vm._ssrNode(" <ul class=\"nav second\"><li><a href=\"/product/mesobiolift.html\">Mesobiolift RF</a></li> <li><a href=\"/product/diactivplus.html\">Diactivplus</a></li> <li><a href=\"https://zp.caimei365.com/12/ross\" target=\"_blank\">正品认证系统</a></li> <li><a href=\"/cooperative.html\">合作加盟</a></li> <li><a href=\"/contact.html\">联系我们</a></li></ul> <div class=\"qrcode-content\"><div class=\"qrcode\"><img src=\"/img/qrcode1.png\" alt=\"二维码\"> <div class=\"tip\">西班牙ROS'S</div></div> <div class=\"qrcode\"><img src=\"/img/qrcode2.png\" alt=\"二维码\"> <div class=\"tip\">正品认证系统</div></div></div>")], 2), _vm._ssrNode(" <div class=\"line\"></div> <div class=\"copyright\"><a href=\"https://www.caimei365.com/\" target=\"_blank\">本网站由采美365网提供技术支持</a> <span>Copyright ©2019</span> <span>acebelleshenzhen.com</span> <span>版权所有\n <a href=\"https://beian.miit.gov.cn/\" target=\"_blank\">粤ICP备2020131296号</a></span></div> <div style=\"width: 300px; margin: -12px auto; padding: 20px 0;display: flex;\"><a target=\"_blank\" href=\"https://www.beian.gov.cn/portal/registerSystemInfo?recordcode=44030402006354\" style=\"\\n display: inline-block;\\n text-decoration: none;\\n height: 20px;\\n line-height: 20px;\\n \"><img src=\"/img/beian.png\" style=\"float: left\"> <p style=\"float: left;height: 20px;line-height: 20px; margin: 0px 0px 0px 5px;color: #939393 !important;\">\n 粤公网安备 44030402006354号\n </p></a></div>")], 2)], 2);
  1911. };
  1912. var defaultvue_type_template_id_678c62c5_staticRenderFns = [];
  1913. // CONCATENATED MODULE: ./layouts/default.vue?vue&type=template&id=678c62c5&
  1914. // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./layouts/default.vue?vue&type=script&lang=js&
  1915. /* harmony default export */ var defaultvue_type_script_lang_js_ = ({
  1916. data() {
  1917. return {
  1918. navbar: [{
  1919. name: "首页",
  1920. link: "/index.html",
  1921. target: "_self",
  1922. subname: "Home"
  1923. }, {
  1924. name: "艾斯佰丽",
  1925. link: "/about.html",
  1926. target: "_self",
  1927. subname: "About Us"
  1928. }, {
  1929. name: "品牌中心",
  1930. link: "/brand.html",
  1931. target: "_self",
  1932. subname: "Brand",
  1933. children: [{
  1934. name: "ROS'S介绍",
  1935. link: "/brand/ross.html",
  1936. target: "_self"
  1937. }, {
  1938. name: "产品系列",
  1939. target: "_self",
  1940. children: [{
  1941. name: "Binary Premium",
  1942. link: "/product/binary-premium.html",
  1943. target: "_self"
  1944. }, {
  1945. name: "Diactivplus",
  1946. link: "/product/diactivplus.html",
  1947. target: "_self"
  1948. }, {
  1949. name: "Intradermik",
  1950. link: "/product/intradermik.html",
  1951. target: "_self"
  1952. }, {
  1953. name: "Mesobiolift RF",
  1954. link: "/product/mesobiolift.html",
  1955. target: "_self"
  1956. }, {
  1957. name: "Rollaction",
  1958. link: "/product/rollaction.html",
  1959. target: "_self"
  1960. }, {
  1961. name: "Kestos T2",
  1962. link: "/product/kestos.html",
  1963. target: "_self"
  1964. }]
  1965. }, {
  1966. name: "案例展示",
  1967. link: "/case.html",
  1968. target: "_self"
  1969. }, {
  1970. name: "授权认证",
  1971. link: "https://zp.caimei365.com/12/ross",
  1972. target: "_blank"
  1973. }]
  1974. }, {
  1975. name: "合作加盟",
  1976. link: "/cooperation.html",
  1977. target: "_self",
  1978. subname: "Cooperation",
  1979. children: [{
  1980. name: "品牌实力",
  1981. link: "/cooperation.html?index=1",
  1982. target: "_self"
  1983. }, {
  1984. name: "提供支持",
  1985. link: "/cooperation.html?index=2",
  1986. target: "_self"
  1987. }, {
  1988. name: "服务模式",
  1989. link: "/cooperation.html?index=3",
  1990. target: "_self"
  1991. }, {
  1992. name: "在线咨询",
  1993. link: "/cooperation.html?index=4",
  1994. target: "_self"
  1995. }]
  1996. }, {
  1997. name: "新闻动态",
  1998. link: "/news.html",
  1999. target: "_self",
  2000. subname: "News"
  2001. }, {
  2002. name: "联系我们",
  2003. link: "/contact.html",
  2004. target: "_self",
  2005. subname: "Contact Us",
  2006. children: [{
  2007. name: "联系方式",
  2008. link: "/contact/consult.html",
  2009. target: "_self"
  2010. }, {
  2011. name: "人才招聘",
  2012. link: "/contact/job.html",
  2013. target: "_self"
  2014. }]
  2015. }]
  2016. };
  2017. },
  2018. methods: {
  2019. isActive(nav) {
  2020. // return window.location.href.indexOf(nav) > -1
  2021. return this.$route.fullPath.indexOf(nav.link) > -1;
  2022. }
  2023. }
  2024. });
  2025. // CONCATENATED MODULE: ./layouts/default.vue?vue&type=script&lang=js&
  2026. /* harmony default export */ var layouts_defaultvue_type_script_lang_js_ = (defaultvue_type_script_lang_js_);
  2027. // CONCATENATED MODULE: ./layouts/default.vue
  2028. /* normalize component */
  2029. var default_component = Object(componentNormalizer["a" /* default */])(
  2030. layouts_defaultvue_type_script_lang_js_,
  2031. defaultvue_type_template_id_678c62c5_render,
  2032. defaultvue_type_template_id_678c62c5_staticRenderFns,
  2033. false,
  2034. null,
  2035. null,
  2036. "98dabdb6"
  2037. )
  2038. /* harmony default export */ var layouts_default = (default_component.exports);
  2039. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/App.js
  2040. const layouts = {
  2041. "_default": sanitizeComponent(layouts_default)
  2042. };
  2043. /* harmony default export */ var App = ({
  2044. render(h, props) {
  2045. const loadingEl = h('NuxtLoading', {
  2046. ref: 'loading'
  2047. });
  2048. const layoutEl = h(this.layout || 'nuxt');
  2049. const templateEl = h('div', {
  2050. domProps: {
  2051. id: '__layout'
  2052. },
  2053. key: this.layoutName
  2054. }, [layoutEl]);
  2055. const transitionEl = h('transition', {
  2056. props: {
  2057. name: 'layout',
  2058. mode: 'out-in'
  2059. },
  2060. on: {
  2061. beforeEnter(el) {
  2062. // Ensure to trigger scroll event after calling scrollBehavior
  2063. window.$nuxt.$nextTick(() => {
  2064. window.$nuxt.$emit('triggerScroll');
  2065. });
  2066. }
  2067. }
  2068. }, [templateEl]);
  2069. return h('div', {
  2070. domProps: {
  2071. id: '__nuxt'
  2072. }
  2073. }, [loadingEl, transitionEl]);
  2074. },
  2075. data: () => ({
  2076. isOnline: true,
  2077. layout: null,
  2078. layoutName: '',
  2079. nbFetching: 0
  2080. }),
  2081. beforeCreate() {
  2082. external_vue_default.a.util.defineReactive(this, 'nuxt', this.$options.nuxt);
  2083. },
  2084. created() {
  2085. // Add this.$nuxt in child instances
  2086. this.$root.$options.$nuxt = this;
  2087. if (false) {}
  2088. // Add $nuxt.error()
  2089. this.error = this.nuxt.error;
  2090. // Add $nuxt.context
  2091. this.context = this.$options.context;
  2092. },
  2093. async mounted() {
  2094. this.$loading = this.$refs.loading;
  2095. if (this.isPreview) {
  2096. if (this.$store && this.$store._actions.nuxtServerInit) {
  2097. this.$loading.start();
  2098. await this.$store.dispatch('nuxtServerInit', this.context);
  2099. }
  2100. await this.refresh();
  2101. this.$loading.finish();
  2102. }
  2103. },
  2104. watch: {
  2105. 'nuxt.err': 'errorChanged'
  2106. },
  2107. computed: {
  2108. isOffline() {
  2109. return !this.isOnline;
  2110. },
  2111. isFetching() {
  2112. return this.nbFetching > 0;
  2113. },
  2114. isPreview() {
  2115. return Boolean(this.$options.previewData);
  2116. }
  2117. },
  2118. methods: {
  2119. refreshOnlineStatus() {
  2120. if (false) {}
  2121. },
  2122. async refresh() {
  2123. const pages = getMatchedComponentsInstances(this.$route);
  2124. if (!pages.length) {
  2125. return;
  2126. }
  2127. this.$loading.start();
  2128. const promises = pages.map(page => {
  2129. const p = [];
  2130. // Old fetch
  2131. if (page.$options.fetch && page.$options.fetch.length) {
  2132. p.push(promisify(page.$options.fetch, this.context));
  2133. }
  2134. if (page.$fetch) {
  2135. p.push(page.$fetch());
  2136. } else {
  2137. // Get all component instance to call $fetch
  2138. for (const component of getChildrenComponentInstancesUsingFetch(page.$vnode.componentInstance)) {
  2139. p.push(component.$fetch());
  2140. }
  2141. }
  2142. if (page.$options.asyncData) {
  2143. p.push(promisify(page.$options.asyncData, this.context).then(newData => {
  2144. for (const key in newData) {
  2145. external_vue_default.a.set(page.$data, key, newData[key]);
  2146. }
  2147. }));
  2148. }
  2149. return Promise.all(p);
  2150. });
  2151. try {
  2152. await Promise.all(promises);
  2153. } catch (error) {
  2154. this.$loading.fail(error);
  2155. globalHandleError(error);
  2156. this.error(error);
  2157. }
  2158. this.$loading.finish();
  2159. },
  2160. errorChanged() {
  2161. if (this.nuxt.err) {
  2162. if (this.$loading) {
  2163. if (this.$loading.fail) {
  2164. this.$loading.fail(this.nuxt.err);
  2165. }
  2166. if (this.$loading.finish) {
  2167. this.$loading.finish();
  2168. }
  2169. }
  2170. let errorLayout = (nuxt_error.options || nuxt_error).layout;
  2171. if (typeof errorLayout === 'function') {
  2172. errorLayout = errorLayout(this.context);
  2173. }
  2174. this.setLayout(errorLayout);
  2175. }
  2176. },
  2177. setLayout(layout) {
  2178. if (!layout || !layouts['_' + layout]) {
  2179. layout = 'default';
  2180. }
  2181. this.layoutName = layout;
  2182. this.layout = layouts['_' + layout];
  2183. return this.layout;
  2184. },
  2185. loadLayout(layout) {
  2186. if (!layout || !layouts['_' + layout]) {
  2187. layout = 'default';
  2188. }
  2189. return Promise.resolve(layouts['_' + layout]);
  2190. },
  2191. getRouterBase() {
  2192. return Object(external_ufo_["withoutTrailingSlash"])(this.$router.options.base);
  2193. },
  2194. getRoutePath(route = '/') {
  2195. const base = this.getRouterBase();
  2196. return Object(external_ufo_["withoutTrailingSlash"])(Object(external_ufo_["withoutBase"])(Object(external_ufo_["parsePath"])(route).pathname, base));
  2197. },
  2198. getStaticAssetsPath(route = '/') {
  2199. const {
  2200. staticAssetsBase
  2201. } = window.__NUXT__;
  2202. return urlJoin(staticAssetsBase, this.getRoutePath(route));
  2203. },
  2204. async fetchStaticManifest() {
  2205. return window.__NUXT_IMPORT__('manifest.js', Object(external_ufo_["normalizeURL"])(urlJoin(this.getStaticAssetsPath(), 'manifest.js')));
  2206. },
  2207. setPagePayload(payload) {
  2208. this._pagePayload = payload;
  2209. this._fetchCounters = {};
  2210. },
  2211. async fetchPayload(route, prefetch) {
  2212. const path = Object(external_ufo_["decode"])(this.getRoutePath(route));
  2213. const manifest = await this.fetchStaticManifest();
  2214. if (!manifest.routes.includes(path)) {
  2215. if (!prefetch) {
  2216. this.setPagePayload(false);
  2217. }
  2218. throw new Error(`Route ${path} is not pre-rendered`);
  2219. }
  2220. const src = urlJoin(this.getStaticAssetsPath(route), 'payload.js');
  2221. try {
  2222. const payload = await window.__NUXT_IMPORT__(path, Object(external_ufo_["normalizeURL"])(src));
  2223. if (!prefetch) {
  2224. this.setPagePayload(payload);
  2225. }
  2226. return payload;
  2227. } catch (err) {
  2228. if (!prefetch) {
  2229. this.setPagePayload(false);
  2230. }
  2231. throw err;
  2232. }
  2233. }
  2234. },
  2235. components: {
  2236. NuxtLoading: nuxt_loading
  2237. }
  2238. });
  2239. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/components/index.js
  2240. const ContactConsult = () => __webpack_require__.e(/* import() | components/contact-consult */ 1).then(__webpack_require__.bind(null, 29)).then(c => wrapFunctional(c.default || c));
  2241. const ContactJoinUs = () => __webpack_require__.e(/* import() | components/contact-join-us */ 2).then(__webpack_require__.bind(null, 55)).then(c => wrapFunctional(c.default || c));
  2242. // nuxt/nuxt.js#8607
  2243. function wrapFunctional(options) {
  2244. if (!options || !options.functional) {
  2245. return options;
  2246. }
  2247. const propKeys = Array.isArray(options.props) ? options.props : Object.keys(options.props || {});
  2248. return {
  2249. render(h) {
  2250. const attrs = {};
  2251. const props = {};
  2252. for (const key in this.$attrs) {
  2253. if (propKeys.includes(key)) {
  2254. props[key] = this.$attrs[key];
  2255. } else {
  2256. attrs[key] = this.$attrs[key];
  2257. }
  2258. }
  2259. return h(options, {
  2260. on: this.$listeners,
  2261. attrs,
  2262. props,
  2263. scopedSlots: this.$scopedSlots
  2264. }, this.$slots.default);
  2265. }
  2266. };
  2267. }
  2268. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/components/plugin.js
  2269. for (const name in components_namespaceObject) {
  2270. external_vue_default.a.component(name, components_namespaceObject[name]);
  2271. external_vue_default.a.component('Lazy' + name, components_namespaceObject[name]);
  2272. }
  2273. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/index.js
  2274. /* Plugins */
  2275. // Source: .\\components\\plugin.js (mode: 'all')
  2276. // Component: <ClientOnly>
  2277. external_vue_default.a.component(external_vue_client_only_default.a.name, external_vue_client_only_default.a);
  2278. // TODO: Remove in Nuxt 3: <NoSsr>
  2279. external_vue_default.a.component(external_vue_no_ssr_default.a.name, {
  2280. ...external_vue_no_ssr_default.a,
  2281. render(h, ctx) {
  2282. if (false) {}
  2283. return external_vue_no_ssr_default.a.render(h, ctx);
  2284. }
  2285. });
  2286. // Component: <NuxtChild>
  2287. external_vue_default.a.component(nuxt_child.name, nuxt_child);
  2288. external_vue_default.a.component('NChild', nuxt_child);
  2289. // Component NuxtLink is imported in server.js or client.js
  2290. // Component: <Nuxt>
  2291. external_vue_default.a.component(components_nuxt.name, components_nuxt);
  2292. Object.defineProperty(external_vue_default.a.prototype, '$nuxt', {
  2293. get() {
  2294. const globalNuxt = this.$root.$options.$nuxt;
  2295. if (false) {}
  2296. return globalNuxt;
  2297. },
  2298. configurable: true
  2299. });
  2300. external_vue_default.a.use(external_vue_meta_default.a, {
  2301. "keyName": "head",
  2302. "attribute": "data-n-head",
  2303. "ssrAttribute": "data-n-head-ssr",
  2304. "tagIDKeyName": "hid"
  2305. });
  2306. const defaultTransition = {
  2307. "name": "page",
  2308. "mode": "out-in",
  2309. "appear": false,
  2310. "appearClass": "appear",
  2311. "appearActiveClass": "appear-active",
  2312. "appearToClass": "appear-to"
  2313. };
  2314. async function createApp(ssrContext, config = {}) {
  2315. const router = await createRouter(ssrContext, config);
  2316. // Create Root instance
  2317. // here we inject the router and store to all child components,
  2318. // making them available everywhere as `this.$router` and `this.$store`.
  2319. const app = {
  2320. head: {
  2321. "title": "caimei-authentic-website",
  2322. "htmlAttrs": {
  2323. "lang": "en"
  2324. },
  2325. "meta": [{
  2326. "charset": "utf-8"
  2327. }, {
  2328. "name": "keywords",
  2329. "content": "ross、西班牙ross、ross智能体疗、云智能体疗、ross产康、ross美容"
  2330. }, {
  2331. "hid": "description",
  2332. "name": "description",
  2333. "content": "西班牙ROSS坚持创新45年,专注人体健康发展、致力于免疫力提升,为您的健康保驾护航,助你更美更健康!"
  2334. }, {
  2335. "name": "viewport",
  2336. "content": "width=device-width, initial-scale=1"
  2337. }, {
  2338. "name": "format-detection",
  2339. "content": "telephone=no"
  2340. }, {
  2341. "name": "viewport",
  2342. "content": "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"
  2343. }],
  2344. "link": [{
  2345. "rel": "icon",
  2346. "type": "image\u002Fx-icon",
  2347. "href": "\u002Ffavicon.ico"
  2348. }, {
  2349. "rel": "stylesheet",
  2350. "href": "\u002Flibs\u002Fswiper\u002Fswiper.min.css"
  2351. }],
  2352. "script": [{
  2353. "src": "\u002Flibs\u002Fjquery-3.6.0.min.js"
  2354. }, {
  2355. "src": "\u002Flibs\u002Fswiper\u002Fswiper.min.js"
  2356. }, {
  2357. "src": "\u002Fjs\u002Fmain.js"
  2358. }],
  2359. "style": []
  2360. },
  2361. router,
  2362. nuxt: {
  2363. defaultTransition,
  2364. transitions: [defaultTransition],
  2365. setTransitions(transitions) {
  2366. if (!Array.isArray(transitions)) {
  2367. transitions = [transitions];
  2368. }
  2369. transitions = transitions.map(transition => {
  2370. if (!transition) {
  2371. transition = defaultTransition;
  2372. } else if (typeof transition === 'string') {
  2373. transition = Object.assign({}, defaultTransition, {
  2374. name: transition
  2375. });
  2376. } else {
  2377. transition = Object.assign({}, defaultTransition, transition);
  2378. }
  2379. return transition;
  2380. });
  2381. this.$options.nuxt.transitions = transitions;
  2382. return transitions;
  2383. },
  2384. err: null,
  2385. dateErr: null,
  2386. error(err) {
  2387. err = err || null;
  2388. app.context._errored = Boolean(err);
  2389. err = err ? normalizeError(err) : null;
  2390. let nuxt = app.nuxt; // to work with @vue/composition-api, see https://github.com/nuxt/nuxt.js/issues/6517#issuecomment-573280207
  2391. if (this) {
  2392. nuxt = this.nuxt || this.$options.nuxt;
  2393. }
  2394. nuxt.dateErr = Date.now();
  2395. nuxt.err = err;
  2396. // Used in src/server.js
  2397. if (ssrContext) {
  2398. ssrContext.nuxt.error = err;
  2399. }
  2400. return err;
  2401. }
  2402. },
  2403. ...App
  2404. };
  2405. const next = ssrContext ? ssrContext.next : location => app.router.push(location);
  2406. // Resolve route
  2407. let route;
  2408. if (ssrContext) {
  2409. route = router.resolve(ssrContext.url).route;
  2410. } else {
  2411. const path = getLocation(router.options.base, router.options.mode);
  2412. route = router.resolve(path).route;
  2413. }
  2414. // Set context to app.context
  2415. await setContext(app, {
  2416. route,
  2417. next,
  2418. error: app.nuxt.error.bind(app),
  2419. payload: ssrContext ? ssrContext.payload : undefined,
  2420. req: ssrContext ? ssrContext.req : undefined,
  2421. res: ssrContext ? ssrContext.res : undefined,
  2422. beforeRenderFns: ssrContext ? ssrContext.beforeRenderFns : undefined,
  2423. ssrContext
  2424. });
  2425. function inject(key, value) {
  2426. if (!key) {
  2427. throw new Error('inject(key, value) has no key provided');
  2428. }
  2429. if (value === undefined) {
  2430. throw new Error(`inject('${key}', value) has no value provided`);
  2431. }
  2432. key = '$' + key;
  2433. // Add into app
  2434. app[key] = value;
  2435. // Add into context
  2436. if (!app.context[key]) {
  2437. app.context[key] = value;
  2438. }
  2439. // Check if plugin not already installed
  2440. const installKey = '__nuxt_' + key + '_installed__';
  2441. if (external_vue_default.a[installKey]) {
  2442. return;
  2443. }
  2444. external_vue_default.a[installKey] = true;
  2445. // Call Vue.use() to install the plugin into vm
  2446. external_vue_default.a.use(() => {
  2447. if (!Object.prototype.hasOwnProperty.call(external_vue_default.a.prototype, key)) {
  2448. Object.defineProperty(external_vue_default.a.prototype, key, {
  2449. get() {
  2450. return this.$root.$options[key];
  2451. }
  2452. });
  2453. }
  2454. });
  2455. }
  2456. // Inject runtime config as $config
  2457. inject('config', config);
  2458. // Add enablePreview(previewData = {}) in context for plugins
  2459. if (false) {}
  2460. // Plugin execution
  2461. if (typeof /* Cannot get final name for export "default" in "./node_modules/.cache/nuxt/components/plugin.js" (known exports: , known reexports: ) */ undefined === 'function') {
  2462. await /* Cannot get final name for export "default" in "./node_modules/.cache/nuxt/components/plugin.js" (known exports: , known reexports: ) */ undefined(app.context, inject);
  2463. }
  2464. // Lock enablePreview in context
  2465. if (false) {}
  2466. // Wait for async component to be resolved first
  2467. await new Promise((resolve, reject) => {
  2468. // Ignore 404s rather than blindly replacing URL in browser
  2469. if (false) {}
  2470. router.replace(app.context.route.fullPath, resolve, err => {
  2471. // https://github.com/vuejs/vue-router/blob/v3.4.3/src/util/errors.js
  2472. if (!err._isRouter) return reject(err);
  2473. if (err.type !== 2 /* NavigationFailureType.redirected */) return resolve();
  2474. // navigated to a different route in router guard
  2475. const unregister = router.afterEach(async (to, from) => {
  2476. if ( true && ssrContext && ssrContext.url) {
  2477. ssrContext.url = to.fullPath;
  2478. }
  2479. app.context.route = await getRouteData(to);
  2480. app.context.params = to.params || {};
  2481. app.context.query = to.query || {};
  2482. unregister();
  2483. resolve();
  2484. });
  2485. });
  2486. });
  2487. return {
  2488. app,
  2489. router
  2490. };
  2491. }
  2492. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/components/nuxt-link.server.js
  2493. /* harmony default export */ var nuxt_link_server = ({
  2494. name: 'NuxtLink',
  2495. extends: external_vue_default.a.component('RouterLink'),
  2496. props: {
  2497. prefetch: {
  2498. type: Boolean,
  2499. default: true
  2500. },
  2501. noPrefetch: {
  2502. type: Boolean,
  2503. default: false
  2504. }
  2505. }
  2506. });
  2507. // CONCATENATED MODULE: ./node_modules/.cache/nuxt/server.js
  2508. // should be included after ./index.js
  2509. // Update serverPrefetch strategy
  2510. external_vue_default.a.config.optionMergeStrategies.serverPrefetch = external_vue_default.a.config.optionMergeStrategies.created;
  2511. // Fetch mixin
  2512. if (!external_vue_default.a.__nuxt__fetch__mixin__) {
  2513. external_vue_default.a.mixin(fetch_server);
  2514. external_vue_default.a.__nuxt__fetch__mixin__ = true;
  2515. }
  2516. // Component: <NuxtLink>
  2517. external_vue_default.a.component(nuxt_link_server.name, nuxt_link_server);
  2518. external_vue_default.a.component('NLink', nuxt_link_server);
  2519. if (!global.fetch) {
  2520. global.fetch = external_node_fetch_default.a;
  2521. }
  2522. const noopApp = () => new external_vue_default.a({
  2523. render: h => h('div', {
  2524. domProps: {
  2525. id: '__nuxt'
  2526. }
  2527. })
  2528. });
  2529. const createNext = ssrContext => opts => {
  2530. // If static target, render on client-side
  2531. ssrContext.redirected = opts;
  2532. if (ssrContext.target === 'static' || !ssrContext.res) {
  2533. ssrContext.nuxt.serverRendered = false;
  2534. return;
  2535. }
  2536. let fullPath = Object(external_ufo_["withQuery"])(opts.path, opts.query);
  2537. const $config = ssrContext.runtimeConfig || {};
  2538. const routerBase = $config._app && $config._app.basePath || '/';
  2539. if (!fullPath.startsWith('http') && routerBase !== '/' && !fullPath.startsWith(routerBase)) {
  2540. fullPath = Object(external_ufo_["joinURL"])(routerBase, fullPath);
  2541. }
  2542. // Avoid loop redirect
  2543. if (decodeURI(fullPath) === decodeURI(ssrContext.url)) {
  2544. ssrContext.redirected = false;
  2545. return;
  2546. }
  2547. ssrContext.res.writeHead(opts.status, {
  2548. Location: Object(external_ufo_["normalizeURL"])(fullPath)
  2549. });
  2550. ssrContext.res.end();
  2551. };
  2552. // This exported function will be called by `bundleRenderer`.
  2553. // This is where we perform data-prefetching to determine the
  2554. // state of our application before actually rendering it.
  2555. // Since data fetching is async, this function is expected to
  2556. // return a Promise that resolves to the app instance.
  2557. /* harmony default export */ var server = __webpack_exports__["default"] = (async ssrContext => {
  2558. // Create ssrContext.next for simulate next() of beforeEach() when wanted to redirect
  2559. ssrContext.redirected = false;
  2560. ssrContext.next = createNext(ssrContext);
  2561. // Used for beforeNuxtRender({ Components, nuxtState })
  2562. ssrContext.beforeRenderFns = [];
  2563. // Nuxt object (window.{{globals.context}}, defaults to window.__NUXT__)
  2564. ssrContext.nuxt = {
  2565. layout: 'default',
  2566. data: [],
  2567. fetch: {},
  2568. error: null,
  2569. serverRendered: true,
  2570. routePath: ''
  2571. };
  2572. ssrContext.fetchCounters = {};
  2573. // Remove query from url is static target
  2574. if (ssrContext.url) {
  2575. ssrContext.url = ssrContext.url.split('?')[0];
  2576. }
  2577. // Public runtime config
  2578. ssrContext.nuxt.config = ssrContext.runtimeConfig.public;
  2579. if (ssrContext.nuxt.config._app) {
  2580. __webpack_require__.p = Object(external_ufo_["joinURL"])(ssrContext.nuxt.config._app.cdnURL, ssrContext.nuxt.config._app.assetsPath);
  2581. }
  2582. // Create the app definition and the instance (created for each request)
  2583. const {
  2584. app,
  2585. router
  2586. } = await createApp(ssrContext, ssrContext.runtimeConfig.private);
  2587. const _app = new external_vue_default.a(app);
  2588. // Add ssr route path to nuxt context so we can account for page navigation between ssr and csr
  2589. ssrContext.nuxt.routePath = app.context.route.path;
  2590. // Add meta infos (used in renderer.js)
  2591. ssrContext.meta = _app.$meta();
  2592. // Keep asyncData for each matched component in ssrContext (used in app/utils.js via this.$ssrContext)
  2593. ssrContext.asyncData = {};
  2594. const beforeRender = async () => {
  2595. // Call beforeNuxtRender() methods
  2596. await Promise.all(ssrContext.beforeRenderFns.map(fn => promisify(fn, {
  2597. Components,
  2598. nuxtState: ssrContext.nuxt
  2599. })));
  2600. };
  2601. const renderErrorPage = async () => {
  2602. // Don't server-render the page in static target
  2603. if (ssrContext.target === 'static') {
  2604. ssrContext.nuxt.serverRendered = false;
  2605. }
  2606. // Load layout for error page
  2607. const layout = (nuxt_error.options || nuxt_error).layout;
  2608. const errLayout = typeof layout === 'function' ? layout.call(nuxt_error, app.context) : layout;
  2609. ssrContext.nuxt.layout = errLayout || 'default';
  2610. await _app.loadLayout(errLayout);
  2611. _app.setLayout(errLayout);
  2612. await beforeRender();
  2613. return _app;
  2614. };
  2615. const render404Page = () => {
  2616. app.context.error({
  2617. statusCode: 404,
  2618. path: ssrContext.url,
  2619. message: 'This page could not be found'
  2620. });
  2621. return renderErrorPage();
  2622. };
  2623. // Components are already resolved by setContext -> getRouteData (app/utils.js)
  2624. const Components = getMatchedComponents(app.context.route);
  2625. /*
  2626. ** Call global middleware (nuxt.config.js)
  2627. */
  2628. let midd = [];
  2629. midd = midd.map(name => {
  2630. if (typeof name === 'function') {
  2631. return name;
  2632. }
  2633. if (typeof nuxt_middleware[name] !== 'function') {
  2634. app.context.error({
  2635. statusCode: 500,
  2636. message: 'Unknown middleware ' + name
  2637. });
  2638. }
  2639. return nuxt_middleware[name];
  2640. });
  2641. await middlewareSeries(midd, app.context);
  2642. // ...If there is a redirect or an error, stop the process
  2643. if (ssrContext.redirected) {
  2644. return noopApp();
  2645. }
  2646. if (ssrContext.nuxt.error) {
  2647. return renderErrorPage();
  2648. }
  2649. /*
  2650. ** Set layout
  2651. */
  2652. let layout = Components.length ? Components[0].options.layout : nuxt_error.layout;
  2653. if (typeof layout === 'function') {
  2654. layout = layout(app.context);
  2655. }
  2656. await _app.loadLayout(layout);
  2657. if (ssrContext.nuxt.error) {
  2658. return renderErrorPage();
  2659. }
  2660. layout = _app.setLayout(layout);
  2661. ssrContext.nuxt.layout = _app.layoutName;
  2662. /*
  2663. ** Call middleware (layout + pages)
  2664. */
  2665. midd = [];
  2666. layout = sanitizeComponent(layout);
  2667. if (layout.options.middleware) {
  2668. midd = midd.concat(layout.options.middleware);
  2669. }
  2670. Components.forEach(Component => {
  2671. if (Component.options.middleware) {
  2672. midd = midd.concat(Component.options.middleware);
  2673. }
  2674. });
  2675. midd = midd.map(name => {
  2676. if (typeof name === 'function') {
  2677. return name;
  2678. }
  2679. if (typeof nuxt_middleware[name] !== 'function') {
  2680. app.context.error({
  2681. statusCode: 500,
  2682. message: 'Unknown middleware ' + name
  2683. });
  2684. }
  2685. return nuxt_middleware[name];
  2686. });
  2687. await middlewareSeries(midd, app.context);
  2688. // ...If there is a redirect or an error, stop the process
  2689. if (ssrContext.redirected) {
  2690. return noopApp();
  2691. }
  2692. if (ssrContext.nuxt.error) {
  2693. return renderErrorPage();
  2694. }
  2695. /*
  2696. ** Call .validate()
  2697. */
  2698. let isValid = true;
  2699. try {
  2700. for (const Component of Components) {
  2701. if (typeof Component.options.validate !== 'function') {
  2702. continue;
  2703. }
  2704. isValid = await Component.options.validate(app.context);
  2705. if (!isValid) {
  2706. break;
  2707. }
  2708. }
  2709. } catch (validationError) {
  2710. // ...If .validate() threw an error
  2711. app.context.error({
  2712. statusCode: validationError.statusCode || '500',
  2713. message: validationError.message
  2714. });
  2715. return renderErrorPage();
  2716. }
  2717. // ...If .validate() returned false
  2718. if (!isValid) {
  2719. // Render a 404 error page
  2720. return render404Page();
  2721. }
  2722. // If no Components found, returns 404
  2723. if (!Components.length) {
  2724. return render404Page();
  2725. }
  2726. // Call asyncData & fetch hooks on components matched by the route.
  2727. const asyncDatas = await Promise.all(Components.map(Component => {
  2728. const promises = [];
  2729. // Call asyncData(context)
  2730. if (Component.options.asyncData && typeof Component.options.asyncData === 'function') {
  2731. const promise = promisify(Component.options.asyncData, app.context);
  2732. promise.then(asyncDataResult => {
  2733. ssrContext.asyncData[Component.cid] = asyncDataResult;
  2734. applyAsyncData(Component);
  2735. return asyncDataResult;
  2736. });
  2737. promises.push(promise);
  2738. } else {
  2739. promises.push(null);
  2740. }
  2741. // Call fetch(context)
  2742. if (Component.options.fetch && Component.options.fetch.length) {
  2743. promises.push(Component.options.fetch(app.context));
  2744. } else {
  2745. promises.push(null);
  2746. }
  2747. return Promise.all(promises);
  2748. }));
  2749. // datas are the first row of each
  2750. ssrContext.nuxt.data = asyncDatas.map(r => r[0] || {});
  2751. // ...If there is a redirect or an error, stop the process
  2752. if (ssrContext.redirected) {
  2753. return noopApp();
  2754. }
  2755. if (ssrContext.nuxt.error) {
  2756. return renderErrorPage();
  2757. }
  2758. // Call beforeNuxtRender methods & add store state
  2759. await beforeRender();
  2760. return _app;
  2761. });
  2762. /***/ }),
  2763. /* 23 */
  2764. /***/ (function(module, exports) {
  2765. module.exports = require("url");
  2766. /***/ })
  2767. /******/ ]);
  2768. //# sourceMappingURL=server.js.map