详情页服务器请求加缓存

This commit is contained in:
DESKTOP-RQ919RC\Pc 2025-06-03 11:09:52 +08:00
parent 4d55eb5a08
commit 8cf779cfc4
76 changed files with 1936 additions and 594 deletions

View File

@ -1,5 +1,5 @@
{
"date": "2025-05-29T03:14:56.738Z",
"date": "2025-06-03T03:03:54.537Z",
"preset": "node-server",
"framework": {
"name": "nuxt",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"id":"d45e94f0-86f6-4617-b5bd-8bf6d36a89db","timestamp":1748488463184}
{"id":"18382bba-b5df-4f39-a91f-588aba3b7431","timestamp":1748919818904}

View File

@ -0,0 +1 @@
{"id":"18382bba-b5df-4f39-a91f-588aba3b7431","timestamp":1748919818904,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

View File

@ -1 +0,0 @@
{"id":"d45e94f0-86f6-4617-b5bd-8bf6d36a89db","timestamp":1748488463184,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{u as i}from"./vue.f36acd1f.wVZg3gGl.js";import{_ as r}from"./_plugin-vue_export-helper.x3n3nnut.js";import{t as a,v as n,x as e,y as s,C as l,D as d}from"./entry.mCwd2zHM.js";const c=t=>(l("data-v-df79c84d"),t=t(),d(),t),p={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},f=c(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),h={class:"max-w-520px text-center"},m=["textContent"],g=["textContent"],x={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const o=t;return i({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(b,u)=>(a(),n("div",p,[f,e("div",h,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,m),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,g)])]))}},S=r(x,[["__scopeId","data-v-df79c84d"]]);export{S as default};
import{u as i}from"./vue.f36acd1f.R2vG9YdE.js";import{_ as r}from"./_plugin-vue_export-helper.x3n3nnut.js";import{t as a,v as n,x as e,y as s,C as l,D as d}from"./entry.pxOl88AV.js";const c=t=>(l("data-v-df79c84d"),t=t(),d(),t),p={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},f=c(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),h={class:"max-w-520px text-center"},m=["textContent"],g=["textContent"],x={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const o=t;return i({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(b,u)=>(a(),n("div",p,[f,e("div",h,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,m),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,g)])]))}},S=r(x,[["__scopeId","data-v-df79c84d"]]);export{S as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{u as t}from"./vue.f36acd1f.wVZg3gGl.js";import{u as e}from"./entry.mCwd2zHM.js";const a={__name:"index",setup(r){return t({script:[{src:"https://app.gter.net/bottom?tpl=header&menukey=vote"},{src:"https://app.gter.net/bottom?tpl=footer,popupnotification",body:!0}]}),e().replace("/index.html"),(p,s)=>null}};export{a as default};
import{u as t}from"./vue.f36acd1f.R2vG9YdE.js";import{u as e}from"./entry.pxOl88AV.js";const a={__name:"index",setup(r){return t({script:[{src:"https://app.gter.net/bottom?tpl=header&menukey=vote"},{src:"https://app.gter.net/bottom?tpl=footer,popupnotification",body:!0}]}),e().replace("/index.html"),(p,s)=>null}};export{a as default};

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import{al as w,am as V}from"./cross-icon.8uQaWX_C.js";function j(x,v){for(var d=0;d<v.length;d++){const g=v[d];if(typeof g!="string"&&!Array.isArray(g)){for(const f in g)if(f!=="default"&&!(f in x)){const h=Object.getOwnPropertyDescriptor(g,f);h&&Object.defineProperty(x,f,h.get?h:{enumerable:!0,get:()=>g[f]})}}}return Object.freeze(Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}))}var N={exports:{}},W={exports:{}},L={exports:{}},A;function U(){return A||(A=1,function(x){(function(v,d){x.exports?x.exports=d():v.EvEmitter=d()})(typeof window<"u"?window:w,function(){function v(){}var d=v.prototype;return d.on=function(g,f){if(!(!g||!f)){var h=this._events=this._events||{},a=h[g]=h[g]||[];return a.indexOf(f)==-1&&a.push(f),this}},d.once=function(g,f){if(!(!g||!f)){this.on(g,f);var h=this._onceEvents=this._onceEvents||{},a=h[g]=h[g]||{};return a[f]=!0,this}},d.off=function(g,f){var h=this._events&&this._events[g];if(!(!h||!h.length)){var a=h.indexOf(f);return a!=-1&&h.splice(a,1),this}},d.emitEvent=function(g,f){var h=this._events&&this._events[g];if(!(!h||!h.length)){h=h.slice(0),f=f||[];for(var a=this._onceEvents&&this._onceEvents[g],o=0;o<h.length;o++){var s=h[o],l=a&&a[s];l&&(this.off(g,s),delete a[s]),s.apply(this,f)}return this}},d.allOff=function(){delete this._events,delete this._onceEvents},v})}(L)),L.exports}var C={exports:{}};/*!
import{al as w,am as V}from"./cross-icon.dbuXyEtl.js";function j(x,v){for(var d=0;d<v.length;d++){const g=v[d];if(typeof g!="string"&&!Array.isArray(g)){for(const f in g)if(f!=="default"&&!(f in x)){const h=Object.getOwnPropertyDescriptor(g,f);h&&Object.defineProperty(x,f,h.get?h:{enumerable:!0,get:()=>g[f]})}}}return Object.freeze(Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}))}var N={exports:{}},W={exports:{}},L={exports:{}},A;function U(){return A||(A=1,function(x){(function(v,d){x.exports?x.exports=d():v.EvEmitter=d()})(typeof window<"u"?window:w,function(){function v(){}var d=v.prototype;return d.on=function(g,f){if(!(!g||!f)){var h=this._events=this._events||{},a=h[g]=h[g]||[];return a.indexOf(f)==-1&&a.push(f),this}},d.once=function(g,f){if(!(!g||!f)){this.on(g,f);var h=this._onceEvents=this._onceEvents||{},a=h[g]=h[g]||{};return a[f]=!0,this}},d.off=function(g,f){var h=this._events&&this._events[g];if(!(!h||!h.length)){var a=h.indexOf(f);return a!=-1&&h.splice(a,1),this}},d.emitEvent=function(g,f){var h=this._events&&this._events[g];if(!(!h||!h.length)){h=h.slice(0),f=f||[];for(var a=this._onceEvents&&this._onceEvents[g],o=0;o<h.length;o++){var s=h[o],l=a&&a[s];l&&(this.off(g,s),delete a[s]),s.apply(this,f)}return this}},d.allOff=function(){delete this._events,delete this._onceEvents},v})}(L)),L.exports}var C={exports:{}};/*!
* getSize v2.0.3
* measure size of elements
* MIT license

View File

@ -1 +1 @@
import{aI as o,r as u,a0 as f,S as d,e as v,ay as l,aJ as i,aK as h,a6 as m}from"./entry.mCwd2zHM.js";function U(t,a={}){const e=a.head||o();if(e)return e.ssr?e.push(t,a):p(e,t,a)}function p(t,a,e={}){const s=u(!1),n=u({});f(()=>{n.value=s.value?{}:h(a)});const r=t.push(n.value,e);return d(n,c=>{r.patch(c)}),m()&&(v(()=>{r.dispose()}),l(()=>{s.value=!0}),i(()=>{s.value=!1})),r}export{U as u};
import{aI as o,r as u,a0 as f,S as d,e as v,ay as l,aJ as i,aK as h,a6 as m}from"./entry.pxOl88AV.js";function U(t,a={}){const e=a.head||o();if(e)return e.ssr?e.push(t,a):p(e,t,a)}function p(t,a,e={}){const s=u(!1),n=u({});f(()=>{n.value=s.value?{}:h(a)});const r=t.push(n.value,e);return d(n,c=>{r.patch(c)}),m()&&(v(()=>{r.dispose()}),l(()=>{s.value=!0}),i(()=>{s.value=!1})),r}export{U as u};

View File

@ -1,12 +1,12 @@
import { b as buildAssetsURL } from '../../handlers/renderer.mjs';
import { b as buildProps, d as definePropType, a as addUnit, w as withInstallDirective, c as withInstall, i as iconPropType, e as isBoolean, _ as _export_sfc$1, f as _imports_1$3, H as Head, T as Title, M as Meta } from './cross-icon-x_ztZaKs.mjs';
import { c as commentListHttp, h as handleDate, _ as _imports_3$1, d as detailsHttp, E as ElMessage, a as colourValue, b as handleDeadline, e as detailsSubmitommentListHttp, f as commentDeleteHttp, g as __nuxt_component_3, i as ElDialog, r as riposteSubmitHttp, u as unvoteCollectHttp, j as __nuxt_component_2$1, k as getRiposteHttp } from './like-icon-gray-Ct3pzHi1.mjs';
import { b as buildProps, d as definePropType, a as addUnit, w as withInstallDirective, c as withInstall, i as iconPropType, e as isBoolean, _ as _export_sfc$1, f as _imports_1$3, H as Head, T as Title, M as Meta } from './cross-icon-heL_WHBX.mjs';
import { c as commentListHttp, h as handleDate, _ as _imports_3$1, d as detailsHttp, a as colourValue, b as handleDeadline, e as detailsSubmitommentListHttp, E as ElMessage, f as commentDeleteHttp, g as __nuxt_component_3, i as ElDialog, r as riposteSubmitHttp, u as unvoteCollectHttp, j as __nuxt_component_2$1, k as getRiposteHttp } from './like-icon-gray-d9nlY1Bv.mjs';
import { defineComponent, computed, ref, unref, openBlock, createBlock, mergeProps, withCtx, createElementBlock, normalizeClass, toDisplayString, createCommentVNode, renderSlot, createTextVNode, provide, inject, useSSRContext, isRef, createVNode, Fragment, renderList, watch, withModifiers, withAsyncContext } from 'vue';
import { u as useTooltipTriggerProps, a as useTooltipContentProps, E as ElTooltip, b as ElInput, c as ElButton } from './el-button-TJWMUdQA.mjs';
import { d as useNamespace } from '../server.mjs';
import { u as useTooltipTriggerProps, a as useTooltipContentProps, E as ElTooltip, b as ElInput, c as ElButton } from './el-button-NOJCxE51.mjs';
import { d as useNamespace, e as useNuxtApp } from '../server.mjs';
import { ssrRenderComponent, ssrRenderClass, ssrRenderAttr, ssrRenderList, ssrRenderAttrs, ssrRenderStyle, ssrInterpolate } from 'vue/server-renderer';
import { _ as _export_sfc } from './_plugin-vue_export-helper-yVxbj29m.mjs';
import { u as useHead } from './index-DpaNoGMh.mjs';
import { u as useHead } from './index-UkZLniuW.mjs';
import { useRoute, useRouter } from 'vue-router';
import 'vue-bundle-renderer/runtime';
import '../../nitro/node-server.mjs';
@ -28,6 +28,7 @@ import 'qs';
import '@vue/reactivity';
import '@popperjs/core';
import '@ctrl/tinycolor';
import 'node-cache';
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
inheritAttrs: false
@ -1652,20 +1653,31 @@ const _sfc_main = {
};
let respondPopListState = ref(false);
let respondDetail = ref({});
const { $cache } = useNuxtApp();
try {
if (true) {
[__temp, __restore] = withAsyncContext(() => detailsHttp({ uniqid: id }).then((res) => {
if (res.code != 200) {
ElMessage.error(res.message);
router.push("/index.html");
return;
}
let data = res.data;
console.log(`----------------------------------`);
const cacheKey = `details_${id}`;
const cachedData = $cache.get(cacheKey);
console.log(cachedData ? "\u7F13\u5B58\u6570\u636E\u5DF2\u5B58\u5728" : "\u7F13\u5B58\u6570\u636E\u4E0D\u5B58\u5728");
if (cachedData) {
let data = cachedData;
info.value = data["info"];
option.value = data["option"];
isvote.value = data["isvote"];
seo.value = data.seo;
})), await __temp, __restore();
} else {
[__temp, __restore] = withAsyncContext(() => detailsHttp({ uniqid: id }).then((res) => {
if (res.code == 200) {
let data = res.data;
info.value = data["info"];
option.value = data["option"];
isvote.value = data["isvote"];
seo.value = data.seo;
$cache.set(cacheKey, data, 3600);
}
})), await __temp, __restore();
}
}
} catch (error) {
}
@ -1728,7 +1740,7 @@ const _sfc_main = {
ref_key: "topHeadRef",
ref: topHeadRef
}, null, _parent));
_push(`<div class="content flexflex" style="${ssrRenderStyle({ "--main-color": ("colourValue" in _ctx ? _ctx.colourValue : unref(colourValue))[unref(uniqidIndex)]["main"], "--bg-color": ("colourValue" in _ctx ? _ctx.colourValue : unref(colourValue))[unref(uniqidIndex)]["bg"], "--bc-color": ("colourValue" in _ctx ? _ctx.colourValue : unref(colourValue))[unref(uniqidIndex)]["bc"] })}" data-v-aa507ef0><div class="header flexacenter" data-v-aa507ef0><span data-v-aa507ef0>${ssrInterpolate(unref(info).title)}</span></div><div class="left" data-v-aa507ef0><div class="info flexacenter" data-v-aa507ef0><div class="info-left flexacenter" data-v-aa507ef0>`);
_push(`<div class="content flexflex" style="${ssrRenderStyle({ "--main-color": ("colourValue" in _ctx ? _ctx.colourValue : unref(colourValue))[unref(uniqidIndex)]["main"], "--bg-color": ("colourValue" in _ctx ? _ctx.colourValue : unref(colourValue))[unref(uniqidIndex)]["bg"], "--bc-color": ("colourValue" in _ctx ? _ctx.colourValue : unref(colourValue))[unref(uniqidIndex)]["bc"] })}" data-v-bfe0abb4><div class="header flexacenter" data-v-bfe0abb4><span data-v-bfe0abb4>${ssrInterpolate(unref(info).title)}</span></div><div class="left" data-v-bfe0abb4><div class="info flexacenter" data-v-bfe0abb4><div class="info-left flexacenter" data-v-bfe0abb4>`);
_push(ssrRenderComponent(_component_el_popover, {
placement: "bottom-start",
width: 140,
@ -1738,7 +1750,7 @@ const _sfc_main = {
}, {
reference: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`<div class="flexcenter" data-v-aa507ef0${_scopeId}><img class="avatar"${ssrRenderAttr("src", unref(info).avatar)} data-v-aa507ef0${_scopeId}><div class="username" data-v-aa507ef0${_scopeId}>${ssrInterpolate(unref(info).nickname)}</div></div>`);
_push2(`<div class="flexcenter" data-v-bfe0abb4${_scopeId}><img class="avatar"${ssrRenderAttr("src", unref(info).avatar)} data-v-bfe0abb4${_scopeId}><div class="username" data-v-bfe0abb4${_scopeId}>${ssrInterpolate(unref(info).nickname)}</div></div>`);
} else {
return [
createVNode("div", { class: "flexcenter" }, [
@ -1754,7 +1766,7 @@ const _sfc_main = {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
if (unref(info)["uin"] || unref(info)["uid"]) {
_push2(`<div class="avatar-box flexflex" data-v-aa507ef0${_scopeId}><a class="avatar-item flexcenter" target="_blank" data-v-aa507ef0${_scopeId}><img class="avatar-icon"${ssrRenderAttr("src", _imports_0$1)} data-v-aa507ef0${_scopeId}> \u53D1\u9001\u4FE1\u606F </a><a class="avatar-item flexcenter" target="_blank" data-v-aa507ef0${_scopeId}><img class="avatar-icon"${ssrRenderAttr("src", _imports_1$1)} data-v-aa507ef0${_scopeId}> TA\u7684\u4E3B\u9875 </a></div>`);
_push2(`<div class="avatar-box flexflex" data-v-bfe0abb4${_scopeId}><a class="avatar-item flexcenter" target="_blank" data-v-bfe0abb4${_scopeId}><img class="avatar-icon"${ssrRenderAttr("src", _imports_0$1)} data-v-bfe0abb4${_scopeId}> \u53D1\u9001\u4FE1\u606F </a><a class="avatar-item flexcenter" target="_blank" data-v-bfe0abb4${_scopeId}><img class="avatar-icon"${ssrRenderAttr("src", _imports_1$1)} data-v-bfe0abb4${_scopeId}> TA\u7684\u4E3B\u9875 </a></div>`);
} else {
_push2(`<!---->`);
}
@ -1793,25 +1805,25 @@ const _sfc_main = {
_: 1
}, _parent));
if (unref(info).releasetime) {
_push(`<div class="post-time" data-v-aa507ef0>${ssrInterpolate(("handleDate" in _ctx ? _ctx.handleDate : unref(handleDate))(unref(info).releasetime))}\u53D1\u5E03</div>`);
_push(`<div class="post-time" data-v-bfe0abb4>${ssrInterpolate(("handleDate" in _ctx ? _ctx.handleDate : unref(handleDate))(unref(info).releasetime))}\u53D1\u5E03</div>`);
} else {
_push(`<!---->`);
}
_push(`</div>`);
if (unref(info)["status"] == 1) {
_push(`<div class="info-right flexacenter" data-v-aa507ef0><div class="cut-off" data-v-aa507ef0>${ssrInterpolate(("handleDeadline" in _ctx ? _ctx.handleDeadline : unref(handleDeadline))(unref(info).deadline))}\u7ED3\u675F</div><div class="state" data-v-aa507ef0>\u8FDB\u884C\u4E2D</div></div>`);
_push(`<div class="info-right flexacenter" data-v-bfe0abb4><div class="cut-off" data-v-bfe0abb4>${ssrInterpolate(("handleDeadline" in _ctx ? _ctx.handleDeadline : unref(handleDeadline))(unref(info).deadline))}\u7ED3\u675F</div><div class="state" data-v-bfe0abb4>\u8FDB\u884C\u4E2D</div></div>`);
} else {
_push(`<div class="info-right flexacenter" data-v-aa507ef0>`);
_push(`<div class="info-right flexacenter" data-v-bfe0abb4>`);
if (unref(info).deadline) {
_push(`<div class="cut-off" data-v-aa507ef0>\u5DF2\u4E8E${ssrInterpolate(unref(info).deadline)}\u7ED3\u675F</div>`);
_push(`<div class="cut-off" data-v-bfe0abb4>\u5DF2\u4E8E${ssrInterpolate(unref(info).deadline)}\u7ED3\u675F</div>`);
} else {
_push(`<!---->`);
}
_push(`<div class="state over" data-v-aa507ef0>\u5DF2\u7ED3\u675F</div></div>`);
_push(`<div class="state over" data-v-bfe0abb4>\u5DF2\u7ED3\u675F</div></div>`);
}
_push(`</div><div class="message" data-v-aa507ef0>${ssrInterpolate(unref(info).message)}</div><div class="hint" data-v-aa507ef0>${ssrInterpolate(unref(info).status == 1 && unref(isvote) == 0 ? `\u5DF2\u6709 ${unref(info).votes || 0} \u4EBA\u53C2\u4E0E\uFF0C` : `\u5171\u6709 ${unref(info).votes || 0} \u4EBA\u53C2\u4E0E`)} ${ssrInterpolate(`${unref(isvote) == 1 ? "\u4F60\u5DF2\u6295\u7968" : unref(info).status == 1 ? "\u53C2\u4E0E\u6295\u7968\u5373\u53EF\u67E5\u770B\u5B9E\u65F6\u7ED3\u679C" : ""}`)}</div>`);
_push(`</div><div class="message" data-v-bfe0abb4>${ssrInterpolate(unref(info).message)}</div><div class="hint" data-v-bfe0abb4>${ssrInterpolate(unref(info).status == 1 && unref(isvote) == 0 ? `\u5DF2\u6709 ${unref(info).votes || 0} \u4EBA\u53C2\u4E0E\uFF0C` : `\u5171\u6709 ${unref(info).votes || 0} \u4EBA\u53C2\u4E0E`)} ${ssrInterpolate(`${unref(isvote) == 1 ? "\u4F60\u5DF2\u6295\u7968" : unref(info).status == 1 ? "\u53C2\u4E0E\u6295\u7968\u5373\u53EF\u67E5\u770B\u5B9E\u65F6\u7ED3\u679C" : ""}`)}</div>`);
_push(ssrRenderComponent(_component_ClientOnly, null, {}, _parent));
_push(`</div><div class="right" data-v-aa507ef0>`);
_push(`</div><div class="right" data-v-bfe0abb4>`);
{
_push(`<!---->`);
}
@ -1837,7 +1849,7 @@ const _sfc_main = {
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`<div class="options-popup-text" data-v-aa507ef0${_scopeId}>\u60A8\u8981\u53D6\u6D88\u6295\u7968\u5417\uFF1F</div><div class="options-popup-btn flexflex" data-v-aa507ef0${_scopeId}><div class="options-popup-item options-no flexcenter" data-v-aa507ef0${_scopeId}>\u53D6\u6D88\u6295\u7968</div><div class="options-popup-item options-yes flexcenter" data-v-aa507ef0${_scopeId}>\u4E0D\u53D6\u6D88</div></div>`);
_push2(`<div class="options-popup-text" data-v-bfe0abb4${_scopeId}>\u60A8\u8981\u53D6\u6D88\u6295\u7968\u5417\uFF1F</div><div class="options-popup-btn flexflex" data-v-bfe0abb4${_scopeId}><div class="options-popup-item options-no flexcenter" data-v-bfe0abb4${_scopeId}>\u53D6\u6D88\u6295\u7968</div><div class="options-popup-item options-yes flexcenter" data-v-bfe0abb4${_scopeId}>\u4E0D\u53D6\u6D88</div></div>`);
} else {
return [
createVNode("div", { class: "options-popup-text" }, "\u60A8\u8981\u53D6\u6D88\u6295\u7968\u5417\uFF1F"),
@ -1857,15 +1869,15 @@ const _sfc_main = {
_: 1
}, _parent));
if (unref(respondPopListState)) {
_push(`<div class="respond-pop-mask" data-v-aa507ef0><div class="respond-pop" data-v-aa507ef0>`);
_push(`<div class="respond-pop-mask" data-v-bfe0abb4><div class="respond-pop" data-v-bfe0abb4>`);
if (JSON.stringify(unref(respondDetail)) == "{}") {
_push(`<div class="respond-pop-no" data-v-aa507ef0><img class="respond-title-icon"${ssrRenderAttr("src", _imports_4)} data-v-aa507ef0><img${ssrRenderAttr("src", _imports_5)} class="respond-pop-no-icon" data-v-aa507ef0><div class="respond-pop-no-text" data-v-aa507ef0>- \u6682\u65E0\u6570\u636E -</div></div>`);
_push(`<div class="respond-pop-no" data-v-bfe0abb4><img class="respond-title-icon"${ssrRenderAttr("src", _imports_4)} data-v-bfe0abb4><img${ssrRenderAttr("src", _imports_5)} class="respond-pop-no-icon" data-v-bfe0abb4><div class="respond-pop-no-text" data-v-bfe0abb4>- \u6682\u65E0\u6570\u636E -</div></div>`);
} else {
_push(`<!--[--><div class="respond-pop-title" data-v-aa507ef0> \u5171<span class="respond-pop-amount" data-v-aa507ef0>${ssrInterpolate(unref(ripostecount).user)}</span>\u4EBA\u56DE\u5E94 <img class="respond-title-icon"${ssrRenderAttr("src", _imports_4)} data-v-aa507ef0></div><div class="respond-list" data-v-aa507ef0><!--[-->`);
_push(`<!--[--><div class="respond-pop-title" data-v-bfe0abb4> \u5171<span class="respond-pop-amount" data-v-bfe0abb4>${ssrInterpolate(unref(ripostecount).user)}</span>\u4EBA\u56DE\u5E94 <img class="respond-title-icon"${ssrRenderAttr("src", _imports_4)} data-v-bfe0abb4></div><div class="respond-list" data-v-bfe0abb4><!--[-->`);
ssrRenderList(unref(respondDetail), (item, index) => {
_push(`<div class="respond-item" data-v-aa507ef0><div class="${ssrRenderClass([{ pitch: item.selected }, "respond-code"])}" data-v-aa507ef0>${jointriposte(item.item)}</div><div class="respond-content flex1" data-v-aa507ef0><div class="respond-total" data-v-aa507ef0>${ssrInterpolate(item.user.length)} \u4EBA\u4F5C\u6B64\u56DE\u5E94</div><!--[-->`);
_push(`<div class="respond-item" data-v-bfe0abb4><div class="${ssrRenderClass([{ pitch: item.selected }, "respond-code"])}" data-v-bfe0abb4>${jointriposte(item.item)}</div><div class="respond-content flex1" data-v-bfe0abb4><div class="respond-total" data-v-bfe0abb4>${ssrInterpolate(item.user.length)} \u4EBA\u4F5C\u6B64\u56DE\u5E94</div><!--[-->`);
ssrRenderList(item.user, (item2, index2) => {
_push(`<div class="user-item" data-v-aa507ef0><img class="user-avatar"${ssrRenderAttr("src", item2.avatar)} data-v-aa507ef0> ${ssrInterpolate(item2.nickname || item2.username)}</div>`);
_push(`<div class="user-item" data-v-bfe0abb4><img class="user-avatar"${ssrRenderAttr("src", item2.avatar)} data-v-bfe0abb4> ${ssrInterpolate(item2.nickname || item2.username)}</div>`);
});
_push(`<!--]--></div></div>`);
});
@ -1885,7 +1897,7 @@ _sfc_main.setup = (props, ctx) => {
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/details/[id].vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
const _id_ = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-aa507ef0"]]);
const _id_ = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-bfe0abb4"]]);
export { _id_ as default };
//# sourceMappingURL=_id_-NSUtO10H.mjs.map
//# sourceMappingURL=_id_-LyIqyA6v.mjs.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"_id_-styles-1.mjs-0bpiqtVC.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/_id_-styles-1.mjs-0bpiqtVC.js"],"sourcesContent":null,"names":[],"mappings":"AAAA,MAAM,oDAAuD,GAAA;;;;"}

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
{"version":3,"file":"_id_-styles-1.mjs-lm5CHCnC.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/_id_-styles-1.mjs-lm5CHCnC.js"],"sourcesContent":null,"names":[],"mappings":"AAAA,MAAM,oDAAuD,GAAA;;;;"}

View File

@ -1,7 +0,0 @@
import { _ as _id__vue_vue_type_style_index_0_scoped_aa507ef0_lang } from './_id_-styles-1.mjs-lm5CHCnC.mjs';
import { _ as _id__vue_vue_type_style_index_1_lang } from './_id_-styles-2.mjs-1ubOd3l8.mjs';
const _id_Styles_4RQzcaaX = [_id__vue_vue_type_style_index_0_scoped_aa507ef0_lang, _id__vue_vue_type_style_index_1_lang];
export { _id_Styles_4RQzcaaX as default };
//# sourceMappingURL=_id_-styles.4RQzcaaX.mjs.map

View File

@ -1 +0,0 @@
{"version":3,"file":"_id_-styles.4RQzcaaX.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/_id_-styles.4RQzcaaX.mjs"],"sourcesContent":null,"names":["style_0","style_1"],"mappings":";;;AAEA,4BAAe,CAACA,oDAAO,EAAEC,oCAAO;;;;"}

View File

@ -0,0 +1,7 @@
import { _ as _id__vue_vue_type_style_index_0_scoped_bfe0abb4_lang } from './_id_-styles-1.mjs-0bpiqtVC.mjs';
import { _ as _id__vue_vue_type_style_index_1_lang } from './_id_-styles-2.mjs-1ubOd3l8.mjs';
const _id_Styles_rvNwWL6 = [_id__vue_vue_type_style_index_0_scoped_bfe0abb4_lang, _id__vue_vue_type_style_index_1_lang];
export { _id_Styles_rvNwWL6 as default };
//# sourceMappingURL=_id_-styles.rv-nwWL6.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"_id_-styles.rv-nwWL6.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/_id_-styles.rv-nwWL6.mjs"],"sourcesContent":null,"names":["style_0","style_1"],"mappings":";;;AAEA,2BAAe,CAACA,oDAAO,EAAEC,oCAAO;;;;"}

View File

@ -0,0 +1,6 @@
import { _ as _id__vue_vue_type_style_index_0_scoped_bfe0abb4_lang } from './_id_-styles-1.mjs-0bpiqtVC.mjs';
const _id__vue_r_P7hxd3 = [_id__vue_vue_type_style_index_0_scoped_bfe0abb4_lang];
export { _id__vue_r_P7hxd3 as default };
//# sourceMappingURL=_id_.vue.r_P7hxd3.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"_id_.vue.r_P7hxd3.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/_id_.vue.r_P7hxd3.vue"],"sourcesContent":null,"names":["style_0"],"mappings":";;AACA,0BAAe,CAACA,oDAAO;;;;"}

View File

@ -1,6 +0,0 @@
import { _ as _id__vue_vue_type_style_index_0_scoped_aa507ef0_lang } from './_id_-styles-1.mjs-lm5CHCnC.mjs';
const _id__vue_urSjilcc = [_id__vue_vue_type_style_index_0_scoped_aa507ef0_lang];
export { _id__vue_urSjilcc as default };
//# sourceMappingURL=_id_.vue.urSjilcc.mjs.map

View File

@ -1 +0,0 @@
{"version":3,"file":"_id_.vue.urSjilcc.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/_id_.vue.urSjilcc.vue"],"sourcesContent":null,"names":["style_0"],"mappings":";;AACA,0BAAe,CAACA,oDAAO;;;;"}

View File

@ -1,9 +1,9 @@
import { inject, ref, computed, defineComponent, watch, renderSlot, openBlock, createElementBlock, mergeProps, unref, nextTick, provide, reactive, onUpdated, normalizeClass, createElementVNode, normalizeStyle, createBlock, resolveDynamicComponent, withCtx, createCommentVNode, isRef, getCurrentInstance, Fragment, createVNode, warn, toRef, Transition, withDirectives, vShow } from 'vue';
import { d as useNamespace, k as namespaceContextKey, f as defaultNamespace, t as throwError } from '../server.mjs';
import { d as useNamespace, l as namespaceContextKey, g as defaultNamespace, t as throwError } from '../server.mjs';
import { fromPairs, isNil, get as get$1 } from 'lodash-unified';
import { useResizeObserver, useEventListener, isClient } from '@vueuse/core';
import { isString, isArray, isObject, hasOwn, NOOP, camelize } from '@vue/shared';
import { u as useHead } from './index-DpaNoGMh.mjs';
import { u as useHead } from './index-UkZLniuW.mjs';
import axios from 'axios';
import QS from 'qs';
@ -1807,4 +1807,4 @@ const Http = {
const _imports_1 = "data:image/png;base64,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";
export { hide_default as $, removeClass as A, ElScrollbar as B, CloseComponents as C, circle_close_default as D, ElIcon as E, FOCUS_TRAP_INJECTION_KEY as F, useSizeProp as G, Head as H, clock_default as I, calendar_default as J, d_arrow_left_default as K, d_arrow_right_default as L, Meta as M, ConfigProvider as N, isEmpty as O, arrow_left_default as P, arrow_right_default as Q, isUndefined as R, arrow_up_default as S, Title as T, UPDATE_MODEL_EVENT as U, arrow_down_default as V, buildProp as W, useGlobalSize as X, ValidateComponentsMap as Y, view_default as Z, _export_sfc as _, addUnit as a, loading_default as a0, withNoopInstall as a1, buildProps as b, withInstall as c, definePropType as d, isBoolean as e, _imports_1 as f, isNumber as g, useDeprecated as h, iconPropType as i, ElFocusTrap as j, useGlobalComponentSettings as k, TypeComponentsMap as l, mutable as m, withInstallFunction as n, Http as o, useZIndex as p, useGlobalConfig as q, TypeComponents as r, EVENT_CODE as s, hasClass as t, useLocale as u, getStyle as v, withInstallDirective as w, addClass as x, isElement as y, messageConfig as z };
//# sourceMappingURL=cross-icon-x_ztZaKs.mjs.map
//# sourceMappingURL=cross-icon-heL_WHBX.mjs.map

View File

@ -1,9 +1,9 @@
import { ref, inject, computed, unref, defineComponent, useAttrs as useAttrs$1, useSlots, shallowRef, watch, nextTick, toRef, withDirectives, openBlock, createElementBlock, mergeProps, createCommentVNode, Fragment, normalizeClass, renderSlot, createElementVNode, createBlock, withCtx, resolveDynamicComponent, withModifiers, createVNode, toDisplayString, normalizeStyle, vShow, provide, cloneVNode, Text, Comment, Teleport, Transition, readonly, reactive, getCurrentInstance, onUnmounted } from 'vue';
import { useResizeObserver, isClient, useEventListener, onClickOutside, tryOnScopeDispose, unrefElement } from '@vueuse/core';
import { isNil, fromPairs, isUndefined } from 'lodash-unified';
import { W as buildProp, b as buildProps, X as useGlobalSize, G as useSizeProp, d as definePropType, i as iconPropType, m as mutable, Y as ValidateComponentsMap, Z as view_default, $ as hide_default, E as ElIcon, D as circle_close_default, c as withInstall, j as ElFocusTrap, s as EVENT_CODE, e as isBoolean, a0 as loading_default, a1 as withNoopInstall, U as UPDATE_MODEL_EVENT, _ as _export_sfc, p as useZIndex, g as isNumber, h as useDeprecated, q as useGlobalConfig } from './cross-icon-x_ztZaKs.mjs';
import { W as buildProp, b as buildProps, X as useGlobalSize, G as useSizeProp, d as definePropType, i as iconPropType, m as mutable, Y as ValidateComponentsMap, Z as view_default, $ as hide_default, E as ElIcon, D as circle_close_default, c as withInstall, j as ElFocusTrap, s as EVENT_CODE, e as isBoolean, a0 as loading_default, a1 as withNoopInstall, U as UPDATE_MODEL_EVENT, _ as _export_sfc, p as useZIndex, g as isNumber, h as useDeprecated, q as useGlobalConfig } from './cross-icon-heL_WHBX.mjs';
import { NOOP, isObject, isString, isFunction, isArray } from '@vue/shared';
import { d as useNamespace, g as debugWarn, e as useId, i as useGetDerivedNamespace, j as useIdInjection } from '../server.mjs';
import { d as useNamespace, h as debugWarn, f as useId, j as useGetDerivedNamespace, k as useIdInjection } from '../server.mjs';
import { placements, createPopper } from '@popperjs/core';
import { TinyColor } from '@ctrl/tinycolor';
@ -2394,4 +2394,4 @@ const ElButton = withInstall(Button, {
withNoopInstall(ButtonGroup);
export { ElTooltip as E, TOOLTIP_INJECTION_KEY as T, useTooltipContentProps as a, ElInput as b, ElButton as c, useFormItem as d, useFormSize as e, useTooltipTriggerProps as u };
//# sourceMappingURL=el-button-TJWMUdQA.mjs.map
//# sourceMappingURL=el-button-NOJCxE51.mjs.map

View File

@ -1,7 +1,7 @@
import { useSSRContext, mergeProps, withCtx, createTextVNode, toDisplayString, defineComponent, computed, ref, h, resolveComponent } from 'vue';
import { l as hasProtocol, j as joinURL, p as parseURL, q as parseQuery, r as withTrailingSlash, t as withoutTrailingSlash } from '../../nitro/node-server.mjs';
import { u as useRouter, n as nuxtLinkDefaults, a as useRuntimeConfig, b as navigateTo } from '../server.mjs';
import { u as useHead } from './index-DpaNoGMh.mjs';
import { u as useHead } from './index-UkZLniuW.mjs';
import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent } from 'vue/server-renderer';
import { _ as _export_sfc } from './_plugin-vue_export-helper-yVxbj29m.mjs';
import 'node:http';
@ -13,6 +13,7 @@ import 'node:url';
import 'unhead';
import '@unhead/shared';
import 'vue-router';
import 'node-cache';
const firstNonUndefined = (...args) => args.find((arg) => arg !== void 0);
// @__NO_SIDE_EFFECTS__
@ -295,4 +296,4 @@ _sfc_main.setup = (props, ctx) => {
const error404 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ccd3db62"]]);
export { error404 as default };
//# sourceMappingURL=error-404-ddHl6xOi.mjs.map
//# sourceMappingURL=error-404-B-qHdSn_.mjs.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import { u as useHead } from './index-DpaNoGMh.mjs';
import { u as useHead } from './index-UkZLniuW.mjs';
import { useSSRContext, mergeProps } from 'vue';
import { ssrRenderAttrs, ssrInterpolate } from 'vue/server-renderer';
import { _ as _export_sfc } from './_plugin-vue_export-helper-yVxbj29m.mjs';
@ -13,6 +13,7 @@ import 'node:url';
import 'unhead';
import '@unhead/shared';
import 'vue-router';
import 'node-cache';
const _sfc_main = {
__name: "error-500",
@ -64,4 +65,4 @@ _sfc_main.setup = (props, ctx) => {
const error500 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-df79c84d"]]);
export { error500 as default };
//# sourceMappingURL=error-500-wl8Krfxh.mjs.map
//# sourceMappingURL=error-500-jFMUKCgz.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"error-500-jFMUKCgz.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/error-500-jFMUKCgz.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;AAoBA,MAAM,SAAY,GAAA;AAAA,EAChB,MAAQ,EAAA,WAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,MAAA;AAAA,KACX;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,IACA,UAAY,EAAA;AAAA,MACV,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,GAAA;AAAA,KACX;AAAA,IACA,aAAe,EAAA;AAAA,MACb,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,cAAA;AAAA,KACX;AAAA,IACA,WAAa,EAAA;AAAA,MACX,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,uCAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAQ,OAAA,CAAA;AAAA,MACN,KAAA,EAAO,GAAG,KAAM,CAAA,UAAU,MAAM,KAAM,CAAA,aAAa,CAAM,GAAA,EAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AAAA,MACtE,QAAQ,EAAC;AAAA,MACT,KAAO,EAAA;AAAA,QACL;AAAA,UACE,QAAU,EAAA,CAAA,uuBAAA,CAAA;AAAA,SACZ;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AACD,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA,EAAE,OAAO,gIAAiI,EAAA,EAAG,MAAM,CAAC,CAAC,gOAAgO,cAAe,CAAA,OAAA,CAAQ,UAAU,CAAC,CAAA,gGAAA,EAAmG,eAAe,OAAQ,CAAA,WAAW,CAAC,CAAkB,gBAAA,CAAA,CAAA,CAAA;AAAA,KACxlB,CAAA;AAAA,GACF;AACF,CAAA,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,8DAA8D,CAAA,CAAA;AAC3I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,QAAA,+BAAuC,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"}

View File

@ -1 +0,0 @@
{"version":3,"file":"error-500-wl8Krfxh.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/error-500-wl8Krfxh.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;AAmBA,MAAM,SAAY,GAAA;AAAA,EAChB,MAAQ,EAAA,WAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,MAAA;AAAA,KACX;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,IACA,UAAY,EAAA;AAAA,MACV,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,GAAA;AAAA,KACX;AAAA,IACA,aAAe,EAAA;AAAA,MACb,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,cAAA;AAAA,KACX;AAAA,IACA,WAAa,EAAA;AAAA,MACX,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,uCAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAQ,OAAA,CAAA;AAAA,MACN,KAAA,EAAO,GAAG,KAAM,CAAA,UAAU,MAAM,KAAM,CAAA,aAAa,CAAM,GAAA,EAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AAAA,MACtE,QAAQ,EAAC;AAAA,MACT,KAAO,EAAA;AAAA,QACL;AAAA,UACE,QAAU,EAAA,CAAA,uuBAAA,CAAA;AAAA,SACZ;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AACD,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA,EAAE,OAAO,gIAAiI,EAAA,EAAG,MAAM,CAAC,CAAC,gOAAgO,cAAe,CAAA,OAAA,CAAQ,UAAU,CAAC,CAAA,gGAAA,EAAmG,eAAe,OAAQ,CAAA,WAAW,CAAC,CAAkB,gBAAA,CAAA,CAAA,CAAA;AAAA,KACxlB,CAAA;AAAA,GACF;AACF,CAAA,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,8DAA8D,CAAA,CAAA;AAC3I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,QAAA,+BAAuC,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"}

View File

@ -1,6 +1,6 @@
import { H as Head, T as Title } from './cross-icon-x_ztZaKs.mjs';
import { l as getListHttp, a as colourValue, b as handleDeadline, _ as _imports_3, E as ElMessage, j as __nuxt_component_2, g as __nuxt_component_3, v as vLoading } from './like-icon-gray-Ct3pzHi1.mjs';
import { u as useHead } from './index-DpaNoGMh.mjs';
import { H as Head, T as Title } from './cross-icon-heL_WHBX.mjs';
import { l as getListHttp, a as colourValue, b as handleDeadline, _ as _imports_3, E as ElMessage, j as __nuxt_component_2, g as __nuxt_component_3, v as vLoading } from './like-icon-gray-d9nlY1Bv.mjs';
import { u as useHead } from './index-UkZLniuW.mjs';
import { useSSRContext, inject, ref, computed, watch, withAsyncContext, withCtx, createTextVNode, createVNode, unref, mergeProps, nextTick } from 'vue';
import { u as useRouter } from '../server.mjs';
import { ssrRenderComponent, ssrInterpolate, ssrRenderAttr, ssrRenderAttrs, ssrGetDirectiveProps, ssrRenderList, ssrRenderClass, ssrRenderStyle } from 'vue/server-renderer';
@ -25,6 +25,7 @@ import '@unhead/ssr';
import 'unhead';
import '@unhead/shared';
import '@vue/reactivity';
import 'node-cache';
const _imports_1 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='14px'%20height='14px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20transform='matrix(1%200%200%201%20-405%20-758%20)'%3e%3cpath%20d='M%2011.5390625%205.93359375%20C%2011.6484375%205.82421875%2011.703125%205.6875%2011.703125%205.5234375%20C%2011.703125%205.35329861111111%2011.6484375%205.21354166666667%2011.5390625%205.10416666666667%20L%2010.7096354166667%204.28385416666667%20C%2010.5941840277778%204.16840277777778%2010.4574652777778%204.11067708333333%2010.2994791666667%204.11067708333333%20C%2010.1414930555556%204.11067708333333%2010.0047743055556%204.16840277777778%209.88932291666667%204.28385416666667%20L%206.17057291666667%207.99348958333333%20L%204.11067708333333%205.93359375%20C%203.99522569444444%205.81814236111111%203.85850694444444%205.76041666666667%203.70052083333333%205.76041666666667%20C%203.54253472222222%205.76041666666667%203.40581597222222%205.81814236111111%203.29036458333333%205.93359375%20L%202.4609375%206.75390625%20C%202.3515625%206.86328125%202.296875%207.00303819444444%202.296875%207.17317708333333%20C%202.296875%207.33723958333333%202.3515625%207.47395833333333%202.4609375%207.58333333333333%20L%205.76041666666667%2010.8828125%20C%205.87586805555556%2010.9982638888889%206.01258680555556%2011.0559895833333%206.17057291666667%2011.0559895833333%20C%206.33463541666667%2011.0559895833333%206.47439236111111%2010.9982638888889%206.58984375%2010.8828125%20L%2011.5390625%205.93359375%20Z%20M%2013.0611979166667%203.486328125%20C%2013.6870659722222%204.55881076388889%2014%205.73003472222222%2014%207%20C%2014%208.26996527777778%2013.6870659722222%209.44118923611111%2013.0611979166667%2010.513671875%20C%2012.4353298611111%2011.5861545138889%2011.5861545138889%2012.4353298611111%2010.513671875%2013.0611979166667%20C%209.44118923611111%2013.6870659722222%208.26996527777778%2014%207%2014%20C%205.73003472222222%2014%204.55881076388889%2013.6870659722222%203.486328125%2013.0611979166667%20C%202.41384548611111%2012.4353298611111%201.56467013888889%2011.5861545138889%200.938802083333333%2010.513671875%20C%200.312934027777778%209.44118923611111%200%208.26996527777778%200%207%20C%200%205.73003472222222%200.312934027777778%204.55881076388889%200.938802083333333%203.486328125%20C%201.56467013888889%202.41384548611111%202.41384548611111%201.56467013888889%203.486328125%200.938802083333333%20C%204.55881076388889%200.312934027777777%205.73003472222222%200%207%200%20C%208.26996527777778%200%209.44118923611111%200.312934027777777%2010.513671875%200.938802083333333%20C%2011.5861545138889%201.56467013888889%2012.4353298611111%202.41384548611111%2013.0611979166667%203.486328125%20Z%20'%20fill-rule='nonzero'%20fill='%23000000'%20stroke='none'%20transform='matrix(1%200%200%201%20405%20758%20)'%20/%3e%3c/g%3e%3c/svg%3e";
const _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACshmLzAAAED0lEQVRYCe2Wu09UQRTGdwlYWWMAIzEhWhCJhRgVAbHzAWil1sT/gKcKLAqG159AYimVgIFSeVOglSYmRhPFEEiIlTQ2sP6+y5zr3OUuLFDqJLPnzHce883MmdmbSPzrLXmQDRgaGjqNfyO9Op1OFyFPuvjVZDK5Dja3tbU10dHR8d3h+4qcCDDxdZL3ku3yvhlxgMwS4nFLS8vMfv57Eujr6zuRn5//goQ3vESf0Sch9BW55vBifMrA6pFnPN9Jxk0Q2fCwiJqVwODg4Hk8J+inXMQYyVIk+xDJkDFgtyogkgK+60wrxDVki4sloMkJmifRcZJsoN/LZTvdhIEYGBioI26UQSF9E/1qHIldBLTtBQUFywRp5Z/y8vJuNjc3r6AfuA0PD5dub29PEVhOX4HERUhEjiMvM6vOHEyTbxxlcuUVcXLcUi56KTs6ItxvEQKqdlgGBYfz/cOu3J9AOcj5wGH1HG+tb48QYNI+Zxxra2ub9h2lc64XSFCVidtYNvnY2CTb/hZ9XGPIPDdcMiTgHplLAnFKSfqN86wEV20s4Nvp26Q7bEE+cSTAu+XHIq+oNqSrhQQw3NmBEl/iqpViOoY9KFp8n7LaLuefkC7MjZPo8o00l1NviEjoNQ1aSACGVx322smIaG1tXSSw1QN7WHU3q20D6zGcPF3t7e1LNvYl8boRatU7IroDwbtOgi9mzJTUxZBPAj2Ff7/5aXJW+szGMTLITVyJ2cIdAChy4JoZ42QmCfPJYfIEV3Ld+RdbnE8gLZCz3vU4mbMn/TiD4zCzBdLLHcwl0A+ylYfsItFuoDP3t918dByqCRvHSeKCXUbaXH8JGIgsiwsWpmrHHp45kK5jeCVFwr8divEbdsu9mwDGOTkzQXhF/GASq3LDakfv5Gb0qkv3fHv6+/vtRnlwoN7WL0cxa4bwCPQlI1As2coKczBJAf2WWWNIPnETB2bpwoIBPujyjTTlBD8DyBTp8KqHBPQZhcOSonBISfqNN/0dJCphX8VVsyc7dBEmm3y4Ke9Dg1PIGewecyzyTvwwe6TiYXkNx2kZkdfj/g8s8CCSvPqke+NiatixeYsPd0AAq5hBTEqH6aj/Zgs7TFMOJn/pYsf9yYVFCAhg4ibECr2QLZ06CgnFKody0b9xPA+RkbaLALugT7AGvDbp5SRY1tFEonIY8F7UKVY56L/QG6mjn5mhkRrwjapatk7VWiocUq+4KSkK6KPvl6lzBc+xUhWcfZR+0+TZ4rISUGJIFEJiBLVeY9f0l6rPbf2xBA8KE5Qw1iOje36Wbm1c2x63cnPYk4A58QjVouvqVRm2l4TMAsQfZRZcXExOBCzQVXQjyWuYpAhpf+Gr6Pqnm2U3Jvx7brH/ZbYd+APZxM/2zgvhdQAAAABJRU5ErkJggg==";
@ -189,4 +190,4 @@ _sfc_main.setup = (props, ctx) => {
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4bda045e"]]);
export { index as default };
//# sourceMappingURL=index-a_cE9qns.mjs.map
//# sourceMappingURL=index-IJEZDXen.mjs.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
import { ref, watchEffect, watch, getCurrentInstance } from 'vue';
import { l as injectHead, r as resolveUnrefHeadInput } from '../server.mjs';
import { m as injectHead, r as resolveUnrefHeadInput } from '../server.mjs';
import { composableNames } from '@unhead/shared';
function useHead(input, options = {}) {
@ -31,4 +31,4 @@ const coreComposableNames = [
});
export { useHead as u };
//# sourceMappingURL=index-DpaNoGMh.mjs.map
//# sourceMappingURL=index-UkZLniuW.mjs.map

View File

@ -1 +1 @@
{"version":3,"file":"index-DpaNoGMh.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/index-DpaNoGMh.js"],"sourcesContent":null,"names":[],"mappings":";;;;AAGA,SAAS,OAAQ,CAAA,KAAA,EAAO,OAAU,GAAA,EAAI,EAAA;AACpC,EAAM,MAAA,IAAA,GAAO,OAAQ,CAAA,IAAA,IAAQ,UAAW,EAAA,CAAA;AACxC,EAAA,IAAI,IAAM,EAAA;AACR,IAAA,IAAI,CAAC,IAAK,CAAA,GAAA;AACR,MAAO,OAAA,aAAA,CAAc,IAAM,EAAA,KAAA,EAAO,OAAO,CAAA,CAAA;AAC3C,IAAO,OAAA,IAAA,CAAK,IAAK,CAAA,KAAA,EAAO,OAAO,CAAA,CAAA;AAAA,GACjC;AACF,CAAA;AACA,SAAS,aAAc,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,GAAU,EAAI,EAAA;AAChD,EAAM,MAAA,WAAA,GAAc,IAAI,KAAK,CAAA,CAAA;AAC7B,EAAM,MAAA,aAAA,GAAgB,GAAI,CAAA,EAAE,CAAA,CAAA;AAC5B,EAAA,WAAA,CAAY,MAAM;AAChB,IAAA,aAAA,CAAc,QAAQ,WAAY,CAAA,KAAA,GAAQ,EAAC,GAAI,sBAAsB,KAAK,CAAA,CAAA;AAAA,GAC3E,CAAA,CAAA;AACD,EAAA,MAAM,KAAQ,GAAA,IAAA,CAAK,IAAK,CAAA,aAAA,CAAc,OAAO,OAAO,CAAA,CAAA;AACpD,EAAM,KAAA,CAAA,aAAA,EAAe,CAAC,CAAM,KAAA;AAC1B,IAAA,KAAA,CAAM,MAAM,CAAC,CAAA,CAAA;AAAA,GACd,CAAA,CAAA;AACD,EAAmB,kBAAA,EAAA,CAAA;AACnB,EAAO,OAAA,KAAA,CAAA;AACT,CAAA;AACA,MAAM,mBAAsB,GAAA;AAAA,EAC1B,YAAA;AACF,CAAA,CAAA;AAAA,CACC;AAAA,EACC,aAAe,EAAA,CAAC,GAAG,mBAAA,EAAqB,GAAG,eAAe,CAAA;AAC5D,CAAA;;;;"}
{"version":3,"file":"index-UkZLniuW.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/index-UkZLniuW.js"],"sourcesContent":null,"names":[],"mappings":";;;;AAGA,SAAS,OAAQ,CAAA,KAAA,EAAO,OAAU,GAAA,EAAI,EAAA;AACpC,EAAM,MAAA,IAAA,GAAO,OAAQ,CAAA,IAAA,IAAQ,UAAW,EAAA,CAAA;AACxC,EAAA,IAAI,IAAM,EAAA;AACR,IAAA,IAAI,CAAC,IAAK,CAAA,GAAA;AACR,MAAO,OAAA,aAAA,CAAc,IAAM,EAAA,KAAA,EAAO,OAAO,CAAA,CAAA;AAC3C,IAAO,OAAA,IAAA,CAAK,IAAK,CAAA,KAAA,EAAO,OAAO,CAAA,CAAA;AAAA,GACjC;AACF,CAAA;AACA,SAAS,aAAc,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,GAAU,EAAI,EAAA;AAChD,EAAM,MAAA,WAAA,GAAc,IAAI,KAAK,CAAA,CAAA;AAC7B,EAAM,MAAA,aAAA,GAAgB,GAAI,CAAA,EAAE,CAAA,CAAA;AAC5B,EAAA,WAAA,CAAY,MAAM;AAChB,IAAA,aAAA,CAAc,QAAQ,WAAY,CAAA,KAAA,GAAQ,EAAC,GAAI,sBAAsB,KAAK,CAAA,CAAA;AAAA,GAC3E,CAAA,CAAA;AACD,EAAA,MAAM,KAAQ,GAAA,IAAA,CAAK,IAAK,CAAA,aAAA,CAAc,OAAO,OAAO,CAAA,CAAA;AACpD,EAAM,KAAA,CAAA,aAAA,EAAe,CAAC,CAAM,KAAA;AAC1B,IAAA,KAAA,CAAM,MAAM,CAAC,CAAA,CAAA;AAAA,GACd,CAAA,CAAA;AACD,EAAmB,kBAAA,EAAA,CAAA;AACnB,EAAO,OAAA,KAAA,CAAA;AACT,CAAA;AACA,MAAM,mBAAsB,GAAA;AAAA,EAC1B,YAAA;AACF,CAAA,CAAA;AAAA,CACC;AAAA,EACC,aAAe,EAAA,CAAC,GAAG,mBAAA,EAAqB,GAAG,eAAe,CAAA;AAC5D,CAAA;;;;"}

View File

@ -1,6 +1,6 @@
import { b as buildAssetsURL } from '../../handlers/renderer.mjs';
import { c as withInstall, b as buildProps, d as definePropType, D as circle_close_default, G as useSizeProp, u as useLocale, I as clock_default, J as calendar_default, E as ElIcon, K as d_arrow_left_default, L as d_arrow_right_default, N as ConfigProvider, O as isEmpty, s as EVENT_CODE, _ as _export_sfc$1, f as _imports_1, P as arrow_left_default, Q as arrow_right_default, H as Head, T as Title, M as Meta, t as hasClass, y as isElement, R as isUndefined, v as getStyle, B as ElScrollbar, S as arrow_up_default, V as arrow_down_default } from './cross-icon-x_ztZaKs.mjs';
import { d as useFormItem, e as useFormSize, E as ElTooltip, b as ElInput, T as TOOLTIP_INJECTION_KEY, c as ElButton } from './el-button-TJWMUdQA.mjs';
import { c as withInstall, b as buildProps, d as definePropType, D as circle_close_default, G as useSizeProp, u as useLocale, I as clock_default, J as calendar_default, E as ElIcon, K as d_arrow_left_default, L as d_arrow_right_default, N as ConfigProvider, O as isEmpty, s as EVENT_CODE, _ as _export_sfc$1, f as _imports_1, P as arrow_left_default, Q as arrow_right_default, H as Head, T as Title, M as Meta, t as hasClass, y as isElement, R as isUndefined, v as getStyle, B as ElScrollbar, S as arrow_up_default, V as arrow_down_default } from './cross-icon-heL_WHBX.mjs';
import { d as useFormItem, e as useFormSize, E as ElTooltip, b as ElInput, T as TOOLTIP_INJECTION_KEY, c as ElButton } from './el-button-NOJCxE51.mjs';
import { defineComponent, useAttrs, inject, ref, computed, watch, nextTick, unref, provide, openBlock, createBlock, mergeProps, withCtx, normalizeClass, normalizeStyle, withModifiers, resolveDynamicComponent, createCommentVNode, createElementBlock, createElementVNode, renderSlot, toDisplayString, createVNode, toRef, Fragment, renderList, reactive, getCurrentInstance, useSSRContext, useSlots, createTextVNode, withKeys, withDirectives, vShow, Transition } from 'vue';
import dayjs from 'dayjs';
import customParseFormat from 'dayjs/plugin/customParseFormat.js';
@ -13,9 +13,9 @@ import isSameOrAfter from 'dayjs/plugin/isSameOrAfter.js';
import isSameOrBefore from 'dayjs/plugin/isSameOrBefore.js';
import { isEqual, flatten, debounce } from 'lodash-unified';
import { isArray, isDate, isFunction } from '@vue/shared';
import { d as useNamespace, g as debugWarn } from '../server.mjs';
import { d as useNamespace, h as debugWarn } from '../server.mjs';
import { onClickOutside, isClient } from '@vueuse/core';
import { u as useHead } from './index-DpaNoGMh.mjs';
import { u as useHead } from './index-UkZLniuW.mjs';
import { ssrRenderComponent, ssrRenderAttr, ssrRenderList, ssrInterpolate, ssrRenderClass, ssrRenderStyle } from 'vue/server-renderer';
import { useRouter } from 'vue-router';
import { _ as _export_sfc } from './_plugin-vue_export-helper-yVxbj29m.mjs';
@ -35,6 +35,7 @@ import 'axios';
import 'qs';
import '@popperjs/core';
import '@ctrl/tinycolor';
import 'node-cache';
const datePickTypes = [
"year",
@ -4487,4 +4488,4 @@ _sfc_main.setup = (props, ctx) => {
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3c97527a"]]);
export { index as default };
//# sourceMappingURL=index-UkDLr8N6.mjs.map
//# sourceMappingURL=index-ZqsK41sl.mjs.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import { u as useHead } from './index-DpaNoGMh.mjs';
import { u as useHead } from './index-UkZLniuW.mjs';
import { u as useRouter } from '../server.mjs';
import { useSSRContext } from 'vue';
import '@unhead/shared';
@ -11,6 +11,7 @@ import 'node:fs';
import 'node:url';
import 'unhead';
import 'vue-router';
import 'node-cache';
import 'vue/server-renderer';
const _sfc_main = {
@ -32,4 +33,4 @@ _sfc_main.setup = (props, ctx) => {
};
export { _sfc_main as default };
//# sourceMappingURL=index-pqrokjW9.mjs.map
//# sourceMappingURL=index-gOFNKrpA.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"index-gOFNKrpA.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/index-gOFNKrpA.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;AAmBA,MAAM,SAAY,GAAA;AAAA,EAChB,MAAQ,EAAA,OAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,MAAM,OAAS,EAAA;AACb,IAAA,OAAA,CAAQ,EAAE,MAAA,EAAQ,CAAC,EAAE,KAAK,qDAAsD,EAAA,EAAG,EAAE,GAAA,EAAK,0DAA4D,EAAA,IAAA,EAAM,IAAK,EAAC,GAAG,CAAA,CAAA;AACrK,IAAA,MAAM,SAAS,SAAU,EAAA,CAAA;AACzB,IAAA,MAAA,CAAO,QAAQ,aAAa,CAAA,CAAA;AAC5B,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AAAA,KACzC,CAAA;AAAA,GACF;AACF,EAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,iBAAiB,CAAA,CAAA;AAC9F,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA;;;;"}

View File

@ -1 +0,0 @@
{"version":3,"file":"index-pqrokjW9.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/index-pqrokjW9.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;AAkBA,MAAM,SAAY,GAAA;AAAA,EAChB,MAAQ,EAAA,OAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,MAAM,OAAS,EAAA;AACb,IAAA,OAAA,CAAQ,EAAE,MAAA,EAAQ,CAAC,EAAE,KAAK,qDAAsD,EAAA,EAAG,EAAE,GAAA,EAAK,0DAA4D,EAAA,IAAA,EAAM,IAAK,EAAC,GAAG,CAAA,CAAA;AACrK,IAAA,MAAM,SAAS,SAAU,EAAA,CAAA;AACzB,IAAA,MAAA,CAAO,QAAQ,aAAa,CAAA,CAAA;AAC5B,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AAAA,KACzC,CAAA;AAAA,GACF;AACF,EAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,iBAAiB,CAAA,CAAA;AAC9F,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA;;;;"}

View File

@ -1 +0,0 @@
{"version":3,"file":"island-renderer-1RMPnle6.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/island-renderer-1RMPnle6.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;AAiBA,MAAM,mBAAmB,EAAC,CAAA;AAC1B,MAAM,iBAAiB,eAAgB,CAAA;AAAA,EACrC,KAAO,EAAA;AAAA,IACL,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,GACF;AAAA,EACA,MAAM,KAAO,EAAA;AACX,IAAA,MAAM,SAAY,GAAA,gBAAA,CAAiB,KAAM,CAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AACrD,IAAA,IAAI,CAAC,SAAW,EAAA;AACd,MAAA,MAAM,WAAY,CAAA;AAAA,QAChB,UAAY,EAAA,GAAA;AAAA,QACZ,aAAe,EAAA,CAAA,4BAAA,EAA+B,KAAM,CAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,OACjE,CAAA,CAAA;AAAA,KACH;AACA,IAAA,eAAA,CAAgB,CAAC,CAAM,KAAA;AACrB,MAAA,OAAA,CAAQ,IAAI,CAAC,CAAA,CAAA;AAAA,KACd,CAAA,CAAA;AACD,IAAO,OAAA,MAAM,WAAY,CAAA,SAAA,IAAa,MAAQ,EAAA,EAAE,GAAG,KAAA,CAAM,OAAQ,CAAA,KAAA,EAAO,iBAAmB,EAAA,EAAA,EAAI,CAAA,CAAA;AAAA,GACjG;AACF,CAAC;;;;"}

View File

@ -10,6 +10,7 @@ import 'node:url';
import 'unhead';
import '@unhead/shared';
import 'vue-router';
import 'node-cache';
import 'vue/server-renderer';
const islandComponents = {};
@ -36,4 +37,4 @@ const islandRenderer = defineComponent({
});
export { islandRenderer as default };
//# sourceMappingURL=island-renderer-1RMPnle6.mjs.map
//# sourceMappingURL=island-renderer-SKIkxSTY.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"island-renderer-SKIkxSTY.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/island-renderer-SKIkxSTY.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;AAkBA,MAAM,mBAAmB,EAAC,CAAA;AAC1B,MAAM,iBAAiB,eAAgB,CAAA;AAAA,EACrC,KAAO,EAAA;AAAA,IACL,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,GACF;AAAA,EACA,MAAM,KAAO,EAAA;AACX,IAAA,MAAM,SAAY,GAAA,gBAAA,CAAiB,KAAM,CAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AACrD,IAAA,IAAI,CAAC,SAAW,EAAA;AACd,MAAA,MAAM,WAAY,CAAA;AAAA,QAChB,UAAY,EAAA,GAAA;AAAA,QACZ,aAAe,EAAA,CAAA,4BAAA,EAA+B,KAAM,CAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,OACjE,CAAA,CAAA;AAAA,KACH;AACA,IAAA,eAAA,CAAgB,CAAC,CAAM,KAAA;AACrB,MAAA,OAAA,CAAQ,IAAI,CAAC,CAAA,CAAA;AAAA,KACd,CAAA,CAAA;AACD,IAAO,OAAA,MAAM,WAAY,CAAA,SAAA,IAAa,MAAQ,EAAA,EAAE,GAAG,KAAA,CAAM,OAAQ,CAAA,KAAA,EAAO,iBAAmB,EAAA,EAAA,EAAI,CAAA,CAAA;AAAA,GACjG;AACF,CAAC;;;;"}

View File

@ -1,7 +1,7 @@
import { b as buildAssetsURL } from '../../handlers/renderer.mjs';
import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, renderSlot, createVNode, Transition, withCtx, withDirectives, createElementVNode, toDisplayString, vShow, h, inject, normalizeStyle, createBlock, resolveDynamicComponent, createCommentVNode, useSlots, ref, provide, Teleport, mergeProps, createSlots, shallowReactive, watch, Fragment, withModifiers, getCurrentInstance, nextTick, useSSRContext, isRef, onScopeDispose, isVNode, renderList, createTextVNode, watchEffect, render, reactive, createApp, toRefs } from 'vue';
import { b as buildProps, g as isNumber, c as withInstall, d as definePropType, i as iconPropType, u as useLocale, F as FOCUS_TRAP_INJECTION_KEY, E as ElIcon, h as useDeprecated, j as ElFocusTrap, m as mutable, k as useGlobalComponentSettings, l as TypeComponentsMap, n as withInstallFunction, o as Http, _ as _export_sfc, C as CloseComponents, U as UPDATE_MODEL_EVENT, e as isBoolean, p as useZIndex, q as useGlobalConfig, a as addUnit, r as TypeComponents, s as EVENT_CODE, t as hasClass, v as getStyle, x as addClass, y as isElement, z as messageConfig, f as _imports_1$3, A as removeClass, B as ElScrollbar } from './cross-icon-x_ztZaKs.mjs';
import { d as useNamespace, e as useId, f as defaultNamespace, t as throwError, u as useRouter$1, h as useRoute } from '../server.mjs';
import { b as buildProps, g as isNumber, c as withInstall, d as definePropType, i as iconPropType, u as useLocale, F as FOCUS_TRAP_INJECTION_KEY, E as ElIcon, h as useDeprecated, j as ElFocusTrap, m as mutable, k as useGlobalComponentSettings, l as TypeComponentsMap, n as withInstallFunction, o as Http, _ as _export_sfc, C as CloseComponents, U as UPDATE_MODEL_EVENT, e as isBoolean, p as useZIndex, q as useGlobalConfig, a as addUnit, r as TypeComponents, s as EVENT_CODE, t as hasClass, v as getStyle, x as addClass, y as isElement, z as messageConfig, f as _imports_1$3, A as removeClass, B as ElScrollbar } from './cross-icon-heL_WHBX.mjs';
import { d as useNamespace, f as useId, g as defaultNamespace, t as throwError, u as useRouter$1, i as useRoute } from '../server.mjs';
import { NOOP, isObject, isFunction, isString, hyphenate } from '@vue/shared';
import { isClient, useEventListener, useResizeObserver, useTimeoutFn } from '@vueuse/core';
import { isUndefined } from 'lodash-unified';
@ -2083,4 +2083,4 @@ const __nuxt_component_2 = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__scopeId
const _imports_3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAFFklEQVRoBdWZW2icRRTHdze7MVsviblYRVEbr4iihnjpmnuCxEARtQYFxZc+ircHfUygUkXQPlnQKuibBEEkNRISkxDazUNDQLBREW0pPtikmsqa2N1ks/5OzLecmb0k+/ml+zkw7DlnZs78/zNn5puZDQZ2KI2MjFwVjUZfxf1+8q3ki+STmUzm/a6uri+RPUlBT7xYTsbHx+8Kh8NfA/ZGq8hRP0U40NnZueYY3P6G3DYs1G5ycrKmoqLiqyLgpekL5DcL+SjF7jkBOn+ZfLMF4i90e7RfGxsbKzRDVvPC6k4QeFp3FwwGjywuLtYRUtcgx1VZBJtRV5VtW/ScACBv070TSgf7+/tTra2tS+vr6+/qMuT7LL1k1VMCs7OzEQBHFIo0C/U3R2dtfO/I8gvZ27XuRvaUwPLy8g2CSwFZUnIAAr9qHbI3ad2N7CkBQuQWDYIRPqv1lpaWBLaUslUq2ZXoKQEQ9GoUjLARMlKGLUsAMhW6vhvZMwKDg4Pi60kLxJjWh4aGBPDljg0yq47s9tczAu3t7c8CYo8CcjGdTh9TeqChoeFqdL1GzupyN7InBEZHR2VUD1oAPu/p6fld21gjTVonhE5r3Y3sCYHKysqP6FyPfprweNsGFAqFHrVs31l6yWq45BaqASCDU1NThzA9o8wiHuXEecqyiWoQIMS+yVOnJJNrAsPDw7sA/wG9PWf1+FMkEnndsgUmJiYewnaPsieqq6tnlO5KLJmA7DZtbW1PEA7vMQP2YewCo7qfr2/CRkO8v2LZrkwkEilOr3LQ285uJPeJefJn5E+co7jeEbDnT3RyLSV3k9vJz5PzfUETEHqM0DlBuZHkiAHYPzFGjQL3yixN98kxRWK4lY6PYLi+gD9Z6NUFyjbMjO4v+Hgch3kXZTwej6ZSqfPU2VXMTyll9Dm3sLCwN4TTj2kooyt7dL5cDHwGRx+urq42FQIvoGKx2N/08xJ1/xDdi4S/pvr6+gNBwkPir9S1kKbNF+zrb3V3d89tF5CsH+oXG5CCrpLJ5HXcHw4DXO9kM24IvMhClY/UuYK97VABd+3dnGizx3O6SeR8yIjV3TCtdTKVZLSzidvV0XKAFwCAT2aB/CtEJHSMnaiurm6pubk5u60RYkabxsbGjGG4hApr6H5CSPd4OmcG2O6MGjQwCNrl2ttOy2B5xOrjRA4Bq4KvVGZgrwYEoRnZRo0RJsaNGdANyilv4nxYY2BNzPxvZmB6evpOSNQqAkuszx+3JMC0+WKG+ObEFHgR43xX1rckYDUqp2rEP0A2TrI5BObn5325BgBszACBEZfRzCEgxmKpHASJ9Rri/w6FS258J0UP2zGuKvlGBGwMnNnBRv62o6ND7hGlz0A5WAHYiH8IbYRPXgIDAwO+WwMQMOIfAtmraHZaioyssY1eaoLyGAbgBzU+CBWeAV3RDzKHy3vBcYXCco7L0xlH384MOHXL8svjgRH/gDiugQgBI0SYnqJrYKty7dwj2SaQjX/x7/sZAKOxgHX8+56AXCEBuUeAbqbkysqKcQf37QzwR/llXGsPOcg3f+f6+vqS2pbzGsE70c+6AluYVgN2uVHooUK/teQa7RL9mNZFziFApUa7kta3Ktd1PZZ/qKqqOmz7lBA6bxt9qJ/hKecpeSCzscmV8g2M8nDqu8SOs0B+B2AP8JQjD7s5aeMbIE/lpAbI/Oc/3XJ6cGlYW1u70Nvb69lTpEsYO9/sHwHIu0q4cL20AAAAAElFTkSuQmCC";
export { ElMessage as E, _imports_3 as _, colourValue as a, handleDeadline as b, commentListHttp as c, detailsHttp as d, detailsSubmitommentListHttp as e, commentDeleteHttp as f, __nuxt_component_3 as g, handleDate as h, ElDialog as i, __nuxt_component_2 as j, getRiposteHttp as k, getListHttp as l, riposteSubmitHttp as r, unvoteCollectHttp as u, vLoading as v };
//# sourceMappingURL=like-icon-gray-Ct3pzHi1.mjs.map
//# sourceMappingURL=like-icon-gray-d9nlY1Bv.mjs.map

View File

@ -13,7 +13,7 @@ const client_manifest = {
"file": "cross-icon.zBxWVjBs.css",
"src": "_cross-icon.!~{00a}~.js"
},
"_cross-icon.8uQaWX_C.js": {
"_cross-icon.dbuXyEtl.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
@ -21,10 +21,10 @@ const client_manifest = {
"css": [
"cross-icon.zBxWVjBs.css"
],
"file": "cross-icon.8uQaWX_C.js",
"file": "cross-icon.dbuXyEtl.js",
"imports": [
"node_modules/nuxt/dist/app/entry.js",
"_vue.f36acd1f.wVZg3gGl.js"
"_vue.f36acd1f.R2vG9YdE.js"
]
},
"cross-icon.zBxWVjBs.css": {
@ -40,7 +40,7 @@ const client_manifest = {
"file": "el-button.gO5Z1ARE.css",
"src": "_el-button.!~{00c}~.js"
},
"_el-button.V7Pj-QB2.js": {
"_el-button.xGVMJsnK.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
@ -48,10 +48,10 @@ const client_manifest = {
"css": [
"el-button.gO5Z1ARE.css"
],
"file": "el-button.V7Pj-QB2.js",
"file": "el-button.xGVMJsnK.js",
"imports": [
"node_modules/nuxt/dist/app/entry.js",
"_cross-icon.8uQaWX_C.js"
"_cross-icon.dbuXyEtl.js"
]
},
"el-button.gO5Z1ARE.css": {
@ -60,14 +60,14 @@ const client_manifest = {
"prefetch": true,
"preload": true
},
"_masonry._ARD9vZG.js": {
"_masonry.9xLpn6ei.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "masonry._ARD9vZG.js",
"file": "masonry.9xLpn6ei.js",
"imports": [
"_cross-icon.8uQaWX_C.js"
"_cross-icon.dbuXyEtl.js"
],
"isDynamicEntry": true
},
@ -78,7 +78,7 @@ const client_manifest = {
"file": "tick-black.K7FQeM5e.css",
"src": "_tick-black.!~{00b}~.js"
},
"_tick-black.p-1GA49K.js": {
"_tick-black.36DZfjfI.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
@ -90,9 +90,9 @@ const client_manifest = {
"css": [
"tick-black.K7FQeM5e.css"
],
"file": "tick-black.p-1GA49K.js",
"file": "tick-black.36DZfjfI.js",
"imports": [
"_cross-icon.8uQaWX_C.js",
"_cross-icon.dbuXyEtl.js",
"node_modules/nuxt/dist/app/entry.js",
"__plugin-vue_export-helper.x3n3nnut.js"
]
@ -115,12 +115,12 @@ const client_manifest = {
"prefetch": true,
"mimeType": "image/png"
},
"_vue.f36acd1f.wVZg3gGl.js": {
"_vue.f36acd1f.R2vG9YdE.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "vue.f36acd1f.wVZg3gGl.js",
"file": "vue.f36acd1f.R2vG9YdE.js",
"imports": [
"node_modules/nuxt/dist/app/entry.js"
]
@ -159,10 +159,10 @@ const client_manifest = {
"prefetch": true,
"preload": true,
"css": [],
"file": "error-404.lSug7t-9.js",
"file": "error-404.PumzFoCA.js",
"imports": [
"node_modules/nuxt/dist/app/entry.js",
"_vue.f36acd1f.wVZg3gGl.js",
"_vue.f36acd1f.R2vG9YdE.js",
"__plugin-vue_export-helper.x3n3nnut.js"
],
"isDynamicEntry": true,
@ -180,9 +180,9 @@ const client_manifest = {
"prefetch": true,
"preload": true,
"css": [],
"file": "error-500.RQJ7cJ6U.js",
"file": "error-500.B2xGaFD9.js",
"imports": [
"_vue.f36acd1f.wVZg3gGl.js",
"_vue.f36acd1f.R2vG9YdE.js",
"__plugin-vue_export-helper.x3n3nnut.js",
"node_modules/nuxt/dist/app/entry.js"
],
@ -207,7 +207,7 @@ const client_manifest = {
"node_modules/@nuxt/ui-templates/dist/templates/error-404.vue",
"node_modules/@nuxt/ui-templates/dist/templates/error-500.vue"
],
"file": "entry.mCwd2zHM.js",
"file": "entry.pxOl88AV.js",
"isEntry": true,
"src": "node_modules/nuxt/dist/app/entry.js",
"_globalCSS": true
@ -227,20 +227,20 @@ const client_manifest = {
"no-discussion.k0-uWmju.png"
],
"css": [],
"file": "_id_.Rep_Wq0i.js",
"file": "_id_.8hgp6JE8.js",
"imports": [
"_cross-icon.8uQaWX_C.js",
"_tick-black.p-1GA49K.js",
"_el-button.V7Pj-QB2.js",
"_cross-icon.dbuXyEtl.js",
"_tick-black.36DZfjfI.js",
"_el-button.xGVMJsnK.js",
"node_modules/nuxt/dist/app/entry.js",
"__plugin-vue_export-helper.x3n3nnut.js",
"_vue.f36acd1f.wVZg3gGl.js"
"_vue.f36acd1f.R2vG9YdE.js"
],
"isDynamicEntry": true,
"src": "pages/details/[id].vue"
},
"_id_.PpNDDGt8.css": {
"file": "_id_.PpNDDGt8.css",
"_id_.0T2_cerI.css": {
"file": "_id_.0T2_cerI.css",
"resourceType": "style",
"prefetch": true,
"preload": true
@ -258,14 +258,14 @@ const client_manifest = {
"preload": true,
"css": [],
"dynamicImports": [
"_masonry._ARD9vZG.js"
"_masonry.9xLpn6ei.js"
],
"file": "index.BtGXzBfd.js",
"file": "index.jCT7QLMO.js",
"imports": [
"node_modules/nuxt/dist/app/entry.js",
"_cross-icon.8uQaWX_C.js",
"_tick-black.p-1GA49K.js",
"_vue.f36acd1f.wVZg3gGl.js",
"_cross-icon.dbuXyEtl.js",
"_tick-black.36DZfjfI.js",
"_vue.f36acd1f.R2vG9YdE.js",
"__plugin-vue_export-helper.x3n3nnut.js"
],
"isDynamicEntry": true,
@ -282,9 +282,9 @@ const client_manifest = {
"module": true,
"prefetch": true,
"preload": true,
"file": "index.G-bjzgzO.js",
"file": "index.EKKusAcT.js",
"imports": [
"_vue.f36acd1f.wVZg3gGl.js",
"_vue.f36acd1f.R2vG9YdE.js",
"node_modules/nuxt/dist/app/entry.js"
],
"isDynamicEntry": true,
@ -299,12 +299,12 @@ const client_manifest = {
"rubbish-icon.u4wE_KJZ.svg"
],
"css": [],
"file": "index.Y_3xJ8TH.js",
"file": "index.CYODuIeA.js",
"imports": [
"_cross-icon.8uQaWX_C.js",
"_el-button.V7Pj-QB2.js",
"_cross-icon.dbuXyEtl.js",
"_el-button.xGVMJsnK.js",
"node_modules/nuxt/dist/app/entry.js",
"_vue.f36acd1f.wVZg3gGl.js",
"_vue.f36acd1f.R2vG9YdE.js",
"__plugin-vue_export-helper.x3n3nnut.js"
],
"isDynamicEntry": true,

View File

@ -3,6 +3,7 @@ import { d as useRuntimeConfig$1, $ as $fetch, w as withQuery, l as hasProtocol,
import { getActiveHead } from 'unhead';
import { defineHeadPlugin } from '@unhead/shared';
import { createMemoryHistory, createRouter, START_LOCATION } from 'vue-router';
import NodeCache from 'node-cache';
import { ssrRenderSuspense, ssrRenderComponent, ssrRenderVNode } from 'vue/server-renderer';
import 'node:http';
import 'node:https';
@ -611,7 +612,7 @@ const _routes = [
meta: {},
alias: [],
redirect: void 0 ,
component: () => import('./_nuxt/_id_-NSUtO10H.mjs').then((m) => m.default || m)
component: () => import('./_nuxt/_id_-LyIqyA6v.mjs').then((m) => m.default || m)
},
{
name: "index.html",
@ -619,7 +620,7 @@ const _routes = [
meta: {},
alias: [],
redirect: void 0 ,
component: () => import('./_nuxt/index-a_cE9qns.mjs').then((m) => m.default || m)
component: () => import('./_nuxt/index-IJEZDXen.mjs').then((m) => m.default || m)
},
{
name: "index",
@ -627,7 +628,7 @@ const _routes = [
meta: {},
alias: [],
redirect: void 0 ,
component: () => import('./_nuxt/index-pqrokjW9.mjs').then((m) => m.default || m)
component: () => import('./_nuxt/index-gOFNKrpA.mjs').then((m) => m.default || m)
},
{
name: "publish",
@ -635,7 +636,7 @@ const _routes = [
meta: {},
alias: [],
redirect: void 0 ,
component: () => import('./_nuxt/index-UkDLr8N6.mjs').then((m) => m.default || m)
component: () => import('./_nuxt/index-ZqsK41sl.mjs').then((m) => m.default || m)
}
];
function generateRouteKey(route) {
@ -1048,13 +1049,34 @@ const useId = (deterministicId) => {
const element_plus_injection_plugin_1RNPi6ogby = /* @__PURE__ */ defineNuxtPlugin((nuxtApp) => {
nuxtApp.vueApp.provide(ID_INJECTION_KEY, { "prefix": 1024, "current": 0 });
});
const cache = new NodeCache({
stdTTL: 60,
// 默认过期时间(秒)
checkperiod: 120,
// 清理过期缓存的检查周期(秒)
maxKeys: 1e3
// 最大缓存项数量超过时LRU淘汰
});
const cache_server_TQJuBHlMuU = /* @__PURE__ */ defineNuxtPlugin(() => {
return {
provide: {
cache: {
get: (key) => cache.get(key),
set: (key, value, ttl) => cache.set(key, value, ttl),
del: (key) => cache.del(key),
flush: () => cache.flushAll()
}
}
};
});
const plugins = [
unhead_KgADcZ0jPj,
plugin,
revive_payload_server_eJ33V7gbc6,
components_plugin_KR1HBZs4kY,
element_plus_teleports_plugin_h4Dmekbj62,
element_plus_injection_plugin_1RNPi6ogby
element_plus_injection_plugin_1RNPi6ogby,
cache_server_TQJuBHlMuU
];
const _sfc_main$2 = {
__name: "app",
@ -1107,8 +1129,8 @@ const _sfc_main$1 = {
const statusMessage = _error.statusMessage ?? (is404 ? "Page Not Found" : "Internal Server Error");
const description = _error.message || _error.toString();
const stack = void 0;
const _Error404 = defineAsyncComponent(() => import('./_nuxt/error-404-ddHl6xOi.mjs').then((r) => r.default || r));
const _Error = defineAsyncComponent(() => import('./_nuxt/error-500-wl8Krfxh.mjs').then((r) => r.default || r));
const _Error404 = defineAsyncComponent(() => import('./_nuxt/error-404-B-qHdSn_.mjs').then((r) => r.default || r));
const _Error = defineAsyncComponent(() => import('./_nuxt/error-500-jFMUKCgz.mjs').then((r) => r.default || r));
const ErrorTemplate = is404 ? _Error404 : _Error;
return (_ctx, _push, _parent, _attrs) => {
_push(ssrRenderComponent(unref(ErrorTemplate), mergeProps({ statusCode: unref(statusCode), statusMessage: unref(statusMessage), description: unref(description), stack: unref(stack) }, _attrs), null, _parent));
@ -1126,7 +1148,7 @@ const _sfc_main = {
__name: "nuxt-root",
__ssrInlineRender: true,
setup(__props) {
const IslandRenderer = defineAsyncComponent(() => import('./_nuxt/island-renderer-1RMPnle6.mjs').then((r) => r.default || r));
const IslandRenderer = defineAsyncComponent(() => import('./_nuxt/island-renderer-SKIkxSTY.mjs').then((r) => r.default || r));
const nuxtApp = /* @__PURE__ */ useNuxtApp();
nuxtApp.deferHydration();
nuxtApp.ssrContext.url;
@ -1188,5 +1210,5 @@ let entry;
}
const entry$1 = (ssrContext) => entry(ssrContext);
export { useRuntimeConfig as a, navigateTo as b, createError as c, useNamespace as d, entry$1 as default, useId as e, defaultNamespace as f, debugWarn as g, useRoute as h, useGetDerivedNamespace as i, useIdInjection as j, namespaceContextKey as k, injectHead as l, nuxtLinkDefaults as n, resolveUnrefHeadInput as r, throwError as t, useRouter as u };
export { useRuntimeConfig as a, navigateTo as b, createError as c, useNamespace as d, entry$1 as default, useNuxtApp as e, useId as f, defaultNamespace as g, debugWarn as h, useRoute as i, useGetDerivedNamespace as j, useIdInjection as k, namespaceContextKey as l, injectHead as m, nuxtLinkDefaults as n, resolveUnrefHeadInput as r, throwError as t, useRouter as u };
//# sourceMappingURL=server.mjs.map

View File

@ -2,30 +2,30 @@ const interopDefault = r => r.default || r || [];
const styles = {
"node_modules/nuxt/dist/app/entry.js": () => import('./_nuxt/entry-styles.naVkQneZ.mjs').then(interopDefault),
"app.vue": () => import('./_nuxt/entry-styles.naVkQneZ.mjs').then(interopDefault),
"pages/details/[id].vue": () => import('./_nuxt/_id_-styles.4RQzcaaX.mjs').then(interopDefault),
"pages/details/[id].vue": () => import('./_nuxt/_id_-styles.rv-nwWL6.mjs').then(interopDefault),
"pages/index.html/index.vue": () => import('./_nuxt/index-styles.w9kjREeb.mjs').then(interopDefault),
"pages/publish/index.vue": () => import('./_nuxt/index-styles.I6lDZG0k.mjs').then(interopDefault),
"app.vue?vue&type=style&index=0&lang.less": () => import('./_nuxt/entry-styles.naVkQneZ.mjs').then(interopDefault),
"node_modules/@nuxt/ui-templates/dist/templates/error-404.vue": () => import('./_nuxt/error-404-styles.76vs4_lx.mjs').then(interopDefault),
"node_modules/@nuxt/ui-templates/dist/templates/error-500.vue": () => import('./_nuxt/error-500-styles.vPkMidp2.mjs').then(interopDefault),
"node_modules/@nuxt/ui-templates/dist/templates/error-404.vue": () => import('./_nuxt/error-404-styles.76vs4_lx.mjs').then(interopDefault),
"pages/index.html/index.vue?vue&type=style&index=0&scoped=4bda045e&lang.less": () => import('./_nuxt/index-styles.w9kjREeb.mjs').then(interopDefault),
"pages/publish/index.vue?vue&type=style&index=0&scoped=3c97527a&lang.less": () => import('./_nuxt/index.vue.8lVG4scf.mjs').then(interopDefault),
"pages/publish/index.vue?vue&type=style&index=1&scoped=3c97527a&lang.css": () => import('./_nuxt/index.vue.gFt5C-ZX.mjs').then(interopDefault),
"components/top-head.vue": () => import('./_nuxt/top-head-styles.Amf2TODn.mjs').then(interopDefault),
"components/Empty.vue": () => import('./_nuxt/Empty-styles.HDG5R4fy.mjs').then(interopDefault),
"pages/details/[id].vue?vue&type=style&index=1&lang.less": () => import('./_nuxt/_id_.vue.a-ZY2d-L.mjs').then(interopDefault),
"node_modules/@nuxt/ui-templates/dist/templates/error-404.vue?vue&type=style&index=0&scoped=ccd3db62&lang.css": () => import('./_nuxt/error-404-styles.76vs4_lx.mjs').then(interopDefault),
"node_modules/@nuxt/ui-templates/dist/templates/error-500.vue?vue&type=style&index=0&scoped=df79c84d&lang.css": () => import('./_nuxt/error-500-styles.vPkMidp2.mjs').then(interopDefault),
"node_modules/@nuxt/ui-templates/dist/templates/error-404.vue?vue&type=style&index=0&scoped=ccd3db62&lang.css": () => import('./_nuxt/error-404-styles.76vs4_lx.mjs').then(interopDefault),
"components/RespondAdd.vue": () => import('./_nuxt/RespondAdd-styles.z9_h02pG.mjs').then(interopDefault),
"components/DetailsComments.vue": () => import('./_nuxt/DetailsComments-styles.ZKjyqWKO.mjs').then(interopDefault),
"components/DetailsArea.vue": () => import('./_nuxt/DetailsArea-styles.k0fS9wql.mjs').then(interopDefault),
"pages/details/[id].vue?vue&type=style&index=0&scoped=aa507ef0&lang.less": () => import('./_nuxt/_id_.vue.urSjilcc.mjs').then(interopDefault),
"pages/details/[id].vue?vue&type=style&index=0&scoped=bfe0abb4&lang.less": () => import('./_nuxt/_id_.vue.r_P7hxd3.mjs').then(interopDefault),
"components/top-head.vue?vue&type=style&index=0&scoped=e7728f2b&lang.less": () => import('./_nuxt/top-head-styles.Amf2TODn.mjs').then(interopDefault),
"components/Empty.vue?vue&type=style&index=0&scoped=25969054&lang.less": () => import('./_nuxt/Empty-styles.HDG5R4fy.mjs').then(interopDefault),
"components/RespondAdd.vue?vue&type=style&index=0&scoped=2d19cd9f&lang.less": () => import('./_nuxt/RespondAdd.vue.tAicB3tb.mjs').then(interopDefault),
"components/RespondAdd.vue?vue&type=style&index=1&lang.less": () => import('./_nuxt/RespondAdd.vue.qlSYm_jV.mjs').then(interopDefault),
"components/DetailsComments.vue?vue&type=style&index=1&lang.less": () => import('./_nuxt/DetailsComments.vue._7NznzaU.mjs').then(interopDefault),
"components/MyPopup.vue": () => import('./_nuxt/MyPopup-styles.AKSngg8_.mjs').then(interopDefault),
"components/DetailsComments.vue?vue&type=style&index=1&lang.less": () => import('./_nuxt/DetailsComments.vue._7NznzaU.mjs').then(interopDefault),
"components/DetailsArea.vue?vue&type=style&index=0&scoped=0e7e22a6&lang.less": () => import('./_nuxt/DetailsArea-styles.k0fS9wql.mjs').then(interopDefault),
"components/DetailsComments.vue?vue&type=style&index=0&scoped=097bc8ca&lang.less": () => import('./_nuxt/DetailsComments.vue.YFvnBtXL.mjs').then(interopDefault),
"components/Report.vue": () => import('./_nuxt/Report-styles.NWYtpbJt.mjs').then(interopDefault),

View File

@ -1 +1 @@
{"version":3,"file":"styles.mjs","sources":["../../../../.nuxt/dist/server/styles.mjs"],"sourcesContent":null,"names":[],"mappings":"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"}
{"version":3,"file":"styles.mjs","sources":["../../../../.nuxt/dist/server/styles.mjs"],"sourcesContent":null,"names":[],"mappings":"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"}

View File

@ -3678,7 +3678,7 @@ function klona(x) {
const inlineAppConfig = {
"nuxt": {
"buildId": "d45e94f0-86f6-4617-b5bd-8bf6d36a89db"
"buildId": "18382bba-b5df-4f39-a91f-588aba3b7431"
}
};
@ -4966,201 +4966,201 @@ const assets = {
"size": 2238,
"path": "../public/favicon.ico"
},
"/_nuxt/cross-icon.8uQaWX_C.js": {
"/_nuxt/cross-icon.dbuXyEtl.js": {
"type": "application/javascript",
"etag": "\"1ceba-22VyYM14CpRzV98eJ9647mjGGMA\"",
"mtime": "2025-05-29T03:14:45.188Z",
"etag": "\"1ceba-yhE8jXKb7uI3ZLXZ3sMd+/wx5bg\"",
"mtime": "2025-06-03T03:03:44.465Z",
"size": 118458,
"path": "../public/_nuxt/cross-icon.8uQaWX_C.js"
"path": "../public/_nuxt/cross-icon.dbuXyEtl.js"
},
"/_nuxt/cross-icon.zBxWVjBs.css": {
"type": "text/css; charset=utf-8",
"etag": "\"344e-XZT/mYzLxlrPWGKJleYi5RweCFw\"",
"mtime": "2025-05-29T03:14:45.187Z",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 13390,
"path": "../public/_nuxt/cross-icon.zBxWVjBs.css"
},
"/_nuxt/el-button.gO5Z1ARE.css": {
"type": "text/css; charset=utf-8",
"etag": "\"6d7f-lcwIDJ63sgON1Y3ALN0NRMT2BYg\"",
"mtime": "2025-05-29T03:14:45.187Z",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 28031,
"path": "../public/_nuxt/el-button.gO5Z1ARE.css"
},
"/_nuxt/el-button.V7Pj-QB2.js": {
"/_nuxt/el-button.xGVMJsnK.js": {
"type": "application/javascript",
"etag": "\"11344-yLFCnidampVwLE4JzAWl+Se0Fy8\"",
"mtime": "2025-05-29T03:14:45.188Z",
"etag": "\"11344-Nt64HFKxizawF+IrxUDhdEj/b8E\"",
"mtime": "2025-06-03T03:03:44.464Z",
"size": 70468,
"path": "../public/_nuxt/el-button.V7Pj-QB2.js"
"path": "../public/_nuxt/el-button.xGVMJsnK.js"
},
"/_nuxt/empty-icon.smkaMoHI.png": {
"type": "image/png",
"etag": "\"17df-ZbUVuzPJ5DAL9B9xteitdPCiUxY\"",
"mtime": "2025-05-29T03:14:45.186Z",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 6111,
"path": "../public/_nuxt/empty-icon.smkaMoHI.png"
},
"/_nuxt/entry.BQ2EHXV0.css": {
"type": "text/css; charset=utf-8",
"etag": "\"8d5-c4iulIcQ5kYRCKNGfqr3VO0KYoU\"",
"mtime": "2025-05-29T03:14:45.187Z",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 2261,
"path": "../public/_nuxt/entry.BQ2EHXV0.css"
},
"/_nuxt/entry.mCwd2zHM.js": {
"/_nuxt/entry.pxOl88AV.js": {
"type": "application/javascript",
"etag": "\"2569f-6J0ixLuEXfhEmhMovaW5Ul+XP7M\"",
"mtime": "2025-05-29T03:14:45.188Z",
"etag": "\"2569f-msXaMrfKWuk2xWQBRoaDSHhLobE\"",
"mtime": "2025-06-03T03:03:44.466Z",
"size": 153247,
"path": "../public/_nuxt/entry.mCwd2zHM.js"
"path": "../public/_nuxt/entry.pxOl88AV.js"
},
"/_nuxt/error-404.lSug7t-9.js": {
"/_nuxt/error-404.PumzFoCA.js": {
"type": "application/javascript",
"etag": "\"1992-t+ADYmO3v4WdD7uc1t0BVYsKHtw\"",
"mtime": "2025-05-29T03:14:45.187Z",
"etag": "\"1992-vvYWe7IYi68VwxK1AFeUD87D2R8\"",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 6546,
"path": "../public/_nuxt/error-404.lSug7t-9.js"
"path": "../public/_nuxt/error-404.PumzFoCA.js"
},
"/_nuxt/error-404.qFGwA4uS.css": {
"type": "text/css; charset=utf-8",
"etag": "\"e26-9UI2Z985OY4ttYcbyiWh91cxpnM\"",
"mtime": "2025-05-29T03:14:45.187Z",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 3622,
"path": "../public/_nuxt/error-404.qFGwA4uS.css"
},
"/_nuxt/error-500.RQJ7cJ6U.js": {
"/_nuxt/error-500.B2xGaFD9.js": {
"type": "application/javascript",
"etag": "\"7b3-lq1oyrkbkNcjnuqJ5ctc5EqW0Jg\"",
"mtime": "2025-05-29T03:14:45.187Z",
"etag": "\"7b3-peNSduG75n7SF/wz390M8TzLjf4\"",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 1971,
"path": "../public/_nuxt/error-500.RQJ7cJ6U.js"
"path": "../public/_nuxt/error-500.B2xGaFD9.js"
},
"/_nuxt/error-500.V0P2JAtD.css": {
"type": "text/css; charset=utf-8",
"etag": "\"79e-ByRo+49BgcevWdRjJy3CMx2IA5k\"",
"mtime": "2025-05-29T03:14:45.187Z",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 1950,
"path": "../public/_nuxt/error-500.V0P2JAtD.css"
},
"/_nuxt/index.BtGXzBfd.js": {
"/_nuxt/index.CYODuIeA.js": {
"type": "application/javascript",
"etag": "\"3ab2-/WI9Nc/klLjeMearN7RrYZAinGk\"",
"mtime": "2025-05-29T03:14:45.187Z",
"size": 15026,
"path": "../public/_nuxt/index.BtGXzBfd.js"
"etag": "\"248d5-yJpwN27MDv2n5YN/SfunVpJQXZ0\"",
"mtime": "2025-06-03T03:03:44.466Z",
"size": 149717,
"path": "../public/_nuxt/index.CYODuIeA.js"
},
"/_nuxt/index.G-bjzgzO.js": {
"/_nuxt/index.EKKusAcT.js": {
"type": "application/javascript",
"etag": "\"151-7R52MpTPARBDzUYiAPOVAN958EM\"",
"mtime": "2025-05-29T03:14:45.187Z",
"etag": "\"151-Fso6OmjLPIVsgQkNOTWLWKTyvDg\"",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 337,
"path": "../public/_nuxt/index.G-bjzgzO.js"
"path": "../public/_nuxt/index.EKKusAcT.js"
},
"/_nuxt/index.jCT7QLMO.js": {
"type": "application/javascript",
"etag": "\"3ab2-zBiq8UczkX28yQ+N38X62M76TkQ\"",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 15026,
"path": "../public/_nuxt/index.jCT7QLMO.js"
},
"/_nuxt/index.JOilZwtn.css": {
"type": "text/css; charset=utf-8",
"etag": "\"74a9-VTJ1RyN35QRSRnhE5MA5boDWijA\"",
"mtime": "2025-05-29T03:14:45.186Z",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 29865,
"path": "../public/_nuxt/index.JOilZwtn.css"
},
"/_nuxt/index.waDh6Y-C.css": {
"type": "text/css; charset=utf-8",
"etag": "\"1037-6GQnJEAnsPzjA/REfo9nGyOgDfU\"",
"mtime": "2025-05-29T03:14:45.187Z",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 4151,
"path": "../public/_nuxt/index.waDh6Y-C.css"
},
"/_nuxt/index.Y_3xJ8TH.js": {
"type": "application/javascript",
"etag": "\"248d5-EcvVGkR5WPQo8/qbkDyIK5Ae1B0\"",
"mtime": "2025-05-29T03:14:45.188Z",
"size": 149717,
"path": "../public/_nuxt/index.Y_3xJ8TH.js"
},
"/_nuxt/logo-icon.fQ3LbI4i.png": {
"type": "image/png",
"etag": "\"8d1d-YZYdbCulYrGuoQi7QbaoOuzZCyY\"",
"mtime": "2025-05-29T03:14:45.187Z",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 36125,
"path": "../public/_nuxt/logo-icon.fQ3LbI4i.png"
},
"/_nuxt/masonry._ARD9vZG.js": {
"/_nuxt/masonry.9xLpn6ei.js": {
"type": "application/javascript",
"etag": "\"5925-yNx628zGLodzqbw5RNEJo6nNMZU\"",
"mtime": "2025-05-29T03:14:45.187Z",
"etag": "\"5925-QeM6LIOguAzo8BXjSKvmyNHjDAA\"",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 22821,
"path": "../public/_nuxt/masonry._ARD9vZG.js"
"path": "../public/_nuxt/masonry.9xLpn6ei.js"
},
"/_nuxt/no-discussion.k0-uWmju.png": {
"type": "image/png",
"etag": "\"2dea5-I8P5QXciTaBjL/JKCmPKRaVuijY\"",
"mtime": "2025-05-29T03:14:45.185Z",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 188069,
"path": "../public/_nuxt/no-discussion.k0-uWmju.png"
},
"/_nuxt/rubbish-icon.u4wE_KJZ.svg": {
"type": "image/svg+xml",
"etag": "\"17e6-D1z+W/WQr2oe5tDQaenVnIoxvvY\"",
"mtime": "2025-05-29T03:14:45.186Z",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 6118,
"path": "../public/_nuxt/rubbish-icon.u4wE_KJZ.svg"
},
"/_nuxt/tick-black.36DZfjfI.js": {
"type": "application/javascript",
"etag": "\"aa08-FztCI4UPW+o5eFApx3PqzuyHDz8\"",
"mtime": "2025-06-03T03:03:44.464Z",
"size": 43528,
"path": "../public/_nuxt/tick-black.36DZfjfI.js"
},
"/_nuxt/tick-black.K7FQeM5e.css": {
"type": "text/css; charset=utf-8",
"etag": "\"2ea5-J3Jtl2rIai9m/TleAw5NwGkxcrk\"",
"mtime": "2025-05-29T03:14:45.187Z",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 11941,
"path": "../public/_nuxt/tick-black.K7FQeM5e.css"
},
"/_nuxt/tick-black.p-1GA49K.js": {
"/_nuxt/vue.f36acd1f.R2vG9YdE.js": {
"type": "application/javascript",
"etag": "\"aa08-FM8wRZHDqwTWfrXvynxBbtg4G7E\"",
"mtime": "2025-05-29T03:14:45.188Z",
"size": 43528,
"path": "../public/_nuxt/tick-black.p-1GA49K.js"
},
"/_nuxt/vue.f36acd1f.wVZg3gGl.js": {
"type": "application/javascript",
"etag": "\"18c-TBiI2++pWbfqgduuMLSTTzqjRYI\"",
"mtime": "2025-05-29T03:14:45.187Z",
"etag": "\"18c-UP5jriip554zisbgVDHyNTmnMhM\"",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 396,
"path": "../public/_nuxt/vue.f36acd1f.wVZg3gGl.js"
"path": "../public/_nuxt/vue.f36acd1f.R2vG9YdE.js"
},
"/_nuxt/_id_.PpNDDGt8.css": {
"/_nuxt/_id_.0T2_cerI.css": {
"type": "text/css; charset=utf-8",
"etag": "\"95d7-ppoW95AWMR1uE7QuT7VZUMRstXw\"",
"mtime": "2025-05-29T03:14:45.187Z",
"etag": "\"95d7-4AeSrnS0DkDdwMtNRxI5CRnVl0Y\"",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 38359,
"path": "../public/_nuxt/_id_.PpNDDGt8.css"
"path": "../public/_nuxt/_id_.0T2_cerI.css"
},
"/_nuxt/_id_.Rep_Wq0i.js": {
"/_nuxt/_id_.8hgp6JE8.js": {
"type": "application/javascript",
"etag": "\"1707a-5K36YLiOXVwbqtmyx09QxBFSqeU\"",
"mtime": "2025-05-29T03:14:45.188Z",
"size": 94330,
"path": "../public/_nuxt/_id_.Rep_Wq0i.js"
"etag": "\"1708a-38wSNBoM2+GdS0E6SE8XAEoHwIM\"",
"mtime": "2025-06-03T03:03:44.465Z",
"size": 94346,
"path": "../public/_nuxt/_id_.8hgp6JE8.js"
},
"/_nuxt/_plugin-vue_export-helper.x3n3nnut.js": {
"type": "application/javascript",
"etag": "\"5b-eFCz/UrraTh721pgAl0VxBNR1es\"",
"mtime": "2025-05-29T03:14:45.187Z",
"mtime": "2025-06-03T03:03:44.462Z",
"size": 91,
"path": "../public/_nuxt/_plugin-vue_export-helper.x3n3nnut.js"
},
"/_nuxt/builds/latest.json": {
"type": "application/json",
"etag": "\"47-AnfBWvZZF4+z3f7OeKD+DB9Ny/w\"",
"mtime": "2025-05-29T03:14:48.980Z",
"etag": "\"47-IyXg215IqTix+B1dcLTzeGrj+10\"",
"mtime": "2025-06-03T03:03:47.820Z",
"size": 71,
"path": "../public/_nuxt/builds/latest.json"
},
"/_nuxt/builds/meta/d45e94f0-86f6-4617-b5bd-8bf6d36a89db.json": {
"/_nuxt/builds/meta/18382bba-b5df-4f39-a91f-588aba3b7431.json": {
"type": "application/json",
"etag": "\"8b-VHcvpan+b98iicBL8UQy3aiV1vo\"",
"mtime": "2025-05-29T03:14:48.980Z",
"etag": "\"8b-jIXwrVVpgdNK4sddvt+6Rs/dnUc\"",
"mtime": "2025-06-03T03:03:47.820Z",
"size": 139,
"path": "../public/_nuxt/builds/meta/d45e94f0-86f6-4617-b5bd-8bf6d36a89db.json"
"path": "../public/_nuxt/builds/meta/18382bba-b5df-4f39-a91f-588aba3b7431.json"
}
};

257
.output/server/node_modules/clone/clone.js generated vendored Normal file
View File

@ -0,0 +1,257 @@
var clone = (function() {
'use strict';
function _instanceof(obj, type) {
return type != null && obj instanceof type;
}
var nativeMap;
try {
nativeMap = Map;
} catch(_) {
// maybe a reference error because no `Map`. Give it a dummy value that no
// value will ever be an instanceof.
nativeMap = function() {};
}
var nativeSet;
try {
nativeSet = Set;
} catch(_) {
nativeSet = function() {};
}
var nativePromise;
try {
nativePromise = Promise;
} catch(_) {
nativePromise = function() {};
}
/**
* Clones (copies) an Object using deep copying.
*
* This function supports circular references by default, but if you are certain
* there are no circular references in your object, you can save some CPU time
* by calling clone(obj, false).
*
* Caution: if `circular` is false and `parent` contains circular references,
* your program may enter an infinite loop and crash.
*
* @param `parent` - the object to be cloned
* @param `circular` - set to true if the object to be cloned may contain
* circular references. (optional - true by default)
* @param `depth` - set to a number if the object is only to be cloned to
* a particular depth. (optional - defaults to Infinity)
* @param `prototype` - sets the prototype to be used when cloning an object.
* (optional - defaults to parent prototype).
* @param `includeNonEnumerable` - set to true if the non-enumerable properties
* should be cloned as well. Non-enumerable properties on the prototype
* chain will be ignored. (optional - false by default)
*/
function clone(parent, circular, depth, prototype, includeNonEnumerable) {
if (typeof circular === 'object') {
depth = circular.depth;
prototype = circular.prototype;
includeNonEnumerable = circular.includeNonEnumerable;
circular = circular.circular;
}
// maintain two arrays for circular references, where corresponding parents
// and children have the same index
var allParents = [];
var allChildren = [];
var useBuffer = typeof Buffer != 'undefined';
if (typeof circular == 'undefined')
circular = true;
if (typeof depth == 'undefined')
depth = Infinity;
// recurse this function so we don't reset allParents and allChildren
function _clone(parent, depth) {
// cloning null always returns null
if (parent === null)
return null;
if (depth === 0)
return parent;
var child;
var proto;
if (typeof parent != 'object') {
return parent;
}
if (_instanceof(parent, nativeMap)) {
child = new nativeMap();
} else if (_instanceof(parent, nativeSet)) {
child = new nativeSet();
} else if (_instanceof(parent, nativePromise)) {
child = new nativePromise(function (resolve, reject) {
parent.then(function(value) {
resolve(_clone(value, depth - 1));
}, function(err) {
reject(_clone(err, depth - 1));
});
});
} else if (clone.__isArray(parent)) {
child = [];
} else if (clone.__isRegExp(parent)) {
child = new RegExp(parent.source, __getRegExpFlags(parent));
if (parent.lastIndex) child.lastIndex = parent.lastIndex;
} else if (clone.__isDate(parent)) {
child = new Date(parent.getTime());
} else if (useBuffer && Buffer.isBuffer(parent)) {
if (Buffer.allocUnsafe) {
// Node.js >= 4.5.0
child = Buffer.allocUnsafe(parent.length);
} else {
// Older Node.js versions
child = new Buffer(parent.length);
}
parent.copy(child);
return child;
} else if (_instanceof(parent, Error)) {
child = Object.create(parent);
} else {
if (typeof prototype == 'undefined') {
proto = Object.getPrototypeOf(parent);
child = Object.create(proto);
}
else {
child = Object.create(prototype);
proto = prototype;
}
}
if (circular) {
var index = allParents.indexOf(parent);
if (index != -1) {
return allChildren[index];
}
allParents.push(parent);
allChildren.push(child);
}
if (_instanceof(parent, nativeMap)) {
parent.forEach(function(value, key) {
var keyChild = _clone(key, depth - 1);
var valueChild = _clone(value, depth - 1);
child.set(keyChild, valueChild);
});
}
if (_instanceof(parent, nativeSet)) {
parent.forEach(function(value) {
var entryChild = _clone(value, depth - 1);
child.add(entryChild);
});
}
for (var i in parent) {
var attrs;
if (proto) {
attrs = Object.getOwnPropertyDescriptor(proto, i);
}
if (attrs && attrs.set == null) {
continue;
}
child[i] = _clone(parent[i], depth - 1);
}
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(parent);
for (var i = 0; i < symbols.length; i++) {
// Don't need to worry about cloning a symbol because it is a primitive,
// like a number or string.
var symbol = symbols[i];
var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);
if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {
continue;
}
child[symbol] = _clone(parent[symbol], depth - 1);
if (!descriptor.enumerable) {
Object.defineProperty(child, symbol, {
enumerable: false
});
}
}
}
if (includeNonEnumerable) {
var allPropertyNames = Object.getOwnPropertyNames(parent);
for (var i = 0; i < allPropertyNames.length; i++) {
var propertyName = allPropertyNames[i];
var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);
if (descriptor && descriptor.enumerable) {
continue;
}
child[propertyName] = _clone(parent[propertyName], depth - 1);
Object.defineProperty(child, propertyName, {
enumerable: false
});
}
}
return child;
}
return _clone(parent, depth);
}
/**
* Simple flat clone using prototype, accepts only objects, usefull for property
* override on FLAT configuration object (no nested props).
*
* USE WITH CAUTION! This may not behave as you wish if you do not know how this
* works.
*/
clone.clonePrototype = function clonePrototype(parent) {
if (parent === null)
return null;
var c = function () {};
c.prototype = parent;
return new c();
};
// private utility functions
function __objToStr(o) {
return Object.prototype.toString.call(o);
}
clone.__objToStr = __objToStr;
function __isDate(o) {
return typeof o === 'object' && __objToStr(o) === '[object Date]';
}
clone.__isDate = __isDate;
function __isArray(o) {
return typeof o === 'object' && __objToStr(o) === '[object Array]';
}
clone.__isArray = __isArray;
function __isRegExp(o) {
return typeof o === 'object' && __objToStr(o) === '[object RegExp]';
}
clone.__isRegExp = __isRegExp;
function __getRegExpFlags(re) {
var flags = '';
if (re.global) flags += 'g';
if (re.ignoreCase) flags += 'i';
if (re.multiline) flags += 'm';
return flags;
}
clone.__getRegExpFlags = __getRegExpFlags;
return clone;
})();
if (typeof module === 'object' && module.exports) {
module.exports = clone;
}

59
.output/server/node_modules/clone/package.json generated vendored Normal file
View File

@ -0,0 +1,59 @@
{
"name": "clone",
"description": "deep cloning of objects and arrays",
"tags": [
"clone",
"object",
"array",
"function",
"date"
],
"version": "2.1.2",
"repository": {
"type": "git",
"url": "git://github.com/pvorb/node-clone.git"
},
"bugs": {
"url": "https://github.com/pvorb/node-clone/issues"
},
"main": "clone.js",
"author": "Paul Vorbach <paul@vorba.ch> (http://paul.vorba.ch/)",
"contributors": [
"Blake Miner <miner.blake@gmail.com> (http://www.blakeminer.com/)",
"Tian You <axqd001@gmail.com> (http://blog.axqd.net/)",
"George Stagas <gstagas@gmail.com> (http://stagas.com/)",
"Tobiasz Cudnik <tobiasz.cudnik@gmail.com> (https://github.com/TobiaszCudnik)",
"Pavel Lang <langpavel@phpskelet.org> (https://github.com/langpavel)",
"Dan MacTough (http://yabfog.com/)",
"w1nk (https://github.com/w1nk)",
"Hugh Kennedy (http://twitter.com/hughskennedy)",
"Dustin Diaz (http://dustindiaz.com)",
"Ilya Shaisultanov (https://github.com/diversario)",
"Nathan MacInnes <nathan@macinn.es> (http://macinn.es/)",
"Benjamin E. Coe <ben@npmjs.com> (https://twitter.com/benjamincoe)",
"Nathan Zadoks (https://github.com/nathan7)",
"Róbert Oroszi <robert+gh@oroszi.net> (https://github.com/oroce)",
"Aurélio A. Heckert (http://softwarelivre.org/aurium)",
"Guy Ellis (http://www.guyellisrocks.com/)",
"fscherwi (https://fscherwi.github.io)",
"rictic (https://github.com/rictic)",
"Martin Jurča (https://github.com/jurca)",
"Misery Lee <miserylee@foxmail.com> (https://github.com/miserylee)",
"Clemens Wolff (https://github.com/c-w)"
],
"license": "MIT",
"engines": {
"node": ">=0.8"
},
"dependencies": {},
"devDependencies": {
"nodeunit": "~0.9.0"
},
"optionalDependencies": {},
"scripts": {
"test": "nodeunit test.js"
},
"__npminstall_done": true,
"_from": "clone@2.1.2",
"_resolved": "https://registry.npmmirror.com/clone/-/clone-2.1.2.tgz"
}

17
.output/server/node_modules/node-cache/index.js generated vendored Normal file
View File

@ -0,0 +1,17 @@
/*
* node-cache 5.1.2 ( 2020-07-01 )
* https://github.com/node-cache/node-cache
*
* Released under the MIT license
* https://github.com/node-cache/node-cache/blob/master/LICENSE
*
* Maintained by ( )
*/
(function() {
var exports;
exports = module.exports = require('./lib/node_cache');
exports.version = '5.1.2';
}).call(this);

View File

@ -0,0 +1,802 @@
/*
* node-cache 5.1.2 ( 2020-07-01 )
* https://github.com/node-cache/node-cache
*
* Released under the MIT license
* https://github.com/node-cache/node-cache/blob/master/LICENSE
*
* Maintained by ( )
*/
(function() {
var EventEmitter, NodeCache, clone,
splice = [].splice,
boundMethodCheck = function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } },
indexOf = [].indexOf;
clone = require("clone");
EventEmitter = require('events').EventEmitter;
// generate superclass
module.exports = NodeCache = (function() {
class NodeCache extends EventEmitter {
constructor(options = {}) {
super();
// ## get
// get a cached key and change the stats
// **Parameters:**
// * `key` ( String | Number ): cache key
// **Example:**
// myCache.get "myKey", ( err, val )
this.get = this.get.bind(this);
// ## mget
// get multiple cached keys at once and change the stats
// **Parameters:**
// * `keys` ( String|Number[] ): an array of keys
// **Example:**
// myCache.mget [ "foo", "bar" ]
this.mget = this.mget.bind(this);
// ## set
// set a cached key and change the stats
// **Parameters:**
// * `key` ( String | Number ): cache key
// * `value` ( Any ): A element to cache. If the option `option.forceString` is `true` the module trys to translate it to a serialized JSON
// * `[ ttl ]` ( Number | String ): ( optional ) The time to live in seconds.
// **Example:**
// myCache.set "myKey", "my_String Value"
// myCache.set "myKey", "my_String Value", 10
this.set = this.set.bind(this);
// ## mset
// set multiple keys at once
// **Parameters:**
// * `keyValueSet` ( Object[] ): an array of object which includes key,value and ttl
// **Example:**
// myCache.mset(
// [
// {
// key: "myKey",
// val: "myValue",
// ttl: [ttl in seconds]
// }
// ])
this.mset = this.mset.bind(this);
// ## del
// remove keys
// **Parameters:**
// * `keys` ( String | Number | String|Number[] ): cache key to delete or a array of cache keys
// **Return**
// ( Number ): Number of deleted keys
// **Example:**
// myCache.del( "myKey" )
this.del = this.del.bind(this);
// ## take
// get the cached value and remove the key from the cache.
// Equivalent to calling `get(key)` + `del(key)`.
// Useful for implementing `single use` mechanism such as OTP, where once a value is read it will become obsolete.
// **Parameters:**
// * `key` ( String | Number ): cache key
// **Example:**
// myCache.take "myKey", ( err, val )
this.take = this.take.bind(this);
// ## ttl
// reset or redefine the ttl of a key. `ttl` = 0 means infinite lifetime.
// If `ttl` is not passed the default ttl is used.
// If `ttl` < 0 the key will be deleted.
// **Parameters:**
// * `key` ( String | Number ): cache key to reset the ttl value
// * `ttl` ( Number ): ( optional -> options.stdTTL || 0 ) The time to live in seconds
// **Return**
// ( Boolen ): key found and ttl set
// **Example:**
// myCache.ttl( "myKey" ) // will set ttl to default ttl
// myCache.ttl( "myKey", 1000 )
this.ttl = this.ttl.bind(this);
// ## getTtl
// receive the ttl of a key.
// **Parameters:**
// * `key` ( String | Number ): cache key to check the ttl value
// **Return**
// ( Number|undefined ): The timestamp in ms when the key will expire, 0 if it will never expire or undefined if it not exists
// **Example:**
// myCache.getTtl( "myKey" )
this.getTtl = this.getTtl.bind(this);
// ## keys
// list all keys within this cache
// **Return**
// ( Array ): An array of all keys
// **Example:**
// _keys = myCache.keys()
// # [ "foo", "bar", "fizz", "buzz", "anotherKeys" ]
this.keys = this.keys.bind(this);
// ## has
// Check if a key is cached
// **Parameters:**
// * `key` ( String | Number ): cache key to check the ttl value
// **Return**
// ( Boolean ): A boolean that indicates if the key is cached
// **Example:**
// _exists = myCache.has('myKey')
// # true
this.has = this.has.bind(this);
// ## getStats
// get the stats
// **Parameters:**
// -
// **Return**
// ( Object ): Stats data
// **Example:**
// myCache.getStats()
// # {
// # hits: 0,
// # misses: 0,
// # keys: 0,
// # ksize: 0,
// # vsize: 0
// # }
this.getStats = this.getStats.bind(this);
// ## flushAll
// flush the whole data and reset the stats
// **Example:**
// myCache.flushAll()
// myCache.getStats()
// # {
// # hits: 0,
// # misses: 0,
// # keys: 0,
// # ksize: 0,
// # vsize: 0
// # }
this.flushAll = this.flushAll.bind(this);
// ## flushStats
// flush the stats and reset all counters to 0
// **Example:**
// myCache.flushStats()
// myCache.getStats()
// # {
// # hits: 0,
// # misses: 0,
// # keys: 0,
// # ksize: 0,
// # vsize: 0
// # }
this.flushStats = this.flushStats.bind(this);
// ## close
// This will clear the interval timeout which is set on checkperiod option.
// **Example:**
// myCache.close()
this.close = this.close.bind(this);
// ## _checkData
// internal housekeeping method.
// Check all the cached data and delete the invalid values
this._checkData = this._checkData.bind(this);
// ## _check
// internal method the check the value. If it's not valid any more delete it
this._check = this._check.bind(this);
// ## _isInvalidKey
// internal method to check if the type of a key is either `number` or `string`
this._isInvalidKey = this._isInvalidKey.bind(this);
// ## _wrap
// internal method to wrap a value in an object with some metadata
this._wrap = this._wrap.bind(this);
// ## _getValLength
// internal method to calculate the value length
this._getValLength = this._getValLength.bind(this);
// ## _error
// internal method to handle an error message
this._error = this._error.bind(this);
// ## _initErrors
// internal method to generate error message templates
this._initErrors = this._initErrors.bind(this);
this.options = options;
this._initErrors();
// container for cached data
this.data = {};
// module options
this.options = Object.assign({
// convert all elements to string
forceString: false,
// used standard size for calculating value size
objectValueSize: 80,
promiseValueSize: 80,
arrayValueSize: 40,
// standard time to live in seconds. 0 = infinity;
stdTTL: 0,
// time in seconds to check all data and delete expired keys
checkperiod: 600,
// en/disable cloning of variables. If `true` you'll get a copy of the cached variable. If `false` you'll save and get just the reference
useClones: true,
// whether values should be deleted automatically at expiration
deleteOnExpire: true,
// enable legacy callbacks
enableLegacyCallbacks: false,
// max amount of keys that are being stored
maxKeys: -1
}, this.options);
// generate functions with callbacks (legacy)
if (this.options.enableLegacyCallbacks) {
console.warn("WARNING! node-cache legacy callback support will drop in v6.x");
["get", "mget", "set", "del", "ttl", "getTtl", "keys", "has"].forEach((methodKey) => {
var oldMethod;
// reference real function
oldMethod = this[methodKey];
this[methodKey] = function(...args) {
var cb, err, ref, res;
ref = args, [...args] = ref, [cb] = splice.call(args, -1);
// return a callback if cb is defined and a function
if (typeof cb === "function") {
try {
res = oldMethod(...args);
cb(null, res);
} catch (error1) {
err = error1;
cb(err);
}
} else {
return oldMethod(...args, cb);
}
};
});
}
// statistics container
this.stats = {
hits: 0,
misses: 0,
keys: 0,
ksize: 0,
vsize: 0
};
// pre allocate valid keytypes array
this.validKeyTypes = ["string", "number"];
// initalize checking period
this._checkData();
return;
}
get(key) {
var _ret, err;
boundMethodCheck(this, NodeCache);
// handle invalid key types
if ((err = this._isInvalidKey(key)) != null) {
throw err;
}
// get data and incremet stats
if ((this.data[key] != null) && this._check(key, this.data[key])) {
this.stats.hits++;
_ret = this._unwrap(this.data[key]);
// return data
return _ret;
} else {
// if not found return undefined
this.stats.misses++;
return void 0;
}
}
mget(keys) {
var _err, err, i, key, len, oRet;
boundMethodCheck(this, NodeCache);
// convert a string to an array of one key
if (!Array.isArray(keys)) {
_err = this._error("EKEYSTYPE");
throw _err;
}
// define return
oRet = {};
for (i = 0, len = keys.length; i < len; i++) {
key = keys[i];
// handle invalid key types
if ((err = this._isInvalidKey(key)) != null) {
throw err;
}
// get data and increment stats
if ((this.data[key] != null) && this._check(key, this.data[key])) {
this.stats.hits++;
oRet[key] = this._unwrap(this.data[key]);
} else {
// if not found return a error
this.stats.misses++;
}
}
// return all found keys
return oRet;
}
set(key, value, ttl) {
var _err, err, existent;
boundMethodCheck(this, NodeCache);
// check if cache is overflowing
if (this.options.maxKeys > -1 && this.stats.keys >= this.options.maxKeys) {
_err = this._error("ECACHEFULL");
throw _err;
}
// force the data to string
if (this.options.forceString && !typeof value === "string") {
value = JSON.stringify(value);
}
// set default ttl if not passed
if (ttl == null) {
ttl = this.options.stdTTL;
}
// handle invalid key types
if ((err = this._isInvalidKey(key)) != null) {
throw err;
}
// internal helper variables
existent = false;
// remove existing data from stats
if (this.data[key]) {
existent = true;
this.stats.vsize -= this._getValLength(this._unwrap(this.data[key], false));
}
// set the value
this.data[key] = this._wrap(value, ttl);
this.stats.vsize += this._getValLength(value);
// only add the keys and key-size if the key is new
if (!existent) {
this.stats.ksize += this._getKeyLength(key);
this.stats.keys++;
}
this.emit("set", key, value);
// return true
return true;
}
mset(keyValueSet) {
var _err, err, i, j, key, keyValuePair, len, len1, ttl, val;
boundMethodCheck(this, NodeCache);
// check if cache is overflowing
if (this.options.maxKeys > -1 && this.stats.keys + keyValueSet.length >= this.options.maxKeys) {
_err = this._error("ECACHEFULL");
throw _err;
}
// loop over keyValueSet to validate key and ttl
for (i = 0, len = keyValueSet.length; i < len; i++) {
keyValuePair = keyValueSet[i];
({key, val, ttl} = keyValuePair);
// check if there is ttl and it's a number
if (ttl && typeof ttl !== "number") {
_err = this._error("ETTLTYPE");
throw _err;
}
// handle invalid key types
if ((err = this._isInvalidKey(key)) != null) {
throw err;
}
}
for (j = 0, len1 = keyValueSet.length; j < len1; j++) {
keyValuePair = keyValueSet[j];
({key, val, ttl} = keyValuePair);
this.set(key, val, ttl);
}
return true;
}
del(keys) {
var delCount, err, i, key, len, oldVal;
boundMethodCheck(this, NodeCache);
// convert keys to an array of itself
if (!Array.isArray(keys)) {
keys = [keys];
}
delCount = 0;
for (i = 0, len = keys.length; i < len; i++) {
key = keys[i];
// handle invalid key types
if ((err = this._isInvalidKey(key)) != null) {
throw err;
}
// only delete if existent
if (this.data[key] != null) {
// calc the stats
this.stats.vsize -= this._getValLength(this._unwrap(this.data[key], false));
this.stats.ksize -= this._getKeyLength(key);
this.stats.keys--;
delCount++;
// delete the value
oldVal = this.data[key];
delete this.data[key];
// return true
this.emit("del", key, oldVal.v);
}
}
return delCount;
}
take(key) {
var _ret;
boundMethodCheck(this, NodeCache);
_ret = this.get(key);
if ((_ret != null)) {
this.del(key);
}
return _ret;
}
ttl(key, ttl) {
var err;
boundMethodCheck(this, NodeCache);
ttl || (ttl = this.options.stdTTL);
if (!key) {
return false;
}
// handle invalid key types
if ((err = this._isInvalidKey(key)) != null) {
throw err;
}
// check for existent data and update the ttl value
if ((this.data[key] != null) && this._check(key, this.data[key])) {
// if ttl < 0 delete the key. otherwise reset the value
if (ttl >= 0) {
this.data[key] = this._wrap(this.data[key].v, ttl, false);
} else {
this.del(key);
}
return true;
} else {
// return false if key has not been found
return false;
}
}
getTtl(key) {
var _ttl, err;
boundMethodCheck(this, NodeCache);
if (!key) {
return void 0;
}
// handle invalid key types
if ((err = this._isInvalidKey(key)) != null) {
throw err;
}
// check for existant data and update the ttl value
if ((this.data[key] != null) && this._check(key, this.data[key])) {
_ttl = this.data[key].t;
return _ttl;
} else {
// return undefined if key has not been found
return void 0;
}
}
keys() {
var _keys;
boundMethodCheck(this, NodeCache);
_keys = Object.keys(this.data);
return _keys;
}
has(key) {
var _exists;
boundMethodCheck(this, NodeCache);
_exists = (this.data[key] != null) && this._check(key, this.data[key]);
return _exists;
}
getStats() {
boundMethodCheck(this, NodeCache);
return this.stats;
}
flushAll(_startPeriod = true) {
boundMethodCheck(this, NodeCache);
// parameter just for testing
// set data empty
this.data = {};
// reset stats
this.stats = {
hits: 0,
misses: 0,
keys: 0,
ksize: 0,
vsize: 0
};
// reset check period
this._killCheckPeriod();
this._checkData(_startPeriod);
this.emit("flush");
}
flushStats() {
boundMethodCheck(this, NodeCache);
// reset stats
this.stats = {
hits: 0,
misses: 0,
keys: 0,
ksize: 0,
vsize: 0
};
this.emit("flush_stats");
}
close() {
boundMethodCheck(this, NodeCache);
this._killCheckPeriod();
}
_checkData(startPeriod = true) {
var key, ref, value;
boundMethodCheck(this, NodeCache);
ref = this.data;
// run the housekeeping method
for (key in ref) {
value = ref[key];
this._check(key, value);
}
if (startPeriod && this.options.checkperiod > 0) {
this.checkTimeout = setTimeout(this._checkData, this.options.checkperiod * 1000, startPeriod);
if ((this.checkTimeout != null) && (this.checkTimeout.unref != null)) {
this.checkTimeout.unref();
}
}
}
// ## _killCheckPeriod
// stop the checkdata period. Only needed to abort the script in testing mode.
_killCheckPeriod() {
if (this.checkTimeout != null) {
return clearTimeout(this.checkTimeout);
}
}
_check(key, data) {
var _retval;
boundMethodCheck(this, NodeCache);
_retval = true;
// data is invalid if the ttl is too old and is not 0
// console.log data.t < Date.now(), data.t, Date.now()
if (data.t !== 0 && data.t < Date.now()) {
if (this.options.deleteOnExpire) {
_retval = false;
this.del(key);
}
this.emit("expired", key, this._unwrap(data));
}
return _retval;
}
_isInvalidKey(key) {
var ref;
boundMethodCheck(this, NodeCache);
if (ref = typeof key, indexOf.call(this.validKeyTypes, ref) < 0) {
return this._error("EKEYTYPE", {
type: typeof key
});
}
}
_wrap(value, ttl, asClone = true) {
var livetime, now, oReturn, ttlMultiplicator;
boundMethodCheck(this, NodeCache);
if (!this.options.useClones) {
asClone = false;
}
// define the time to live
now = Date.now();
livetime = 0;
ttlMultiplicator = 1000;
// use given ttl
if (ttl === 0) {
livetime = 0;
} else if (ttl) {
livetime = now + (ttl * ttlMultiplicator);
} else {
// use standard ttl
if (this.options.stdTTL === 0) {
livetime = this.options.stdTTL;
} else {
livetime = now + (this.options.stdTTL * ttlMultiplicator);
}
}
// return the wrapped value
return oReturn = {
t: livetime,
v: asClone ? clone(value) : value
};
}
// ## _unwrap
// internal method to extract get the value out of the wrapped value
_unwrap(value, asClone = true) {
if (!this.options.useClones) {
asClone = false;
}
if (value.v != null) {
if (asClone) {
return clone(value.v);
} else {
return value.v;
}
}
return null;
}
// ## _getKeyLength
// internal method the calculate the key length
_getKeyLength(key) {
return key.toString().length;
}
_getValLength(value) {
boundMethodCheck(this, NodeCache);
if (typeof value === "string") {
// if the value is a String get the real length
return value.length;
} else if (this.options.forceString) {
// force string if it's defined and not passed
return JSON.stringify(value).length;
} else if (Array.isArray(value)) {
// if the data is an Array multiply each element with a defined default length
return this.options.arrayValueSize * value.length;
} else if (typeof value === "number") {
return 8;
} else if (typeof (value != null ? value.then : void 0) === "function") {
// if the data is a Promise, use defined default
// (can't calculate actual/resolved value size synchronously)
return this.options.promiseValueSize;
} else if (typeof Buffer !== "undefined" && Buffer !== null ? Buffer.isBuffer(value) : void 0) {
return value.length;
} else if ((value != null) && typeof value === "object") {
// if the data is an Object multiply each element with a defined default length
return this.options.objectValueSize * Object.keys(value).length;
} else if (typeof value === "boolean") {
return 8;
} else {
// default fallback
return 0;
}
}
_error(type, data = {}) {
var error;
boundMethodCheck(this, NodeCache);
// generate the error object
error = new Error();
error.name = type;
error.errorcode = type;
error.message = this.ERRORS[type] != null ? this.ERRORS[type](data) : "-";
error.data = data;
// return the error object
return error;
}
_initErrors() {
var _errMsg, _errT, ref;
boundMethodCheck(this, NodeCache);
this.ERRORS = {};
ref = this._ERRORS;
for (_errT in ref) {
_errMsg = ref[_errT];
this.ERRORS[_errT] = this.createErrorMessage(_errMsg);
}
}
createErrorMessage(errMsg) {
return function(args) {
return errMsg.replace("__key", args.type);
};
}
};
NodeCache.prototype._ERRORS = {
"ENOTFOUND": "Key `__key` not found",
"ECACHEFULL": "Cache max keys amount exceeded",
"EKEYTYPE": "The key argument has to be of type `string` or `number`. Found: `__key`",
"EKEYSTYPE": "The keys argument has to be an array.",
"ETTLTYPE": "The ttl argument has to be a number."
};
return NodeCache;
}).call(this);
}).call(this);

83
.output/server/node_modules/node-cache/package.json generated vendored Normal file
View File

@ -0,0 +1,83 @@
{
"name": "node-cache",
"description": "Simple and fast NodeJS internal caching. Node internal in memory cache like memcached.",
"keywords": [
"cache",
"caching",
"local",
"variable",
"multi",
"memory",
"internal",
"node",
"memcached",
"object"
],
"tags": [
"cache",
"caching",
"local",
"variable",
"multi",
"memory",
"internal",
"node",
"memcached",
"object"
],
"version": "5.1.2",
"author": "mpneuried <mp@tcs.de>",
"maintainers": [
{
"name": "M. Peter",
"email": "mp@tcs.de",
"url": "https://github.com/mpneuried"
},
{
"name": "Joshy",
"email": "erdiicodes@gmail.com",
"url": "https://erdii.engineering/"
}
],
"main": "./index.js",
"types": "./index.d.ts",
"homepage": "https://github.com/node-cache/node-cache",
"repository": {
"type": "git",
"url": "git://github.com/node-cache/node-cache.git"
},
"license": "MIT",
"engines": {
"node": ">= 8.0.0"
},
"scripts": {
"test": "nyc --require coffee-script/register mocha _src/test/mocha_test.coffee -R spec && tsc",
"build": "grunt build",
"export-coverage": "nyc report --reporter=text-lcov > lcov.info"
},
"dependencies": {
"clone": "2.x"
},
"devDependencies": {
"@types/node": "^8.9.4",
"coffee-coverage": "^3.0.1",
"coffee-script": "1.x",
"coveralls": "^3.0.3",
"grunt": "^1.0.4",
"grunt-banner": "0.6.x",
"grunt-cli": "^1.2.0",
"grunt-contrib-clean": "1.0.x",
"grunt-contrib-coffee": "^2.1.0",
"grunt-contrib-watch": "^1.1.0",
"grunt-include-replace": "3.2.x",
"grunt-mocha-cli": "^6.0.0",
"grunt-run": "^0.8.1",
"mocha": "^7.2.0",
"nyc": "^15.1.0",
"should": "11.x",
"typescript": "^2.6.1"
},
"__npminstall_done": true,
"_from": "node-cache@5.1.2",
"_resolved": "https://registry.npmmirror.com/node-cache/-/node-cache-5.1.2.tgz"
}

View File

@ -24,6 +24,7 @@
"asynckit": "0.4.0",
"axios": "1.6.7",
"call-bind": "1.0.6",
"clone": "2.1.2",
"combined-stream": "1.0.8",
"dayjs": "1.11.10",
"debug": "4.3.4",
@ -49,6 +50,7 @@
"mime-db": "1.52.0",
"mime-types": "2.1.35",
"ms": "2.1.2",
"node-cache": "5.1.2",
"object-inspect": "1.13.1",
"proxy-from-env": "1.1.0",
"qs": "6.11.2",

View File

@ -40,4 +40,4 @@ export default defineNuxtConfig({
],
},
},
})
});

79
package-lock.json generated
View File

@ -9,6 +9,7 @@
"dependencies": {
"axios": "^1.6.2",
"masonry-layout": "^4.2.2",
"node-cache": "^5.1.2",
"nuxt-ssr-cache": "^1.5.2",
"qs": "^6.11.2",
"sortablejs": "^1.15.1"
@ -141,6 +142,16 @@
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"dev": true,
"license": "ISC",
"dependencies": {
"yallist": "^3.0.2"
}
},
"node_modules/@babel/helper-compilation-targets/node_modules/semver": {
"version": "6.3.1",
"resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz",
@ -3901,6 +3912,15 @@
"node": ">=12"
}
},
"node_modules/clone": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
"integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
"license": "MIT",
"engines": {
"node": ">=0.8"
}
},
"node_modules/cluster-key-slot": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz",
@ -6067,15 +6087,6 @@
"integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
"dev": true
},
"node_modules/lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz",
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"dev": true,
"dependencies": {
"yallist": "^3.0.2"
}
},
"node_modules/magic-string": {
"version": "0.27.0",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.27.0.tgz",
@ -7108,6 +7119,18 @@
"node": "^16 || ^18 || >= 20"
}
},
"node_modules/node-cache": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/node-cache/-/node-cache-5.1.2.tgz",
"integrity": "sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg==",
"license": "MIT",
"dependencies": {
"clone": "2.x"
},
"engines": {
"node": ">= 8.0.0"
}
},
"node_modules/node-fetch": {
"version": "2.7.0",
"resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.7.0.tgz",
@ -11147,9 +11170,10 @@
},
"node_modules/yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"dev": true
"dev": true,
"license": "ISC"
},
"node_modules/yaml": {
"version": "2.3.4",
@ -11306,6 +11330,15 @@
"semver": "^6.3.1"
},
"dependencies": {
"lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"dev": true,
"requires": {
"yallist": "^3.0.2"
}
},
"semver": {
"version": "6.3.1",
"resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz",
@ -13995,6 +14028,11 @@
"wrap-ansi": "^7.0.0"
}
},
"clone": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
"integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w=="
},
"cluster-key-slot": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz",
@ -15732,15 +15770,6 @@
"integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
"dev": true
},
"lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz",
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"dev": true,
"requires": {
"yallist": "^3.0.2"
}
},
"magic-string": {
"version": "0.27.0",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.27.0.tgz",
@ -16440,6 +16469,14 @@
"integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==",
"dev": true
},
"node-cache": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/node-cache/-/node-cache-5.1.2.tgz",
"integrity": "sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg==",
"requires": {
"clone": "2.x"
}
},
"node-fetch": {
"version": "2.7.0",
"resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.7.0.tgz",
@ -19377,7 +19414,7 @@
},
"yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"dev": true
},

View File

@ -18,11 +18,12 @@
"vue-router": "^4.2.5"
},
"dependencies": {
"": "^5.1.2",
"axios": "^1.6.2",
"masonry-layout": "^4.2.2",
"node-cache": "^5.1.2",
"nuxt-ssr-cache": "^1.5.2",
"qs": "^6.11.2",
"sortablejs": "^1.15.1"
},
"__npminstall_done": false
}
}

View File

@ -70,7 +70,7 @@
</div>
<div class="option-area" v-else>
<div class="option-item flexflex unselected" :class="{ pitch: item.selected, 'cursor-no': info.status == 0 }" v-for="(item, index) in option" :key="item.id" @click="handleUnvoteVote(index, item.selected)">
<div class="flexflex" style="padding: 2px 0px;">
<div class="flexflex" style="padding: 2px 0px">
<div class="option-number flexcenter">{{ index + 1 }}</div>
<img class="tick-icon" src="@/assets/img/tick-black.svg" />
<div class="option-content flex1">{{ item.value }}</div>
@ -163,196 +163,196 @@
</template>
<script setup>
useHead({ script: [{ src: "https://app.gter.net/bottom?tpl=header&menukey=vote" }, { src: "https://app.gter.net/bottom?tpl=footer,popupnotification", body: true }] })
useHead({ script: [{ src: "https://app.gter.net/bottom?tpl=header&menukey=vote" }, { src: "https://app.gter.net/bottom?tpl=footer,popupnotification", body: true }] });
import { useRoute, useRouter } from "vue-router"
import { ElMessage } from "element-plus"
import { useRoute, useRouter } from "vue-router";
import { ElMessage } from "element-plus";
const route = useRoute()
const router = useRouter()
const route = useRoute();
const router = useRouter();
let isNeedLogin = inject("isNeedLogin")
const goLogin = inject("goLogin")
let isNeedLogin = inject("isNeedLogin");
const goLogin = inject("goLogin");
let commentComments = ref(0)
let commentComments = ref(0);
let id = route.params.id
let uniqidIndex = ref(0)
let id = route.params.id;
let uniqidIndex = ref(0);
if (route.query.colorI) uniqidIndex.value = route.query.colorI
else uniqidIndex.value = Math.floor(Math.random() * 6)
if (uniqidIndex.value > 6) uniqidIndex = 0
if (route.query.colorI) uniqidIndex.value = route.query.colorI;
else uniqidIndex.value = Math.floor(Math.random() * 6);
if (uniqidIndex.value > 6) uniqidIndex = 0;
onMounted(() => {
getDetails()
clearBottom()
})
getDetails();
clearBottom();
});
let ripostelist = ref([])
let ripostecount = ref({})
let riposteoptions = ref([])
let ripostelist = ref([]);
let ripostecount = ref({});
let riposteoptions = ref([]);
provide("riposteoptions", riposteoptions)
provide("riposteoptions", riposteoptions);
const getRiposte = () => {
getRiposteHttp({ token: token.value }).then(res => {
if (res.code != 200) return
let data = res.data
ripostecount.value = data.count || {}
ripostelist.value = data.list || []
riposteoptions.value = data.options || []
getRiposteHttp({ token: token.value }).then((res) => {
if (res.code != 200) return;
let data = res.data;
ripostecount.value = data.count || {};
ripostelist.value = data.list || [];
riposteoptions.value = data.options || [];
if (ripostelist.value.length <= 3) randomEmoji()
randomBottomEmoji()
})
}
if (ripostelist.value.length <= 3) randomEmoji();
randomBottomEmoji();
});
};
let randomEmojis = ref([]) // emoji
let randomBottomEmojis = ref([]) // 8 emoji
provide("randomEmojis", randomEmojis)
provide("randomBottomEmojis", randomBottomEmojis)
let randomEmojis = ref([]); // emoji
let randomBottomEmojis = ref([]); // 8 emoji
provide("randomEmojis", randomEmojis);
provide("randomBottomEmojis", randomBottomEmojis);
// 7 Emoji
const randomEmoji = () => {
let emojiList = ripostelist.value
let emojiList = ripostelist.value;
// Emoji
let exclude = []
emojiList.forEach(element => {
exclude.push(element.item)
})
let exclude = [];
emojiList.forEach((element) => {
exclude.push(element.item);
});
let selectedList = [] // Emoji To be selected
let selectedList = []; // Emoji To be selected
//
for (const key in riposteoptions.value[0].data) {
if (key != "c150") selectedList.push(key)
if (key != "c150") selectedList.push(key);
}
const random = []
if (!exclude.includes("c150")) random.push("c150") // emoji
selectedList = selectedList.filter(itemB => !exclude.includes(itemB))
const random = [];
if (!exclude.includes("c150")) random.push("c150"); // emoji
selectedList = selectedList.filter((itemB) => !exclude.includes(itemB));
//
let indexes = []
let indexes = [];
while (indexes.length < 7) {
let randomIndex = Math.floor(Math.random() * selectedList.length)
let randomIndex = Math.floor(Math.random() * selectedList.length);
if (indexes.indexOf(randomIndex) === -1) {
indexes.push(randomIndex)
random.push(selectedList[randomIndex])
indexes.push(randomIndex);
random.push(selectedList[randomIndex]);
}
}
randomEmojis.value = random
}
randomEmojis.value = random;
};
const randomBottomEmoji = () => {
let selectedList = [] // Emoji To be selected
let selectedList = []; // Emoji To be selected
//
for (const key in riposteoptions.value[0].data) {
selectedList.push(key)
selectedList.push(key);
}
//
selectedList.sort(() => Math.random() - 0.5)
const randomItems = selectedList.slice(0, 8)
randomBottomEmojis.value = randomItems
}
selectedList.sort(() => Math.random() - 0.5);
const randomItems = selectedList.slice(0, 8);
randomBottomEmojis.value = randomItems;
};
//
const jointriposte = item => {
return `&#x${item};`
}
const jointriposte = (item) => {
return `&#x${item};`;
};
provide("jointriposte", jointriposte)
provide("jointriposte", jointriposte);
//
const selectListEomji = index => {
const selectListEomji = (index) => {
if (isNeedLogin.value) {
goLogin()
return
goLogin();
return;
}
let emojiList = ripostelist.value
let target = emojiList[index]
if (riposteHttpState) return
riposteHttpState = true
let emojiList = ripostelist.value;
let target = emojiList[index];
if (riposteHttpState) return;
riposteHttpState = true;
riposteSubmitHttp({ token: token.value, item: target.item })
.then(res => {
.then((res) => {
if (res.code != 200) {
ElMessage.error(res.message)
return
ElMessage.error(res.message);
return;
}
let data = res.data
handleEmojiData(data)
let data = res.data;
handleEmojiData(data);
})
.finally(() => {
riposteHttpState = false
})
}
riposteHttpState = false;
});
};
let riposteHttpState = false //
let riposteHttpState = false; //
// emoji
const selectEomji = item => {
const selectEomji = (item) => {
if (isNeedLogin.value) {
goLogin()
return
goLogin();
return;
}
if (riposteHttpState) return
riposteHttpState = true
if (riposteHttpState) return;
riposteHttpState = true;
riposteSubmitHttp({ token: token.value, item })
.then(res => {
.then((res) => {
if (res.code != 200) {
ElMessage.error(res.message)
return
ElMessage.error(res.message);
return;
}
let data = res.data
handleEmojiData(data)
let data = res.data;
handleEmojiData(data);
})
.finally(() => {
riposteHttpState = false
})
}
riposteHttpState = false;
});
};
provide("selectEomji", selectEomji)
provide("selectEomji", selectEomji);
// Emoji
const selectEomjiPop = key => {
const selectEomjiPop = (key) => {
if (isNeedLogin.value) {
goLogin()
return
goLogin();
return;
}
let emojiList = ripostelist.value
let emojiList = ripostelist.value;
//
const index = emojiList.findIndex(item => item.item == key)
if (index != -1 && emojiList[index].selected) return
if (riposteHttpState) return
riposteHttpState = true
const index = emojiList.findIndex((item) => item.item == key);
if (index != -1 && emojiList[index].selected) return;
if (riposteHttpState) return;
riposteHttpState = true;
riposteSubmitHttp({ token: token.value, item: key })
.then(res => {
.then((res) => {
if (res.code != 200) {
ElMessage.error(res.message)
return
ElMessage.error(res.message);
return;
}
let data = res.data
handleEmojiData(data)
let data = res.data;
handleEmojiData(data);
})
.finally(() => {
riposteHttpState = false
})
}
riposteHttpState = false;
});
};
provide("selectEomjiPop", selectEomjiPop)
provide("selectEomjiPop", selectEomjiPop);
//
const handleEmojiData = data => {
let emojiList = ripostelist.value
let isnew = true
const handleEmojiData = (data) => {
let emojiList = ripostelist.value;
let isnew = true;
emojiList.forEach((element, index) => {
if (element.item == data.item) {
isnew = false
if (element.selected) element.num--
else element.num++
element.selected = !element.selected
isnew = false;
if (element.selected) element.num--;
else element.num++;
element.selected = !element.selected;
}
})
});
//
if (isnew) {
@ -360,344 +360,355 @@ const handleEmojiData = data => {
item: data.item,
num: 1,
selected: true,
})
});
}
let newArray = []
emojiList.forEach(item => {
if (item.num > 0) newArray.push(item)
})
let newArray = [];
emojiList.forEach((item) => {
if (item.num > 0) newArray.push(item);
});
if (newArray.length < 3) randomEmoji()
if (newArray.length < 3) randomEmoji();
ripostecount.value = data.count
ripostelist.value = newArray
}
ripostecount.value = data.count;
ripostelist.value = newArray;
};
let info = ref({})
let qrcode = ref("") //
let iscollection = ref(0) //
let islike = ref(0) //
let ismyself = ref(0) //
let detailsLoading = ref(false) //
let isvote = ref(0) //
let option = ref([])
let token = ref("")
let cancelPopoverState = ref(false) //
let isLoaded = ref(false) //
let haveVotedValue = ref("") //
let info = ref({});
let qrcode = ref(""); //
let iscollection = ref(0); //
let islike = ref(0); //
let ismyself = ref(0); //
let detailsLoading = ref(false); //
let isvote = ref(0); //
let option = ref([]);
let token = ref("");
let cancelPopoverState = ref(false); //
let isLoaded = ref(false); //
let haveVotedValue = ref(""); //
provide("info", info)
provide("islike", islike)
provide("iscollection", iscollection)
provide("token", token)
provide("qrcode", qrcode)
provide("isLoaded", isLoaded)
provide("haveVotedValue", haveVotedValue)
provide("info", info);
provide("islike", islike);
provide("iscollection", iscollection);
provide("token", token);
provide("qrcode", qrcode);
provide("isLoaded", isLoaded);
provide("haveVotedValue", haveVotedValue);
const getDetails = async () => {
detailsHttp({ uniqid: id }).then(res => {
detailsHttp({ uniqid: id }).then((res) => {
if (res.code != 200) {
ElMessage.error(res.message)
goToURL("/index.html", false)
return
ElMessage.error(res.message);
goToURL("/index.html", false);
return;
}
let data = res.data
let data = res.data;
info.value = data["info"]
isvote.value = data["isvote"]
iscollection.value = data["iscollection"]
islike.value = data["islike"]
ismyself.value = data["ismyself"]
option.value = data["option"]
qrcode.value = data.share?.qrcode
token.value = data["token"]
seo.value = data.seo
info.value = data["info"];
isLoaded.value = true
isvote.value = data["isvote"];
iscollection.value = data["iscollection"];
islike.value = data["islike"];
ismyself.value = data["ismyself"];
option.value = data["option"];
qrcode.value = data.share?.qrcode;
token.value = data["token"];
seo.value = data.seo;
data["option"].forEach(element => {
if (element.selected) haveVotedValue.value = element.value
})
isLoaded.value = true;
getRiposte()
})
}
data["option"].forEach((element) => {
if (element.selected) haveVotedValue.value = element.value;
});
provide("getDetails", getDetails)
getRiposte();
});
};
provide("getDetails", getDetails);
//
const sendMessage = uin => {
const sendMessage = (uin) => {
if (uin && typeof messagePrivateItem == "function") {
messagePrivateItem({ uin: uin })
}
else redirectToExternalWebsite(`https://bbs.gter.net/home.php?mod=space&showmsg=1&uid=${uin}`)
}
messagePrivateItem({ uin: uin });
} else redirectToExternalWebsite(`https://bbs.gter.net/home.php?mod=space&showmsg=1&uid=${uin}`);
};
// ta
const TAHomePage = uin => {
redirectToExternalWebsite(`https://bbs.gter.net/home.php?mod=space&uid=${uin}`)
}
const TAHomePage = (uin) => {
redirectToExternalWebsite(`https://bbs.gter.net/home.php?mod=space&uid=${uin}`);
};
// url
const redirectToExternalWebsite = url => {
const link = document.createElement("a")
link.href = url
link.target = "_blank"
link.click()
}
const redirectToExternalWebsite = (url) => {
const link = document.createElement("a");
link.href = url;
link.target = "_blank";
link.click();
};
provide("sendMessage", sendMessage)
provide("TAHomePage", TAHomePage)
provide("sendMessage", sendMessage);
provide("TAHomePage", TAHomePage);
const commentsRef = ref(null)
let voteLoading = false
const commentsRef = ref(null);
let voteLoading = false;
//
const handleVotesTransfer = index => {
const target = option.value[index]
if (info.value.status == 1 && isvote.value == 0) handleVote(target.id, index)
else handleUnvoteVote(index)
}
const handleVotesTransfer = (index) => {
const target = option.value[index];
if (info.value.status == 1 && isvote.value == 0) handleVote(target.id, index);
else handleUnvoteVote(index);
};
//
const handleVote = (token, index) => {
if (isNeedLogin.value) {
goLogin()
return
goLogin();
return;
}
if (voteLoading) return
voteLoading = true
if (voteLoading) return;
voteLoading = true;
topHeadRef.value.count = {}
topHeadRef.value.count = {};
operationCollectHttp({ token })
.then(res => {
.then((res) => {
if (res.code != 200) {
ElMessage.error(res.message)
return
ElMessage.error(res.message);
return;
}
let data = res.data
let optionList = data["optionList"] || []
optionList.forEach(element => {
element["selected"] = 0
})
optionList[index]["selected"] = 1
option.value = optionList
isvote.value = 1
info.value.votes = data["votes"]
let data = res.data;
let optionList = data["optionList"] || [];
optionList.forEach((element) => {
element["selected"] = 0;
});
optionList[index]["selected"] = 1;
option.value = optionList;
isvote.value = 1;
info.value.votes = data["votes"];
const value = optionList[index]["value"]
haveVotedValue.value = value
commentsRef.value.changeCommentVoteoption(value)
const value = optionList[index]["value"];
haveVotedValue.value = value;
commentsRef.value.changeCommentVoteoption(value);
ElMessage.success(res.message)
ElMessage.success(res.message);
if (index != optionList.length - 1) commentsRef.value.reviewsComment(optionList[index]["value"])
if (index != optionList.length - 1) commentsRef.value.reviewsComment(optionList[index]["value"]);
})
.finally(() => (voteLoading = false))
}
.finally(() => (voteLoading = false));
};
let unvoteVoteIndex = null //
let unvoteVoteIndex = null; //
//
const handleUnvoteVote = (index, selected) => {
if (isNeedLogin.value) {
goLogin()
return
goLogin();
return;
}
if (selected == 0 || info.value.status == 0) return
cancelPopoverState.value = true
unvoteVoteIndex = index
}
if (selected == 0 || info.value.status == 0) return;
cancelPopoverState.value = true;
unvoteVoteIndex = index;
};
const unvoteVote = () => {
if (isNeedLogin.value) {
goLogin()
return
goLogin();
return;
}
const token = option.value[unvoteVoteIndex].id
if (voteLoading) return
voteLoading = true
const token = option.value[unvoteVoteIndex].id;
if (voteLoading) return;
voteLoading = true;
topHeadRef.value.count = {}
topHeadRef.value.count = {};
unvoteCollectHttp({ token })
.then(res => {
.then((res) => {
if (res.code != 200) {
ElMessage.error(res.message)
return
ElMessage.error(res.message);
return;
}
let data = res.data
let optionList = data["optionList"] || []
optionList.forEach(element => {
element["selected"] = 0
})
option.value = optionList
isvote.value = 0
info.value.votes = data["votes"]
cancelPopoverState.value = false
let data = res.data;
let optionList = data["optionList"] || [];
optionList.forEach((element) => {
element["selected"] = 0;
});
option.value = optionList;
isvote.value = 0;
info.value.votes = data["votes"];
cancelPopoverState.value = false;
commentsRef.value.wipeCommentVoteoption()
commentsRef.value.wipeCommentVoteoption();
})
.finally(() => (voteLoading = false))
}
.finally(() => (voteLoading = false));
};
const clearAllData = () => {
info.value = {}
qrcode.value = ""
iscollection.value = 0
islike.value = 0
ismyself.value = 0
isvote.value = 0
option.value = []
}
info.value = {};
qrcode.value = "";
iscollection.value = 0;
islike.value = 0;
ismyself.value = 0;
isvote.value = 0;
option.value = [];
};
provide("clearAllData", clearAllData)
provide("clearAllData", clearAllData);
//
const unbookmarkSamePage = () => {
iscollection.value = 0
info.value.favs--
}
iscollection.value = 0;
info.value.favs--;
};
provide("unbookmarkSamePage", unbookmarkSamePage)
provide("unbookmarkSamePage", unbookmarkSamePage);
//
const unbookmark = () => router.push("/index.html")
provide("unbookmark", unbookmark)
const unbookmark = () => router.push("/index.html");
provide("unbookmark", unbookmark);
let seo = ref({})
let seo = ref({});
//
let clearBottomCount = 0
let clearBottomCount = 0;
//
const clearBottom = () => {
const indexFooter = document.querySelector("section.index-footer")
const indexFooter = document.querySelector("section.index-footer");
if (!indexFooter) {
clearBottomCount++
setTimeout(() => clearBottom(), 200)
return
clearBottomCount++;
setTimeout(() => clearBottom(), 200);
return;
}
if (clearBottomCount == 5) return
if (clearBottomCount == 5) return;
indexFooter.style.display = "none"
}
indexFooter.style.display = "none";
};
let topHeadRef = ref(null)
provide("topHeadRef", topHeadRef)
let topHeadRef = ref(null);
provide("topHeadRef", topHeadRef);
//
let floorCommentInput = ref("")
let floorCommentInput = ref("");
// type input back
const floorCommentBtn = type => {
if (type == "input") commentsRef.value.bottomNavigationBar(floorCommentInput.value)
else floorCommentInput.value = ""
}
const floorCommentBtn = (type) => {
if (type == "input") commentsRef.value.bottomNavigationBar(floorCommentInput.value);
else floorCommentInput.value = "";
};
provide("floorCommentInput", floorCommentInput)
provide("floorCommentBtn", floorCommentBtn)
provide("floorCommentInput", floorCommentInput);
provide("floorCommentBtn", floorCommentBtn);
//
const refreshDataOnly = () => {
clearAllData()
getDetails()
}
provide("refreshDataOnly", refreshDataOnly)
clearAllData();
getDetails();
};
provide("refreshDataOnly", refreshDataOnly);
//
const closeDiscussInputFields = () => {
commentsRef.value.closeAnswerCommentsChild()
}
commentsRef.value.closeAnswerCommentsChild();
};
let respondPopListState = ref(false) //
let respondDetail = ref({}) //
let respondPopListState = ref(false); //
let respondDetail = ref({}); //
//
const openPopList = () => {
if (isNeedLogin.value) {
goLogin()
return
goLogin();
return;
}
respondPopListState.value = true
getRespondDetail()
}
respondPopListState.value = true;
getRespondDetail();
};
//
const closePopList = () => {
respondPopListState.value = false
}
respondPopListState.value = false;
};
//
const getRespondDetail = () => {
if (isNeedLogin.value) {
goLogin()
return
goLogin();
return;
}
riposteDetailHttp({ token: token.value }).then(res => {
if (res.code != 200) return
respondDetail.value = res.data
})
}
riposteDetailHttp({ token: token.value }).then((res) => {
if (res.code != 200) return;
respondDetail.value = res.data;
});
};
//
const selectEomjiListPop = key => {
const selectEomjiListPop = (key) => {
if (isNeedLogin.value) {
goLogin()
return
goLogin();
return;
}
// let respondDetail = respondDetail.value
let target = respondDetail.value[key]
let target = respondDetail.value[key];
riposteSubmitHttp({ token: token.value, item: target.item }).then(res => {
riposteSubmitHttp({ token: token.value, item: target.item }).then((res) => {
if (res.code != 200) {
ElMessage.error(res.message)
return
ElMessage.error(res.message);
return;
}
let data = res.data
let data = res.data;
handleEmojiData(data)
handleEmojiData(data);
if (target.selected) {
target.user = target.user.filter(item => item.uin != data.uin)
target.user = target.user.filter((item) => item.uin != data.uin);
} else {
target.user.push(data)
target.user.push(data);
}
let emojiList = ripostelist.value
let emojiList = ripostelist.value;
if (target.user.length == 0) {
emojiList = emojiList.filter(item => item.item != key)
delete respondDetail.value[key]
emojiList = emojiList.filter((item) => item.item != key);
delete respondDetail.value[key];
} else {
target.selected = !target.selected
respondDetail.value[key] = target
target.selected = !target.selected;
respondDetail.value[key] = target;
}
ripostelist.value = emojiList
})
}
ripostelist.value = emojiList;
});
};
const { $cache } = useNuxtApp();
try {
if (process.server) {
await detailsHttp({ uniqid: id }).then(res => {
if (res.code != 200) {
ElMessage.error(res.message)
router.push("/index.html")
return
}
console.log(`----------------------------------`);
let data = res.data
info.value = data["info"]
option.value = data["option"]
isvote.value = data["isvote"]
seo.value = data.seo
})
const cacheKey = `details_${id}`;
const cachedData = $cache.get(cacheKey);
console.log(cachedData ? "缓存数据已存在" : "缓存数据不存在");
if (cachedData) {
let data = cachedData;
info.value = data["info"];
option.value = data["option"];
isvote.value = data["isvote"];
seo.value = data.seo;
} else {
await detailsHttp({ uniqid: id }).then((res) => {
if (res.code == 200) {
let data = res.data;
info.value = data["info"];
option.value = data["option"];
isvote.value = data["isvote"];
seo.value = data.seo;
$cache.set(cacheKey, data, 5);
}
});
}
}
} catch (error) {}
</script>

33
plugins/cache.server.js Normal file
View File

@ -0,0 +1,33 @@
// plugins/cache.server.js
import NodeCache from "node-cache";
// 创建全局缓存实例
const cache = new NodeCache({
stdTTL: 60, // 默认过期时间(秒)
checkperiod: 120, // 清理过期缓存的检查周期(秒)
maxKeys: 1000, // 最大缓存项数量超过时LRU淘汰
});
export default defineNuxtPlugin(() => {
return {
provide: {
cache: {
get: (key) => cache.get(key),
set: (key, value, ttl) => cache.set(key, value, ttl),
del: (key) => cache.del(key),
flush: () => cache.flushAll(),
},
},
};
});
// import NodeCache from 'node-cache';
// const cache = new NodeCache({ stdTTL: 3600 }); // 缓存有效期 1 小时
// export default defineNuxtPlugin((nuxtApp) => {
// return {
// provide: {
// cache
// }
// };
// });

View File

@ -10,7 +10,7 @@ axios.defaults.withCredentials = true
axios.interceptors.request.use( //响应拦截
async config => {
// 开发时登录用的,可以直接替换小程序的 authorization
config['headers']['authorization'] = process.env.NODE_ENV !== "production" && "2434e9674f3ba0afa6da5c9253422151"
config['headers']['authorization'] = process.env.NODE_ENV !== "production" && "00c02fd989cc0bf31944462f6ba1067f"
return config;
},
error => {