server.mjs 65 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513
  1. import { effectScope, shallowReactive, reactive, getCurrentScope, hasInjectionContext, getCurrentInstance, inject, toRef, version, unref, h, shallowRef, isReadonly, isRef, isShallow, isReactive, toRaw, defineComponent, computed, ref, provide, Suspense, nextTick, mergeProps, Transition, watch, Fragment, withCtx, createVNode, useSSRContext, defineAsyncComponent, onErrorCaptured, onServerPrefetch, resolveDynamicComponent, createApp } from "vue";
  2. import { $fetch } from "ofetch";
  3. import { baseURL } from "#internal/nuxt/paths";
  4. import { createHooks } from "hookable";
  5. import { getContext } from "unctx";
  6. import { sanitizeStatusCode, createError as createError$1, appendHeader } from "h3";
  7. import { getActiveHead, CapoPlugin } from "unhead";
  8. import { defineHeadPlugin } from "@unhead/shared";
  9. import { START_LOCATION, createMemoryHistory, createRouter as createRouter$1, useRoute as useRoute$1, RouterView } from "vue-router";
  10. import { toRouteMatcher, createRouter } from "radix3";
  11. import { defu } from "defu";
  12. import { hasProtocol, isScriptProtocol, joinURL, withQuery } from "ufo";
  13. import { createPinia } from "pinia";
  14. import { ssrRenderAttrs, ssrRenderComponent, ssrRenderAttr, ssrRenderSuspense, ssrRenderVNode } from "vue/server-renderer";
  15. if (!globalThis.$fetch) {
  16. globalThis.$fetch = $fetch.create({
  17. baseURL: baseURL()
  18. });
  19. }
  20. const appLayoutTransition = false;
  21. const appPageTransition = false;
  22. const appKeepalive = false;
  23. const nuxtLinkDefaults = { "componentName": "NuxtLink", "prefetch": true, "prefetchOn": { "visibility": true } };
  24. const appId = "nuxt-app";
  25. function getNuxtAppCtx(id = appId) {
  26. return getContext(id, {
  27. asyncContext: false
  28. });
  29. }
  30. const NuxtPluginIndicator = "__nuxt_plugin";
  31. function createNuxtApp(options) {
  32. var _a;
  33. let hydratingCount = 0;
  34. const nuxtApp = {
  35. _id: options.id || appId || "nuxt-app",
  36. _scope: effectScope(),
  37. provide: void 0,
  38. globalName: "nuxt",
  39. versions: {
  40. get nuxt() {
  41. return "3.15.2";
  42. },
  43. get vue() {
  44. return nuxtApp.vueApp.version;
  45. }
  46. },
  47. payload: shallowReactive({
  48. ...((_a = options.ssrContext) == null ? void 0 : _a.payload) || {},
  49. data: shallowReactive({}),
  50. state: reactive({}),
  51. once: /* @__PURE__ */ new Set(),
  52. _errors: shallowReactive({})
  53. }),
  54. static: {
  55. data: {}
  56. },
  57. runWithContext(fn) {
  58. if (nuxtApp._scope.active && !getCurrentScope()) {
  59. return nuxtApp._scope.run(() => callWithNuxt(nuxtApp, fn));
  60. }
  61. return callWithNuxt(nuxtApp, fn);
  62. },
  63. isHydrating: false,
  64. deferHydration() {
  65. if (!nuxtApp.isHydrating) {
  66. return () => {
  67. };
  68. }
  69. hydratingCount++;
  70. let called = false;
  71. return () => {
  72. if (called) {
  73. return;
  74. }
  75. called = true;
  76. hydratingCount--;
  77. if (hydratingCount === 0) {
  78. nuxtApp.isHydrating = false;
  79. return nuxtApp.callHook("app:suspense:resolve");
  80. }
  81. };
  82. },
  83. _asyncDataPromises: {},
  84. _asyncData: shallowReactive({}),
  85. _payloadRevivers: {},
  86. ...options
  87. };
  88. {
  89. nuxtApp.payload.serverRendered = true;
  90. }
  91. if (nuxtApp.ssrContext) {
  92. nuxtApp.payload.path = nuxtApp.ssrContext.url;
  93. nuxtApp.ssrContext.nuxt = nuxtApp;
  94. nuxtApp.ssrContext.payload = nuxtApp.payload;
  95. nuxtApp.ssrContext.config = {
  96. public: nuxtApp.ssrContext.runtimeConfig.public,
  97. app: nuxtApp.ssrContext.runtimeConfig.app
  98. };
  99. }
  100. nuxtApp.hooks = createHooks();
  101. nuxtApp.hook = nuxtApp.hooks.hook;
  102. {
  103. const contextCaller = async function(hooks, args) {
  104. for (const hook of hooks) {
  105. await nuxtApp.runWithContext(() => hook(...args));
  106. }
  107. };
  108. nuxtApp.hooks.callHook = (name, ...args) => nuxtApp.hooks.callHookWith(contextCaller, name, ...args);
  109. }
  110. nuxtApp.callHook = nuxtApp.hooks.callHook;
  111. nuxtApp.provide = (name, value) => {
  112. const $name = "$" + name;
  113. defineGetter(nuxtApp, $name, value);
  114. defineGetter(nuxtApp.vueApp.config.globalProperties, $name, value);
  115. };
  116. defineGetter(nuxtApp.vueApp, "$nuxt", nuxtApp);
  117. defineGetter(nuxtApp.vueApp.config.globalProperties, "$nuxt", nuxtApp);
  118. const runtimeConfig = options.ssrContext.runtimeConfig;
  119. nuxtApp.provide("config", runtimeConfig);
  120. return nuxtApp;
  121. }
  122. function registerPluginHooks(nuxtApp, plugin2) {
  123. if (plugin2.hooks) {
  124. nuxtApp.hooks.addHooks(plugin2.hooks);
  125. }
  126. }
  127. async function applyPlugin(nuxtApp, plugin2) {
  128. if (typeof plugin2 === "function") {
  129. const { provide: provide2 } = await nuxtApp.runWithContext(() => plugin2(nuxtApp)) || {};
  130. if (provide2 && typeof provide2 === "object") {
  131. for (const key in provide2) {
  132. nuxtApp.provide(key, provide2[key]);
  133. }
  134. }
  135. }
  136. }
  137. async function applyPlugins(nuxtApp, plugins2) {
  138. var _a, _b, _c, _d;
  139. const resolvedPlugins = [];
  140. const unresolvedPlugins = [];
  141. const parallels = [];
  142. const errors = [];
  143. let promiseDepth = 0;
  144. async function executePlugin(plugin2) {
  145. var _a2;
  146. const unresolvedPluginsForThisPlugin = ((_a2 = plugin2.dependsOn) == null ? void 0 : _a2.filter((name) => plugins2.some((p) => p._name === name) && !resolvedPlugins.includes(name))) ?? [];
  147. if (unresolvedPluginsForThisPlugin.length > 0) {
  148. unresolvedPlugins.push([new Set(unresolvedPluginsForThisPlugin), plugin2]);
  149. } else {
  150. const promise = applyPlugin(nuxtApp, plugin2).then(async () => {
  151. if (plugin2._name) {
  152. resolvedPlugins.push(plugin2._name);
  153. await Promise.all(unresolvedPlugins.map(async ([dependsOn, unexecutedPlugin]) => {
  154. if (dependsOn.has(plugin2._name)) {
  155. dependsOn.delete(plugin2._name);
  156. if (dependsOn.size === 0) {
  157. promiseDepth++;
  158. await executePlugin(unexecutedPlugin);
  159. }
  160. }
  161. }));
  162. }
  163. });
  164. if (plugin2.parallel) {
  165. parallels.push(promise.catch((e) => errors.push(e)));
  166. } else {
  167. await promise;
  168. }
  169. }
  170. }
  171. for (const plugin2 of plugins2) {
  172. if (((_a = nuxtApp.ssrContext) == null ? void 0 : _a.islandContext) && ((_b = plugin2.env) == null ? void 0 : _b.islands) === false) {
  173. continue;
  174. }
  175. registerPluginHooks(nuxtApp, plugin2);
  176. }
  177. for (const plugin2 of plugins2) {
  178. if (((_c = nuxtApp.ssrContext) == null ? void 0 : _c.islandContext) && ((_d = plugin2.env) == null ? void 0 : _d.islands) === false) {
  179. continue;
  180. }
  181. await executePlugin(plugin2);
  182. }
  183. await Promise.all(parallels);
  184. if (promiseDepth) {
  185. for (let i = 0; i < promiseDepth; i++) {
  186. await Promise.all(parallels);
  187. }
  188. }
  189. if (errors.length) {
  190. throw errors[0];
  191. }
  192. }
  193. // @__NO_SIDE_EFFECTS__
  194. function defineNuxtPlugin(plugin2) {
  195. if (typeof plugin2 === "function") {
  196. return plugin2;
  197. }
  198. const _name = plugin2._name || plugin2.name;
  199. delete plugin2.name;
  200. return Object.assign(plugin2.setup || (() => {
  201. }), plugin2, { [NuxtPluginIndicator]: true, _name });
  202. }
  203. function callWithNuxt(nuxt, setup, args) {
  204. const fn = () => setup();
  205. const nuxtAppCtx = getNuxtAppCtx(nuxt._id);
  206. {
  207. return nuxt.vueApp.runWithContext(() => nuxtAppCtx.callAsync(nuxt, fn));
  208. }
  209. }
  210. function tryUseNuxtApp(id) {
  211. var _a;
  212. let nuxtAppInstance;
  213. if (hasInjectionContext()) {
  214. nuxtAppInstance = (_a = getCurrentInstance()) == null ? void 0 : _a.appContext.app.$nuxt;
  215. }
  216. nuxtAppInstance = nuxtAppInstance || getNuxtAppCtx(id).tryUse();
  217. return nuxtAppInstance || null;
  218. }
  219. function useNuxtApp(id) {
  220. const nuxtAppInstance = tryUseNuxtApp(id);
  221. if (!nuxtAppInstance) {
  222. {
  223. throw new Error("[nuxt] instance unavailable");
  224. }
  225. }
  226. return nuxtAppInstance;
  227. }
  228. // @__NO_SIDE_EFFECTS__
  229. function useRuntimeConfig(_event) {
  230. return useNuxtApp().$config;
  231. }
  232. function defineGetter(obj, key, val) {
  233. Object.defineProperty(obj, key, { get: () => val });
  234. }
  235. const LayoutMetaSymbol = Symbol("layout-meta");
  236. const PageRouteSymbol = Symbol("route");
  237. const useRouter = () => {
  238. var _a;
  239. return (_a = useNuxtApp()) == null ? void 0 : _a.$router;
  240. };
  241. const useRoute = () => {
  242. if (hasInjectionContext()) {
  243. return inject(PageRouteSymbol, useNuxtApp()._route);
  244. }
  245. return useNuxtApp()._route;
  246. };
  247. // @__NO_SIDE_EFFECTS__
  248. function defineNuxtRouteMiddleware(middleware) {
  249. return middleware;
  250. }
  251. const isProcessingMiddleware = () => {
  252. try {
  253. if (useNuxtApp()._processingMiddleware) {
  254. return true;
  255. }
  256. } catch {
  257. return false;
  258. }
  259. return false;
  260. };
  261. const URL_QUOTE_RE = /"/g;
  262. const navigateTo = (to, options) => {
  263. if (!to) {
  264. to = "/";
  265. }
  266. const toPath = typeof to === "string" ? to : "path" in to ? resolveRouteObject(to) : useRouter().resolve(to).href;
  267. const isExternalHost = hasProtocol(toPath, { acceptRelative: true });
  268. const isExternal = (options == null ? void 0 : options.external) || isExternalHost;
  269. if (isExternal) {
  270. if (!(options == null ? void 0 : options.external)) {
  271. throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");
  272. }
  273. const { protocol } = new URL(toPath, "http://localhost");
  274. if (protocol && isScriptProtocol(protocol)) {
  275. throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`);
  276. }
  277. }
  278. const inMiddleware = isProcessingMiddleware();
  279. const router = useRouter();
  280. const nuxtApp = useNuxtApp();
  281. {
  282. if (nuxtApp.ssrContext) {
  283. const fullPath = typeof to === "string" || isExternal ? toPath : router.resolve(to).fullPath || "/";
  284. const location2 = isExternal ? toPath : joinURL((/* @__PURE__ */ useRuntimeConfig()).app.baseURL, fullPath);
  285. const redirect = async function(response) {
  286. await nuxtApp.callHook("app:redirected");
  287. const encodedLoc = location2.replace(URL_QUOTE_RE, "%22");
  288. const encodedHeader = encodeURL(location2, isExternalHost);
  289. nuxtApp.ssrContext._renderResponse = {
  290. statusCode: sanitizeStatusCode((options == null ? void 0 : options.redirectCode) || 302, 302),
  291. body: `<!DOCTYPE html><html><head><meta http-equiv="refresh" content="0; url=${encodedLoc}"></head></html>`,
  292. headers: { location: encodedHeader }
  293. };
  294. return response;
  295. };
  296. if (!isExternal && inMiddleware) {
  297. router.afterEach((final) => final.fullPath === fullPath ? redirect(false) : void 0);
  298. return to;
  299. }
  300. return redirect(!inMiddleware ? void 0 : (
  301. /* abort route navigation */
  302. false
  303. ));
  304. }
  305. }
  306. if (isExternal) {
  307. nuxtApp._scope.stop();
  308. if (options == null ? void 0 : options.replace) {
  309. (void 0).replace(toPath);
  310. } else {
  311. (void 0).href = toPath;
  312. }
  313. if (inMiddleware) {
  314. if (!nuxtApp.isHydrating) {
  315. return false;
  316. }
  317. return new Promise(() => {
  318. });
  319. }
  320. return Promise.resolve();
  321. }
  322. return (options == null ? void 0 : options.replace) ? router.replace(to) : router.push(to);
  323. };
  324. function resolveRouteObject(to) {
  325. return withQuery(to.path || "", to.query || {}) + (to.hash || "");
  326. }
  327. function encodeURL(location2, isExternalHost = false) {
  328. const url = new URL(location2, "http://localhost");
  329. if (!isExternalHost) {
  330. return url.pathname + url.search + url.hash;
  331. }
  332. if (location2.startsWith("//")) {
  333. return url.toString().replace(url.protocol, "");
  334. }
  335. return url.toString();
  336. }
  337. const NUXT_ERROR_SIGNATURE = "__nuxt_error";
  338. const useError = () => toRef(useNuxtApp().payload, "error");
  339. const showError = (error) => {
  340. const nuxtError = createError(error);
  341. try {
  342. const nuxtApp = useNuxtApp();
  343. const error2 = useError();
  344. if (false) ;
  345. error2.value = error2.value || nuxtError;
  346. } catch {
  347. throw nuxtError;
  348. }
  349. return nuxtError;
  350. };
  351. const isNuxtError = (error) => !!error && typeof error === "object" && NUXT_ERROR_SIGNATURE in error;
  352. const createError = (error) => {
  353. const nuxtError = createError$1(error);
  354. Object.defineProperty(nuxtError, NUXT_ERROR_SIGNATURE, {
  355. value: true,
  356. configurable: false,
  357. writable: false
  358. });
  359. return nuxtError;
  360. };
  361. version[0] === "3";
  362. function resolveUnref(r) {
  363. return typeof r === "function" ? r() : unref(r);
  364. }
  365. function resolveUnrefHeadInput(ref2) {
  366. if (ref2 instanceof Promise || ref2 instanceof Date || ref2 instanceof RegExp)
  367. return ref2;
  368. const root = resolveUnref(ref2);
  369. if (!ref2 || !root)
  370. return root;
  371. if (Array.isArray(root))
  372. return root.map((r) => resolveUnrefHeadInput(r));
  373. if (typeof root === "object") {
  374. const resolved = {};
  375. for (const k in root) {
  376. if (!Object.prototype.hasOwnProperty.call(root, k)) {
  377. continue;
  378. }
  379. if (k === "titleTemplate" || k[0] === "o" && k[1] === "n") {
  380. resolved[k] = unref(root[k]);
  381. continue;
  382. }
  383. resolved[k] = resolveUnrefHeadInput(root[k]);
  384. }
  385. return resolved;
  386. }
  387. return root;
  388. }
  389. defineHeadPlugin({
  390. hooks: {
  391. "entries:resolve": (ctx) => {
  392. for (const entry2 of ctx.entries)
  393. entry2.resolvedInput = resolveUnrefHeadInput(entry2.input);
  394. }
  395. }
  396. });
  397. const headSymbol = "usehead";
  398. const _global = typeof globalThis !== "undefined" ? globalThis : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
  399. const globalKey$1 = "__unhead_injection_handler__";
  400. function setHeadInjectionHandler(handler) {
  401. _global[globalKey$1] = handler;
  402. }
  403. function injectHead() {
  404. if (globalKey$1 in _global) {
  405. return _global[globalKey$1]();
  406. }
  407. const head = inject(headSymbol);
  408. if (!head && process.env.NODE_ENV !== "production")
  409. console.warn("Unhead is missing Vue context, falling back to shared context. This may have unexpected results.");
  410. return head || getActiveHead();
  411. }
  412. [CapoPlugin({ track: true })];
  413. const unhead_KgADcZ0jPj = /* @__PURE__ */ defineNuxtPlugin({
  414. name: "nuxt:head",
  415. enforce: "pre",
  416. setup(nuxtApp) {
  417. const head = nuxtApp.ssrContext.head;
  418. setHeadInjectionHandler(
  419. // need a fresh instance of the nuxt app to avoid parallel requests interfering with each other
  420. () => useNuxtApp().vueApp._context.provides.usehead
  421. );
  422. nuxtApp.vueApp.use(head);
  423. }
  424. });
  425. function createContext(opts = {}) {
  426. let currentInstance;
  427. let isSingleton = false;
  428. const checkConflict = (instance) => {
  429. if (currentInstance && currentInstance !== instance) {
  430. throw new Error("Context conflict");
  431. }
  432. };
  433. let als;
  434. if (opts.asyncContext) {
  435. const _AsyncLocalStorage = opts.AsyncLocalStorage || globalThis.AsyncLocalStorage;
  436. if (_AsyncLocalStorage) {
  437. als = new _AsyncLocalStorage();
  438. } else {
  439. console.warn("[unctx] `AsyncLocalStorage` is not provided.");
  440. }
  441. }
  442. const _getCurrentInstance = () => {
  443. if (als) {
  444. const instance = als.getStore();
  445. if (instance !== void 0) {
  446. return instance;
  447. }
  448. }
  449. return currentInstance;
  450. };
  451. return {
  452. use: () => {
  453. const _instance = _getCurrentInstance();
  454. if (_instance === void 0) {
  455. throw new Error("Context is not available");
  456. }
  457. return _instance;
  458. },
  459. tryUse: () => {
  460. return _getCurrentInstance();
  461. },
  462. set: (instance, replace) => {
  463. if (!replace) {
  464. checkConflict(instance);
  465. }
  466. currentInstance = instance;
  467. isSingleton = true;
  468. },
  469. unset: () => {
  470. currentInstance = void 0;
  471. isSingleton = false;
  472. },
  473. call: (instance, callback) => {
  474. checkConflict(instance);
  475. currentInstance = instance;
  476. try {
  477. return als ? als.run(instance, callback) : callback();
  478. } finally {
  479. if (!isSingleton) {
  480. currentInstance = void 0;
  481. }
  482. }
  483. },
  484. async callAsync(instance, callback) {
  485. currentInstance = instance;
  486. const onRestore = () => {
  487. currentInstance = instance;
  488. };
  489. const onLeave = () => currentInstance === instance ? onRestore : void 0;
  490. asyncHandlers.add(onLeave);
  491. try {
  492. const r = als ? als.run(instance, callback) : callback();
  493. if (!isSingleton) {
  494. currentInstance = void 0;
  495. }
  496. return await r;
  497. } finally {
  498. asyncHandlers.delete(onLeave);
  499. }
  500. }
  501. };
  502. }
  503. function createNamespace(defaultOpts = {}) {
  504. const contexts = {};
  505. return {
  506. get(key, opts = {}) {
  507. if (!contexts[key]) {
  508. contexts[key] = createContext({ ...defaultOpts, ...opts });
  509. }
  510. return contexts[key];
  511. }
  512. };
  513. }
  514. const _globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : {};
  515. const globalKey = "__unctx__";
  516. _globalThis[globalKey] || (_globalThis[globalKey] = createNamespace());
  517. const asyncHandlersKey = "__unctx_async_handlers__";
  518. const asyncHandlers = _globalThis[asyncHandlersKey] || (_globalThis[asyncHandlersKey] = /* @__PURE__ */ new Set());
  519. function executeAsync(function_) {
  520. const restores = [];
  521. for (const leaveHandler of asyncHandlers) {
  522. const restore2 = leaveHandler();
  523. if (restore2) {
  524. restores.push(restore2);
  525. }
  526. }
  527. const restore = () => {
  528. for (const restore2 of restores) {
  529. restore2();
  530. }
  531. };
  532. let awaitable = function_();
  533. if (awaitable && typeof awaitable === "object" && "catch" in awaitable) {
  534. awaitable = awaitable.catch((error) => {
  535. restore();
  536. throw error;
  537. });
  538. }
  539. return [awaitable, restore];
  540. }
  541. const ROUTE_KEY_PARENTHESES_RE$1 = /(:\w+)\([^)]+\)/g;
  542. const ROUTE_KEY_SYMBOLS_RE$1 = /(:\w+)[?+*]/g;
  543. const ROUTE_KEY_NORMAL_RE$1 = /:\w+/g;
  544. const interpolatePath = (route, match) => {
  545. return match.path.replace(ROUTE_KEY_PARENTHESES_RE$1, "$1").replace(ROUTE_KEY_SYMBOLS_RE$1, "$1").replace(ROUTE_KEY_NORMAL_RE$1, (r) => {
  546. var _a;
  547. return ((_a = route.params[r.slice(1)]) == null ? void 0 : _a.toString()) || "";
  548. });
  549. };
  550. const generateRouteKey$1 = (routeProps, override) => {
  551. const matchedRoute = routeProps.route.matched.find((m) => {
  552. var _a;
  553. return ((_a = m.components) == null ? void 0 : _a.default) === routeProps.Component.type;
  554. });
  555. const source = override ?? (matchedRoute == null ? void 0 : matchedRoute.meta.key) ?? (matchedRoute && interpolatePath(routeProps.route, matchedRoute));
  556. return typeof source === "function" ? source(routeProps.route) : source;
  557. };
  558. const wrapInKeepAlive = (props, children) => {
  559. return { default: () => children };
  560. };
  561. function toArray$1(value) {
  562. return Array.isArray(value) ? value : [value];
  563. }
  564. async function getRouteRules(arg) {
  565. const path = typeof arg === "string" ? arg : arg.path;
  566. {
  567. useNuxtApp().ssrContext._preloadManifest = true;
  568. const _routeRulesMatcher = toRouteMatcher(
  569. createRouter({ routes: (/* @__PURE__ */ useRuntimeConfig()).nitro.routeRules })
  570. );
  571. return defu({}, ..._routeRulesMatcher.matchAll(path).reverse());
  572. }
  573. }
  574. const __nuxt_page_meta$2 = {
  575. middleware: "auth"
  576. };
  577. const __nuxt_page_meta$1 = {
  578. middleware: "auth"
  579. };
  580. const __nuxt_page_meta = {
  581. middleware: "auth"
  582. };
  583. function handleHotUpdate(_router, _generateRoutes) {
  584. }
  585. const _routes = [
  586. {
  587. name: "advertising-adDetail",
  588. path: "/advertising/adDetail",
  589. component: () => import("./_nuxt/adDetail-JAkO5aWw.js")
  590. },
  591. {
  592. name: "advertising",
  593. path: "/advertising",
  594. component: () => import("./_nuxt/index-BdQfa8tl.js")
  595. },
  596. {
  597. name: "index",
  598. path: "/",
  599. component: () => import("./_nuxt/index-JESJt2hX.js")
  600. },
  601. {
  602. name: "login",
  603. path: "/login",
  604. component: () => import("./_nuxt/login-mprElTZX.js")
  605. },
  606. {
  607. name: "newsDetail-id",
  608. path: "/newsDetail/:id()",
  609. component: () => import("./_nuxt/_id_-DGsRr_Gx.js")
  610. },
  611. {
  612. name: "newsList-id",
  613. path: "/newsList/:id()",
  614. meta: __nuxt_page_meta$2,
  615. component: () => import("./_nuxt/_id_-BXX5OG16.js")
  616. },
  617. {
  618. name: "primaryNavigation-id",
  619. path: "/primaryNavigation/:id()",
  620. component: () => import("./_nuxt/_id_-pzScYQ3U.js")
  621. },
  622. {
  623. name: "register",
  624. path: "/register",
  625. component: () => import("./_nuxt/register-DR18Dcar.js")
  626. },
  627. {
  628. name: "search-search",
  629. path: "/search/search",
  630. meta: __nuxt_page_meta$1,
  631. component: () => import("./_nuxt/search-t2j6TM5I.js")
  632. },
  633. {
  634. name: "speciaArticle-id",
  635. path: "/speciaArticle/:id()",
  636. component: () => import("./_nuxt/_id_-BZxpC7J9.js")
  637. },
  638. {
  639. name: "specialList-id",
  640. path: "/specialList/:id()",
  641. meta: __nuxt_page_meta,
  642. component: () => import("./_nuxt/_id_-CF-6n6a1.js")
  643. },
  644. {
  645. name: "topic-id",
  646. path: "/topic/:id()",
  647. component: () => import("./_nuxt/_id_-DjOYAtbM.js")
  648. },
  649. {
  650. name: "topic",
  651. path: "/topic",
  652. component: () => import("./_nuxt/index-CLGwzU5C.js")
  653. },
  654. {
  655. name: "user-about",
  656. path: "/user/about",
  657. component: () => import("./_nuxt/about-BQoZ6Vl3.js")
  658. }
  659. ];
  660. const _wrapIf = (component, props, slots) => {
  661. props = props === true ? {} : props;
  662. return { default: () => {
  663. var _a;
  664. return props ? h(component, props, slots) : (_a = slots.default) == null ? void 0 : _a.call(slots);
  665. } };
  666. };
  667. const ROUTE_KEY_PARENTHESES_RE = /(:\w+)\([^)]+\)/g;
  668. const ROUTE_KEY_SYMBOLS_RE = /(:\w+)[?+*]/g;
  669. const ROUTE_KEY_NORMAL_RE = /:\w+/g;
  670. function generateRouteKey(route) {
  671. const source = (route == null ? void 0 : route.meta.key) ?? route.path.replace(ROUTE_KEY_PARENTHESES_RE, "$1").replace(ROUTE_KEY_SYMBOLS_RE, "$1").replace(ROUTE_KEY_NORMAL_RE, (r) => {
  672. var _a;
  673. return ((_a = route.params[r.slice(1)]) == null ? void 0 : _a.toString()) || "";
  674. });
  675. return typeof source === "function" ? source(route) : source;
  676. }
  677. function isChangingPage(to, from) {
  678. if (to === from || from === START_LOCATION) {
  679. return false;
  680. }
  681. if (generateRouteKey(to) !== generateRouteKey(from)) {
  682. return true;
  683. }
  684. const areComponentsSame = to.matched.every(
  685. (comp, index) => {
  686. var _a, _b;
  687. return comp.components && comp.components.default === ((_b = (_a = from.matched[index]) == null ? void 0 : _a.components) == null ? void 0 : _b.default);
  688. }
  689. );
  690. if (areComponentsSame) {
  691. return false;
  692. }
  693. return true;
  694. }
  695. const routerOptions0 = {
  696. scrollBehavior(to, from, savedPosition) {
  697. var _a;
  698. const nuxtApp = useNuxtApp();
  699. const behavior = ((_a = useRouter().options) == null ? void 0 : _a.scrollBehaviorType) ?? "auto";
  700. let position = savedPosition || void 0;
  701. const routeAllowsScrollToTop = typeof to.meta.scrollToTop === "function" ? to.meta.scrollToTop(to, from) : to.meta.scrollToTop;
  702. if (!position && from && to && routeAllowsScrollToTop !== false && isChangingPage(to, from)) {
  703. position = { left: 0, top: 0 };
  704. }
  705. if (to.path === from.path) {
  706. if (from.hash && !to.hash) {
  707. return { left: 0, top: 0 };
  708. }
  709. if (to.hash) {
  710. return { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior };
  711. }
  712. return false;
  713. }
  714. const hasTransition = (route) => !!(route.meta.pageTransition ?? appPageTransition);
  715. const hookToWait = hasTransition(from) && hasTransition(to) ? "page:transition:finish" : "page:finish";
  716. return new Promise((resolve) => {
  717. nuxtApp.hooks.hookOnce(hookToWait, async () => {
  718. await new Promise((resolve2) => setTimeout(resolve2, 0));
  719. if (to.hash) {
  720. position = { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior };
  721. }
  722. resolve(position);
  723. });
  724. });
  725. }
  726. };
  727. function _getHashElementScrollMarginTop(selector) {
  728. try {
  729. const elem = (void 0).querySelector(selector);
  730. if (elem) {
  731. return (Number.parseFloat(getComputedStyle(elem).scrollMarginTop) || 0) + (Number.parseFloat(getComputedStyle((void 0).documentElement).scrollPaddingTop) || 0);
  732. }
  733. } catch {
  734. }
  735. return 0;
  736. }
  737. const configRouterOptions = {
  738. hashMode: false,
  739. scrollBehaviorType: "auto"
  740. };
  741. const hashMode = false;
  742. const routerOptions = {
  743. ...configRouterOptions,
  744. ...routerOptions0
  745. };
  746. const validate = /* @__PURE__ */ defineNuxtRouteMiddleware(async (to) => {
  747. var _a;
  748. let __temp, __restore;
  749. if (!((_a = to.meta) == null ? void 0 : _a.validate)) {
  750. return;
  751. }
  752. const nuxtApp = useNuxtApp();
  753. const router = useRouter();
  754. const result = ([__temp, __restore] = executeAsync(() => Promise.resolve(to.meta.validate(to))), __temp = await __temp, __restore(), __temp);
  755. if (result === true) {
  756. return;
  757. }
  758. const error = createError({
  759. statusCode: result && result.statusCode || 404,
  760. statusMessage: result && result.statusMessage || `Page Not Found: ${to.fullPath}`,
  761. data: {
  762. path: to.fullPath
  763. }
  764. });
  765. const unsub = router.beforeResolve((final) => {
  766. unsub();
  767. if (final === to) {
  768. const unsub2 = router.afterEach(async () => {
  769. unsub2();
  770. await nuxtApp.runWithContext(() => showError(error));
  771. });
  772. return false;
  773. }
  774. });
  775. });
  776. const manifest_45route_45rule = /* @__PURE__ */ defineNuxtRouteMiddleware(async (to) => {
  777. {
  778. return;
  779. }
  780. });
  781. const globalMiddleware = [
  782. validate,
  783. manifest_45route_45rule
  784. ];
  785. const namedMiddleware = {
  786. auth: () => import("./_nuxt/auth-DRRsgHvx.js")
  787. };
  788. const plugin = /* @__PURE__ */ defineNuxtPlugin({
  789. name: "nuxt:router",
  790. enforce: "pre",
  791. async setup(nuxtApp) {
  792. var _a, _b, _c;
  793. let __temp, __restore;
  794. let routerBase = (/* @__PURE__ */ useRuntimeConfig()).app.baseURL;
  795. const history = ((_a = routerOptions.history) == null ? void 0 : _a.call(routerOptions, routerBase)) ?? createMemoryHistory(routerBase);
  796. const routes2 = routerOptions.routes ? ([__temp, __restore] = executeAsync(() => routerOptions.routes(_routes)), __temp = await __temp, __restore(), __temp) ?? _routes : _routes;
  797. let startPosition;
  798. const router = createRouter$1({
  799. ...routerOptions,
  800. scrollBehavior: (to, from, savedPosition) => {
  801. if (from === START_LOCATION) {
  802. startPosition = savedPosition;
  803. return;
  804. }
  805. if (routerOptions.scrollBehavior) {
  806. router.options.scrollBehavior = routerOptions.scrollBehavior;
  807. if ("scrollRestoration" in (void 0).history) {
  808. const unsub = router.beforeEach(() => {
  809. unsub();
  810. (void 0).history.scrollRestoration = "manual";
  811. });
  812. }
  813. return routerOptions.scrollBehavior(to, START_LOCATION, startPosition || savedPosition);
  814. }
  815. },
  816. history,
  817. routes: routes2
  818. });
  819. handleHotUpdate(router, routerOptions.routes ? routerOptions.routes : (routes22) => routes22);
  820. nuxtApp.vueApp.use(router);
  821. const previousRoute = shallowRef(router.currentRoute.value);
  822. router.afterEach((_to, from) => {
  823. previousRoute.value = from;
  824. });
  825. Object.defineProperty(nuxtApp.vueApp.config.globalProperties, "previousRoute", {
  826. get: () => previousRoute.value
  827. });
  828. const initialURL = nuxtApp.ssrContext.url;
  829. const _route = shallowRef(router.currentRoute.value);
  830. const syncCurrentRoute = () => {
  831. _route.value = router.currentRoute.value;
  832. };
  833. nuxtApp.hook("page:finish", syncCurrentRoute);
  834. router.afterEach((to, from) => {
  835. var _a2, _b2, _c2, _d;
  836. if (((_b2 = (_a2 = to.matched[0]) == null ? void 0 : _a2.components) == null ? void 0 : _b2.default) === ((_d = (_c2 = from.matched[0]) == null ? void 0 : _c2.components) == null ? void 0 : _d.default)) {
  837. syncCurrentRoute();
  838. }
  839. });
  840. const route = {};
  841. for (const key in _route.value) {
  842. Object.defineProperty(route, key, {
  843. get: () => _route.value[key],
  844. enumerable: true
  845. });
  846. }
  847. nuxtApp._route = shallowReactive(route);
  848. nuxtApp._middleware = nuxtApp._middleware || {
  849. global: [],
  850. named: {}
  851. };
  852. useError();
  853. if (!((_b = nuxtApp.ssrContext) == null ? void 0 : _b.islandContext)) {
  854. router.afterEach(async (to, _from, failure) => {
  855. delete nuxtApp._processingMiddleware;
  856. if (failure) {
  857. await nuxtApp.callHook("page:loading:end");
  858. }
  859. if ((failure == null ? void 0 : failure.type) === 4) {
  860. return;
  861. }
  862. if (to.redirectedFrom && to.fullPath !== initialURL) {
  863. await nuxtApp.runWithContext(() => navigateTo(to.fullPath || "/"));
  864. }
  865. });
  866. }
  867. try {
  868. if (true) {
  869. ;
  870. [__temp, __restore] = executeAsync(() => router.push(initialURL)), await __temp, __restore();
  871. ;
  872. }
  873. ;
  874. [__temp, __restore] = executeAsync(() => router.isReady()), await __temp, __restore();
  875. ;
  876. } catch (error2) {
  877. [__temp, __restore] = executeAsync(() => nuxtApp.runWithContext(() => showError(error2))), await __temp, __restore();
  878. }
  879. const resolvedInitialRoute = router.currentRoute.value;
  880. syncCurrentRoute();
  881. if ((_c = nuxtApp.ssrContext) == null ? void 0 : _c.islandContext) {
  882. return { provide: { router } };
  883. }
  884. const initialLayout = nuxtApp.payload.state._layout;
  885. router.beforeEach(async (to, from) => {
  886. var _a2, _b2;
  887. await nuxtApp.callHook("page:loading:start");
  888. to.meta = reactive(to.meta);
  889. if (nuxtApp.isHydrating && initialLayout && !isReadonly(to.meta.layout)) {
  890. to.meta.layout = initialLayout;
  891. }
  892. nuxtApp._processingMiddleware = true;
  893. if (!((_a2 = nuxtApp.ssrContext) == null ? void 0 : _a2.islandContext)) {
  894. const middlewareEntries = /* @__PURE__ */ new Set([...globalMiddleware, ...nuxtApp._middleware.global]);
  895. for (const component of to.matched) {
  896. const componentMiddleware = component.meta.middleware;
  897. if (!componentMiddleware) {
  898. continue;
  899. }
  900. for (const entry2 of toArray$1(componentMiddleware)) {
  901. middlewareEntries.add(entry2);
  902. }
  903. }
  904. {
  905. const routeRules = await nuxtApp.runWithContext(() => getRouteRules({ path: to.path }));
  906. if (routeRules.appMiddleware) {
  907. for (const key in routeRules.appMiddleware) {
  908. if (routeRules.appMiddleware[key]) {
  909. middlewareEntries.add(key);
  910. } else {
  911. middlewareEntries.delete(key);
  912. }
  913. }
  914. }
  915. }
  916. for (const entry2 of middlewareEntries) {
  917. const middleware = typeof entry2 === "string" ? nuxtApp._middleware.named[entry2] || await ((_b2 = namedMiddleware[entry2]) == null ? void 0 : _b2.call(namedMiddleware).then((r) => r.default || r)) : entry2;
  918. if (!middleware) {
  919. throw new Error(`Unknown route middleware: '${entry2}'.`);
  920. }
  921. const result = await nuxtApp.runWithContext(() => middleware(to, from));
  922. {
  923. if (result === false || result instanceof Error) {
  924. const error2 = result || createError$1({
  925. statusCode: 404,
  926. statusMessage: `Page Not Found: ${initialURL}`
  927. });
  928. await nuxtApp.runWithContext(() => showError(error2));
  929. return false;
  930. }
  931. }
  932. if (result === true) {
  933. continue;
  934. }
  935. if (result || result === false) {
  936. return result;
  937. }
  938. }
  939. }
  940. });
  941. router.onError(async () => {
  942. delete nuxtApp._processingMiddleware;
  943. await nuxtApp.callHook("page:loading:end");
  944. });
  945. router.afterEach(async (to, _from) => {
  946. if (to.matched.length === 0) {
  947. await nuxtApp.runWithContext(() => showError(createError$1({
  948. statusCode: 404,
  949. fatal: false,
  950. statusMessage: `Page not found: ${to.fullPath}`,
  951. data: {
  952. path: to.fullPath
  953. }
  954. })));
  955. }
  956. });
  957. nuxtApp.hooks.hookOnce("app:created", async () => {
  958. try {
  959. if ("name" in resolvedInitialRoute) {
  960. resolvedInitialRoute.name = void 0;
  961. }
  962. await router.replace({
  963. ...resolvedInitialRoute,
  964. force: true
  965. });
  966. router.options.scrollBehavior = routerOptions.scrollBehavior;
  967. } catch (error2) {
  968. await nuxtApp.runWithContext(() => showError(error2));
  969. }
  970. });
  971. return { provide: { router } };
  972. }
  973. });
  974. function definePayloadReducer(name, reduce) {
  975. {
  976. useNuxtApp().ssrContext._payloadReducers[name] = reduce;
  977. }
  978. }
  979. const reducers = [
  980. ["NuxtError", (data) => isNuxtError(data) && data.toJSON()],
  981. ["EmptyShallowRef", (data) => isRef(data) && isShallow(data) && !data.value && (typeof data.value === "bigint" ? "0n" : JSON.stringify(data.value) || "_")],
  982. ["EmptyRef", (data) => isRef(data) && !data.value && (typeof data.value === "bigint" ? "0n" : JSON.stringify(data.value) || "_")],
  983. ["ShallowRef", (data) => isRef(data) && isShallow(data) && data.value],
  984. ["ShallowReactive", (data) => isReactive(data) && isShallow(data) && toRaw(data)],
  985. ["Ref", (data) => isRef(data) && data.value],
  986. ["Reactive", (data) => isReactive(data) && toRaw(data)]
  987. ];
  988. const revive_payload_server_eJ33V7gbc6 = /* @__PURE__ */ defineNuxtPlugin({
  989. name: "nuxt:revive-payload:server",
  990. setup() {
  991. for (const [reducer, fn] of reducers) {
  992. definePayloadReducer(reducer, fn);
  993. }
  994. }
  995. });
  996. const components_plugin_KR1HBZs4kY = /* @__PURE__ */ defineNuxtPlugin({
  997. name: "nuxt:global-components"
  998. });
  999. const element_plus_elM4AXquKi = /* @__PURE__ */ defineNuxtPlugin(() => {
  1000. });
  1001. const pinia_Uphuq97G1L = /* @__PURE__ */ defineNuxtPlugin((nuxtApp) => {
  1002. const pinia = createPinia();
  1003. nuxtApp.vueApp.use(pinia);
  1004. return {
  1005. provide: {
  1006. pinia
  1007. }
  1008. };
  1009. });
  1010. function toArray(value) {
  1011. return Array.isArray(value) ? value : [value];
  1012. }
  1013. function useRequestEvent(nuxtApp = useNuxtApp()) {
  1014. var _a;
  1015. return (_a = nuxtApp.ssrContext) == null ? void 0 : _a.event;
  1016. }
  1017. function prerenderRoutes(path) {
  1018. if (!import.meta.prerender) {
  1019. return;
  1020. }
  1021. const paths = toArray(path);
  1022. appendHeader(useRequestEvent(), "x-nitro-prerender", paths.map((p) => encodeURIComponent(p)).join(", "));
  1023. }
  1024. let routes;
  1025. const prerender_server_LXx1wM9sKF = /* @__PURE__ */ defineNuxtPlugin(async () => {
  1026. let __temp, __restore;
  1027. if (!import.meta.prerender || hashMode) {
  1028. return;
  1029. }
  1030. if (routes && !routes.length) {
  1031. return;
  1032. }
  1033. (/* @__PURE__ */ useRuntimeConfig()).nitro.routeRules;
  1034. routes || (routes = Array.from(processRoutes(([__temp, __restore] = executeAsync(() => {
  1035. var _a;
  1036. return (_a = routerOptions.routes) == null ? void 0 : _a.call(routerOptions, _routes);
  1037. }), __temp = await __temp, __restore(), __temp) ?? _routes)));
  1038. const batch = routes.splice(0, 10);
  1039. prerenderRoutes(batch);
  1040. });
  1041. const OPTIONAL_PARAM_RE = /^\/?:.*(?:\?|\(\.\*\)\*)$/;
  1042. function shouldPrerender(path) {
  1043. return true;
  1044. }
  1045. function processRoutes(routes2, currentPath = "/", routesToPrerender = /* @__PURE__ */ new Set()) {
  1046. var _a;
  1047. for (const route of routes2) {
  1048. if (OPTIONAL_PARAM_RE.test(route.path) && !((_a = route.children) == null ? void 0 : _a.length) && shouldPrerender()) {
  1049. routesToPrerender.add(currentPath);
  1050. }
  1051. if (route.path.includes(":")) {
  1052. continue;
  1053. }
  1054. const fullPath = joinURL(currentPath, route.path);
  1055. {
  1056. routesToPrerender.add(fullPath);
  1057. }
  1058. if (route.children) {
  1059. processRoutes(route.children, fullPath, routesToPrerender);
  1060. }
  1061. }
  1062. return routesToPrerender;
  1063. }
  1064. const plugins = [
  1065. unhead_KgADcZ0jPj,
  1066. plugin,
  1067. revive_payload_server_eJ33V7gbc6,
  1068. components_plugin_KR1HBZs4kY,
  1069. element_plus_elM4AXquKi,
  1070. pinia_Uphuq97G1L,
  1071. prerender_server_LXx1wM9sKF
  1072. ];
  1073. const layouts = {};
  1074. const LayoutLoader = defineComponent({
  1075. name: "LayoutLoader",
  1076. inheritAttrs: false,
  1077. props: {
  1078. name: String,
  1079. layoutProps: Object
  1080. },
  1081. setup(props, context) {
  1082. return () => h(layouts[props.name], props.layoutProps, context.slots);
  1083. }
  1084. });
  1085. const __nuxt_component_0 = defineComponent({
  1086. name: "NuxtLayout",
  1087. inheritAttrs: false,
  1088. props: {
  1089. name: {
  1090. type: [String, Boolean, Object],
  1091. default: null
  1092. },
  1093. fallback: {
  1094. type: [String, Object],
  1095. default: null
  1096. }
  1097. },
  1098. setup(props, context) {
  1099. const nuxtApp = useNuxtApp();
  1100. const injectedRoute = inject(PageRouteSymbol);
  1101. const route = injectedRoute === useRoute() ? useRoute$1() : injectedRoute;
  1102. const layout = computed(() => {
  1103. let layout2 = unref(props.name) ?? route.meta.layout ?? "default";
  1104. if (layout2 && !(layout2 in layouts)) {
  1105. if (props.fallback) {
  1106. layout2 = unref(props.fallback);
  1107. }
  1108. }
  1109. return layout2;
  1110. });
  1111. const layoutRef = ref();
  1112. context.expose({ layoutRef });
  1113. const done = nuxtApp.deferHydration();
  1114. return () => {
  1115. const hasLayout = layout.value && layout.value in layouts;
  1116. const transitionProps = route.meta.layoutTransition ?? appLayoutTransition;
  1117. return _wrapIf(Transition, hasLayout && transitionProps, {
  1118. default: () => h(Suspense, { suspensible: true, onResolve: () => {
  1119. nextTick(done);
  1120. } }, {
  1121. default: () => h(
  1122. LayoutProvider,
  1123. {
  1124. layoutProps: mergeProps(context.attrs, { ref: layoutRef }),
  1125. key: layout.value || void 0,
  1126. name: layout.value,
  1127. shouldProvide: !props.name,
  1128. hasTransition: !!transitionProps
  1129. },
  1130. context.slots
  1131. )
  1132. })
  1133. }).default();
  1134. };
  1135. }
  1136. });
  1137. const LayoutProvider = defineComponent({
  1138. name: "NuxtLayoutProvider",
  1139. inheritAttrs: false,
  1140. props: {
  1141. name: {
  1142. type: [String, Boolean]
  1143. },
  1144. layoutProps: {
  1145. type: Object
  1146. },
  1147. hasTransition: {
  1148. type: Boolean
  1149. },
  1150. shouldProvide: {
  1151. type: Boolean
  1152. }
  1153. },
  1154. setup(props, context) {
  1155. const name = props.name;
  1156. if (props.shouldProvide) {
  1157. provide(LayoutMetaSymbol, {
  1158. isCurrent: (route) => name === (route.meta.layout ?? "default")
  1159. });
  1160. }
  1161. return () => {
  1162. var _a, _b;
  1163. if (!name || typeof name === "string" && !(name in layouts)) {
  1164. return (_b = (_a = context.slots).default) == null ? void 0 : _b.call(_a);
  1165. }
  1166. return h(
  1167. LayoutLoader,
  1168. { key: name, layoutProps: props.layoutProps, name },
  1169. context.slots
  1170. );
  1171. };
  1172. }
  1173. });
  1174. const RouteProvider = defineComponent({
  1175. props: {
  1176. vnode: {
  1177. type: Object,
  1178. required: true
  1179. },
  1180. route: {
  1181. type: Object,
  1182. required: true
  1183. },
  1184. vnodeRef: Object,
  1185. renderKey: String,
  1186. trackRootNodes: Boolean
  1187. },
  1188. setup(props) {
  1189. const previousKey = props.renderKey;
  1190. const previousRoute = props.route;
  1191. const route = {};
  1192. for (const key in props.route) {
  1193. Object.defineProperty(route, key, {
  1194. get: () => previousKey === props.renderKey ? props.route[key] : previousRoute[key],
  1195. enumerable: true
  1196. });
  1197. }
  1198. provide(PageRouteSymbol, shallowReactive(route));
  1199. return () => {
  1200. return h(props.vnode, { ref: props.vnodeRef });
  1201. };
  1202. }
  1203. });
  1204. const __nuxt_component_1 = defineComponent({
  1205. name: "NuxtPage",
  1206. inheritAttrs: false,
  1207. props: {
  1208. name: {
  1209. type: String
  1210. },
  1211. transition: {
  1212. type: [Boolean, Object],
  1213. default: void 0
  1214. },
  1215. keepalive: {
  1216. type: [Boolean, Object],
  1217. default: void 0
  1218. },
  1219. route: {
  1220. type: Object
  1221. },
  1222. pageKey: {
  1223. type: [Function, String],
  1224. default: null
  1225. }
  1226. },
  1227. setup(props, { attrs, slots, expose }) {
  1228. const nuxtApp = useNuxtApp();
  1229. const pageRef = ref();
  1230. const forkRoute = inject(PageRouteSymbol, null);
  1231. let previousPageKey;
  1232. expose({ pageRef });
  1233. inject(LayoutMetaSymbol, null);
  1234. let vnode;
  1235. const done = nuxtApp.deferHydration();
  1236. if (props.pageKey) {
  1237. watch(() => props.pageKey, (next, prev) => {
  1238. if (next !== prev) {
  1239. nuxtApp.callHook("page:loading:start");
  1240. }
  1241. });
  1242. }
  1243. let pageLoadingEndHookAlreadyCalled = false;
  1244. return () => {
  1245. return h(RouterView, { name: props.name, route: props.route, ...attrs }, {
  1246. default: (routeProps) => {
  1247. if (!routeProps.Component) {
  1248. done();
  1249. return;
  1250. }
  1251. const key = generateRouteKey$1(routeProps, props.pageKey);
  1252. if (!nuxtApp.isHydrating && !hasChildrenRoutes(forkRoute, routeProps.route, routeProps.Component) && previousPageKey === key) {
  1253. nuxtApp.callHook("page:loading:end");
  1254. pageLoadingEndHookAlreadyCalled = true;
  1255. }
  1256. previousPageKey = key;
  1257. const hasTransition = !!(props.transition ?? routeProps.route.meta.pageTransition ?? appPageTransition);
  1258. const transitionProps = hasTransition && _mergeTransitionProps([
  1259. props.transition,
  1260. routeProps.route.meta.pageTransition,
  1261. appPageTransition,
  1262. { onAfterLeave: () => {
  1263. nuxtApp.callHook("page:transition:finish", routeProps.Component);
  1264. } }
  1265. ].filter(Boolean));
  1266. const keepaliveConfig = props.keepalive ?? routeProps.route.meta.keepalive ?? appKeepalive;
  1267. vnode = _wrapIf(
  1268. Transition,
  1269. hasTransition && transitionProps,
  1270. wrapInKeepAlive(
  1271. keepaliveConfig,
  1272. h(Suspense, {
  1273. suspensible: true,
  1274. onPending: () => nuxtApp.callHook("page:start", routeProps.Component),
  1275. onResolve: () => {
  1276. nextTick(() => nuxtApp.callHook("page:finish", routeProps.Component).then(() => {
  1277. if (!pageLoadingEndHookAlreadyCalled) {
  1278. return nuxtApp.callHook("page:loading:end");
  1279. }
  1280. pageLoadingEndHookAlreadyCalled = false;
  1281. }).finally(done));
  1282. }
  1283. }, {
  1284. default: () => {
  1285. const providerVNode = h(RouteProvider, {
  1286. key: key || void 0,
  1287. vnode: slots.default ? h(Fragment, void 0, slots.default(routeProps)) : routeProps.Component,
  1288. route: routeProps.route,
  1289. renderKey: key || void 0,
  1290. trackRootNodes: hasTransition,
  1291. vnodeRef: pageRef
  1292. });
  1293. return providerVNode;
  1294. }
  1295. })
  1296. )
  1297. ).default();
  1298. return vnode;
  1299. }
  1300. });
  1301. };
  1302. }
  1303. });
  1304. function _mergeTransitionProps(routeProps) {
  1305. const _props = routeProps.map((prop) => ({
  1306. ...prop,
  1307. onAfterLeave: prop.onAfterLeave ? toArray$1(prop.onAfterLeave) : void 0
  1308. }));
  1309. return defu(..._props);
  1310. }
  1311. function hasChildrenRoutes(fork, newRoute, Component) {
  1312. if (!fork) {
  1313. return false;
  1314. }
  1315. const index = newRoute.matched.findIndex((m) => {
  1316. var _a;
  1317. return ((_a = m.components) == null ? void 0 : _a.default) === (Component == null ? void 0 : Component.type);
  1318. });
  1319. return index < newRoute.matched.length - 1;
  1320. }
  1321. const _imports_4 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAL6UlEQVRoQ81bC3BU1Rk+/7m7IQEhRPEJClaT7LIYi6CQ7IYmkN2AkhGUOLajHZ1RR4sotvUxijXVMm0ttRVfo2K141gtiBWQRzZAkOxughIVJMkGkIgCilKVkED2cc/pd8Mz2c3ee3eX1DOTyWbP//rO+c9//vOfE2KnqY0IFGYNZINHKkzaJSMbSbqUSXEeY3KIZHwwkRRMyk70fU9Ee5jkOxhFt4sobw6J8Fefl27oOh2mUTqFOmpLzlAHZJSQYJWSSZdkbCQUKCZ1RMAD8KyGJF9KOUM2NTmWhE3K6JM8LYALfFPzo0y9GwCvxc8IaEuLXMhRIWkHMb7UyuTCrU7vN6kCT8kwR8O00aoq5jEmZjHJrKkao8PfyRk9Q5nihabxa79IVldSgCc0TBvSHlUBlM2G6w5MVnlSfJIdwPqfz3Nynk/G1U0DHlM/tSSqqi/C2LykDE4PE1YOBRSh3tE0aV2zGZGGAZfUlli+yRzwgFDF41BgNhCZsckMbQcxuq1lX/bb7IYlqhFGQ4AvhQtbVfU5DOsvsJVwI4L7iwY2qcTZ/GDh0McZ6YPWBdy91WRY30JQuqa/QJjXQ1o0fyVY5L0TvzEGfbeEgPN9zsHEBi1GsjDVvBH9z4EE5gU+NHtuomDWJ+BRbSWZmfsyXoUL39j/pietEbPLnwg6q6v6muk+AY/2ex4TUj6WxiQiaRSmGImFFclvbXJV/yseX1zAtnpPBRPs3R9bgDIBvEMRlglNk1bHbFkxgAv8nnPCkm3Cuh1lQkFcUviXgAItD85MVZZpfol9+szs0t7ruSdgHF3sfvdLMPQ28wqQ93L6AAJXqZI1Wi3qbmahjmgXRaWUmVZFGaYKaUd/MbKzayF/mGkd5hikJJrb6vQuPJWtB2BbwFPEhNwAAuN5MbF2LunNiCqe3vGztS1GbNKSmP0ZGbMAfA42kQngOT2JDLFvoopl3M6Jq/cct6snYJ+nGq7sMWK0RoOZqxUWNntHoTGgveV2Z2+K9UapsAVSsnON6jVDR8SebHHWPBgDOH+j24mMpc5gVJac2FPhg5ZHdl69OmTGgHi0jkD5pUKVb0iSV6UqKw5/e8gi8tomrtuv9Z2YYZvf8zam7HoDCgVo/hR0Oh9lVKV9Tksbt7ks+3CI3sNMu9IisMfCVX4fdK6pOgG4oGHaiEhU3Yo1laOnDNnMuy17s2fFS9ZH1ZZk3lJSEq7SGQi4cuaGOCUc+8by8yUX9bBhpJ4d5vplq5KTU6BF7O4Ztte5Z0tiz+oKQYBSwtb8ptJVX/egRXQf7XcvVIlmIJX9KsSslW3OVbt7y/tpgzs3pNIirP1LMJNvt7pq7uudEdnqpkxnxJeBN52HFJhGk1uc3o2wr4rb/IG1CEGleoAR5+e1Fnvn96az+zxueIf35Pf0cNDl/WMMXX35y1IVx7e8DhT4HE2uXtWLxZVK/vAfqkmyKXr2mOx/NuiqmUP2zXCjkAxi/Q5JKIAoHLaol+2asG57b7r89z0XkyI/xvfZWh9m74bW4polMYDryu+VJP6G7zXPapMs6/JW1/JDvenyNk6ZwRX+DrYs3dOcUdAQ1Mxzho6lfL9nMkm5zgDjp8FI5ApWuiEajza3vsyuCF4mVPbl9vVFy1lVbEAbt/kO6+HQLg+TSq6iWKq3Fa48sW9rZ24lGs2zcDFMCssQQXIRRm6wAbuMkoSkSnay10+9T6rqU3pcmLXXMWu/1KMz0+/YXHaRCNHPMeFa5nU2lsVn+P0V8vjvkCVlY72dg79z8TMKPymnp9hSriGsv39CkT4QSQuDxd57zQDqi7Zgi2dQ5DB7SAp5M9x2BSnqqwOtBz9tHN8YieGpquJ5nkCeorKbMOu3wzW1QUiuSf5bsvk8Pqw6p74EegaB6B59usQUl7zvuTBDYf8G1Q6rRXlk6ylpn55sR+3V58kB0d8IyX6dzEkOXvMCDgueNmwTmsvotZWIctP1iBL12/1Xj5Qsugwx49kWV82iZGXZ6qdex1T1ZfCfaVLGcrLVuTsQCwfpMhL7vP27TMe+ihWHdWnjEIzbPM7a2XXWSkTpN1uda19NRsapPMeCrbZfn2FUFpaDDy6NLdRIIxJCqiXbXeu0fNt0y/d57ofCS4JO7116hTajwu11nl8h/37OKD3oGo0DBjUq/stanGtn4qOxQTpmScGWmwdFOvb7DhFN2VNU/d2pBjp8iNTEl2jl1qiq3LazZ5VCC6pzAeoeEvTGudFwFVLSk9uidi3pdwcgb6Ix0LRFA6y5aJYxBlxqCj6zeVK15kqGm81ffj0xcSWOaQ/1ZrLXe7Atyu5tEUHlDziwP3qcRhuocMfXTRjekfjpUCg2M7P5yq7DVCw1YsxRl67zfMlIajd+Rtte3PNODhbHZlx9CbD5y17kRIubi2piEhyHr+IilYVe4yTDQljvCRav6pHJoShxB+TOBuB3UHdGsb2nd439aNrZR45EW/DtWboAiK3UXOIDEF+pS3wKAQ7VLUqXWrFtynotUdBt+b6yjWHKuDnegUKXWY9Ac+uAuxEYxuqR4lrmFW1behPbUjK1590KKZVNzjUfJlKkpZOdXW2BrkikArf6PU9ZehYa7EcuUYMFUaZPTg+TvW7qPEnqE/rEcSiIgoMGjCpoHP9SbIZ0jLwKmdJbZf5Ngqszthet35uUnsRM2qQ1YNJ0qyUIfDO1NYzzp1yRlCFEb2GbQS58tI0IVGbtKVqivc3oEcURGJcJxhdsd1UntaUl9qCKYZ2hLpz2dNcwiqmKg8Z84LkwGpLam4oBpkETn4VrjaV5tRXDeEZoNvhvQkD7ErF8E7ewbZKJ/XjMIoWgWxFrWpFdJedJCQxDUJuOSquRCdv1fScVUKWsVLb5fgig4qHrEr30dpLgubg8vRX1dg3sBQkHDJla9ByLbWdu6kW/E3qO1tE3wp3062DEXgs6azDwaGB6AMe/P5uZYUQ8BCCsHMbON8qH2Z7XEqdiYpS/N509UD4X7qMVFPSa5Apd01zoXd0NWHuFE2bqJ/iY8plTRzPeZfGKVld1rZ6Fev0OFC5UJrWqSHeVRad9oUQijqbSDXgxoDW4Rn7AjXdRaa8jxbPjW6YoNwQL12zQs7KvfkTlSTjDa2D1k42jQp7DSe9u7cOJmlFewDODC/mfZI0wydeFzOsBSwf7x9Zyb6cZXoevvFRlYiV4DKXDABgNR7j9s9LqnT0AowbFbe7Ah1iWV5gxIAVapM5sC8ouf1WV9uU7J25q70uWdiVz/NBg95VNhENqtWtDDcH49VbnydJUz7sl7V5YldrBIG3VQkNWMbYPCj/G6eETpvA2XMQf4EIMkcQvRlgcy7kcgypHg4VlPtK0L3OvbfgPu+HOww3I7uQZ0QnNV9U2HaftdV1aqdj9B1dgfUwzIOz/QYKgw5+EfZcj8Bi4FqIFKEvdf6qhMTNpb5ieK9VQA0bQbPmkPwdAOxNbEinEftnCKGtC77p3XNdFFLwLrvR8fyJIsy5VYdyNdx4x21+fazXf534dnTel2ZD+EIfJpQdbXd6/xFPWJ2Dt+rIzRKvg2kX9YWW6dGgXBuohy+193VsnjMZ5gcnDFaF4kT6OTpdBp1MOLvvWDDjMZiXa23W3H9SAR5GqrvzRg0b5poM6KvcU1R9JNKi6gDXmsT73BUckLcG5+cfn3igf43i4OJwl79w1fu1BPQ8yBFgTclGdK2cgZWnVxVv0hPZbP8DiBDZ/YOaBJ+LeS8UxxDDg47x4kjgHmdDv8PfpfmelN25fwPi7UFRYpUeYMPEwwmzH0wURZX+HQi0jMz1oRnT0TUNh7ByvRTh79LMk/ukjaWOPXm7v9kgpqmDc+NRAGODW1qoU6xnnjwULvfXJXtckDfiEiThljXbXV6B+NQd7YCG+T/c/fbQDnFeR8mm8B8HVbmotdcAn9VOBrzQvzK0zETWvh9tdllRhEPKQKbXDsEbO5GJLxPLe1tKTTwdTg3ua1l93YTDwX1zfWMdg1i/HGfsyvPL7CY5456N6qVUpjnkBHULfAfTtxTOHNhyQt+L8+pFVUZu2rSn+Nt47kVQB/w9QyrowBHbMBgAAAABJRU5ErkJggg==";
  1322. const _imports_5 = "data:image/png;base64,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";
  1323. const _imports_6 = "data:image/png;base64,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";
  1324. const _imports_7 = "data:image/png;base64,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";
  1325. const _export_sfc = (sfc, props) => {
  1326. const target = sfc.__vccOpts || sfc;
  1327. for (const [key, val] of props) {
  1328. target[key] = val;
  1329. }
  1330. return target;
  1331. };
  1332. const _sfc_main$2 = {
  1333. __name: "app",
  1334. __ssrInlineRender: true,
  1335. setup(__props) {
  1336. let close = () => {
  1337. let kefu = (void 0).querySelector(".kefu");
  1338. kefu.style.display = "none";
  1339. };
  1340. return (_ctx, _push, _parent, _attrs) => {
  1341. const _component_NuxtLayout = __nuxt_component_0;
  1342. const _component_NuxtPage = __nuxt_component_1;
  1343. _push(`<div${ssrRenderAttrs(mergeProps({ class: "sannong" }, _attrs))} data-v-35fd1a99>`);
  1344. _push(ssrRenderComponent(_component_NuxtLayout, null, {
  1345. default: withCtx((_, _push2, _parent2, _scopeId) => {
  1346. if (_push2) {
  1347. _push2(ssrRenderComponent(_component_NuxtPage, null, null, _parent2, _scopeId));
  1348. _push2(`<ul class="kefu" data-v-35fd1a99${_scopeId}><li data-v-35fd1a99${_scopeId}><img${ssrRenderAttr("src", _imports_4)} alt="" data-v-35fd1a99${_scopeId}><p data-v-35fd1a99${_scopeId}>微信客服</p></li><li data-v-35fd1a99${_scopeId}><img${ssrRenderAttr("src", _imports_5)} alt="" data-v-35fd1a99${_scopeId}><p data-v-35fd1a99${_scopeId}>QQ客服</p></li><li data-v-35fd1a99${_scopeId}><img${ssrRenderAttr("src", _imports_6)} alt="" data-v-35fd1a99${_scopeId}><p data-v-35fd1a99${_scopeId}>电话客服</p></li><li data-v-35fd1a99${_scopeId}><img${ssrRenderAttr("src", _imports_7)} alt="" data-v-35fd1a99${_scopeId}><p data-v-35fd1a99${_scopeId}>关闭</p></li></ul>`);
  1349. } else {
  1350. return [
  1351. createVNode(_component_NuxtPage),
  1352. createVNode("ul", { class: "kefu" }, [
  1353. createVNode("li", null, [
  1354. createVNode("img", {
  1355. src: _imports_4,
  1356. alt: ""
  1357. }),
  1358. createVNode("p", null, "微信客服")
  1359. ]),
  1360. createVNode("li", null, [
  1361. createVNode("img", {
  1362. src: _imports_5,
  1363. alt: ""
  1364. }),
  1365. createVNode("p", null, "QQ客服")
  1366. ]),
  1367. createVNode("li", null, [
  1368. createVNode("img", {
  1369. src: _imports_6,
  1370. alt: ""
  1371. }),
  1372. createVNode("p", null, "电话客服")
  1373. ]),
  1374. createVNode("li", { onClick: unref(close) }, [
  1375. createVNode("img", {
  1376. src: _imports_7,
  1377. alt: ""
  1378. }),
  1379. createVNode("p", null, "关闭")
  1380. ], 8, ["onClick"])
  1381. ])
  1382. ];
  1383. }
  1384. }),
  1385. _: 1
  1386. }, _parent));
  1387. _push(`</div>`);
  1388. };
  1389. }
  1390. };
  1391. const _sfc_setup$2 = _sfc_main$2.setup;
  1392. _sfc_main$2.setup = (props, ctx) => {
  1393. const ssrContext = useSSRContext();
  1394. (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("app.vue");
  1395. return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
  1396. };
  1397. const AppComponent = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-35fd1a99"]]);
  1398. const _sfc_main$1 = {
  1399. __name: "nuxt-error-page",
  1400. __ssrInlineRender: true,
  1401. props: {
  1402. error: Object
  1403. },
  1404. setup(__props) {
  1405. const props = __props;
  1406. const _error = props.error;
  1407. _error.stack ? _error.stack.split("\n").splice(1).map((line) => {
  1408. const text = line.replace("webpack:/", "").replace(".vue", ".js").trim();
  1409. return {
  1410. text,
  1411. internal: line.includes("node_modules") && !line.includes(".cache") || line.includes("internal") || line.includes("new Promise")
  1412. };
  1413. }).map((i) => `<span class="stack${i.internal ? " internal" : ""}">${i.text}</span>`).join("\n") : "";
  1414. const statusCode = Number(_error.statusCode || 500);
  1415. const is404 = statusCode === 404;
  1416. const statusMessage = _error.statusMessage ?? (is404 ? "Page Not Found" : "Internal Server Error");
  1417. const description = _error.message || _error.toString();
  1418. const stack = void 0;
  1419. const _Error404 = defineAsyncComponent(() => import("./_nuxt/error-404-1DoOx2g-.js"));
  1420. const _Error = defineAsyncComponent(() => import("./_nuxt/error-500-DiFXPdiX.js"));
  1421. const ErrorTemplate = is404 ? _Error404 : _Error;
  1422. return (_ctx, _push, _parent, _attrs) => {
  1423. _push(ssrRenderComponent(unref(ErrorTemplate), mergeProps({ statusCode: unref(statusCode), statusMessage: unref(statusMessage), description: unref(description), stack: unref(stack) }, _attrs), null, _parent));
  1424. };
  1425. }
  1426. };
  1427. const _sfc_setup$1 = _sfc_main$1.setup;
  1428. _sfc_main$1.setup = (props, ctx) => {
  1429. const ssrContext = useSSRContext();
  1430. (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/nuxt/dist/app/components/nuxt-error-page.vue");
  1431. return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
  1432. };
  1433. const _sfc_main = {
  1434. __name: "nuxt-root",
  1435. __ssrInlineRender: true,
  1436. setup(__props) {
  1437. const IslandRenderer = () => null;
  1438. const nuxtApp = useNuxtApp();
  1439. nuxtApp.deferHydration();
  1440. nuxtApp.ssrContext.url;
  1441. const SingleRenderer = false;
  1442. provide(PageRouteSymbol, useRoute());
  1443. nuxtApp.hooks.callHookWith((hooks) => hooks.map((hook) => hook()), "vue:setup");
  1444. const error = useError();
  1445. const abortRender = error.value && !nuxtApp.ssrContext.error;
  1446. onErrorCaptured((err, target, info) => {
  1447. nuxtApp.hooks.callHook("vue:error", err, target, info).catch((hookError) => console.error("[nuxt] Error in `vue:error` hook", hookError));
  1448. {
  1449. const p = nuxtApp.runWithContext(() => showError(err));
  1450. onServerPrefetch(() => p);
  1451. return false;
  1452. }
  1453. });
  1454. const islandContext = nuxtApp.ssrContext.islandContext;
  1455. return (_ctx, _push, _parent, _attrs) => {
  1456. ssrRenderSuspense(_push, {
  1457. default: () => {
  1458. if (unref(abortRender)) {
  1459. _push(`<div></div>`);
  1460. } else if (unref(error)) {
  1461. _push(ssrRenderComponent(unref(_sfc_main$1), { error: unref(error) }, null, _parent));
  1462. } else if (unref(islandContext)) {
  1463. _push(ssrRenderComponent(unref(IslandRenderer), { context: unref(islandContext) }, null, _parent));
  1464. } else if (unref(SingleRenderer)) {
  1465. ssrRenderVNode(_push, createVNode(resolveDynamicComponent(unref(SingleRenderer)), null, null), _parent);
  1466. } else {
  1467. _push(ssrRenderComponent(unref(AppComponent), null, null, _parent));
  1468. }
  1469. },
  1470. _: 1
  1471. });
  1472. };
  1473. }
  1474. };
  1475. const _sfc_setup = _sfc_main.setup;
  1476. _sfc_main.setup = (props, ctx) => {
  1477. const ssrContext = useSSRContext();
  1478. (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/nuxt/dist/app/components/nuxt-root.vue");
  1479. return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
  1480. };
  1481. let entry;
  1482. {
  1483. entry = async function createNuxtAppServer(ssrContext) {
  1484. const vueApp = createApp(_sfc_main);
  1485. const nuxt = createNuxtApp({ vueApp, ssrContext });
  1486. try {
  1487. await applyPlugins(nuxt, plugins);
  1488. await nuxt.hooks.callHook("app:created", vueApp);
  1489. } catch (error) {
  1490. await nuxt.hooks.callHook("app:error", error);
  1491. nuxt.payload.error = nuxt.payload.error || createError(error);
  1492. }
  1493. if (ssrContext == null ? void 0 : ssrContext._renderResponse) {
  1494. throw new Error("skipping render");
  1495. }
  1496. return vueApp;
  1497. };
  1498. }
  1499. const entry$1 = (ssrContext) => entry(ssrContext);
  1500. export {
  1501. _export_sfc as _,
  1502. navigateTo as a,
  1503. useNuxtApp as b,
  1504. useRuntimeConfig as c,
  1505. resolveUnrefHeadInput as d,
  1506. entry$1 as default,
  1507. useRoute as e,
  1508. injectHead as i,
  1509. nuxtLinkDefaults as n,
  1510. resolveRouteObject as r,
  1511. useRouter as u
  1512. };
  1513. //# sourceMappingURL=server.mjs.map