server.mjs 58 KB

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