feat: 添加服务器端缓存功能并优化详情页数据获取

refactor(details/[id].vue): 重构详情页数据获取逻辑,加入缓存机制
feat(plugins/cache.server.js): 新增node-cache插件用于服务器端缓存
chore: 更新package.json依赖,添加node-cache和clone
This commit is contained in:
DESKTOP-RQ919RC\Pc
2025-07-08 11:10:20 +08:00
parent 68acefa360
commit 335d6cb1fb
48 changed files with 1758 additions and 466 deletions

View File

@@ -1,81 +1,36 @@
const client_manifest = {
"_BPFmYUhm.js": {
"_Ae-xQZDk.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "BPFmYUhm.js",
"name": "v3",
"file": "Ae-xQZDk.js",
"name": "el-button",
"imports": [
"node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/entry.js"
]
},
"_C6fNJAFE.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "C6fNJAFE.js",
"name": "index",
"imports": [
"_BPFmYUhm.js",
"_DEkvRhZp.js",
"node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/entry.js"
],
"css": [
"index.C-c7eKmS.css"
"el-button.CsYDH6uT.css"
]
},
"index.C-c7eKmS.css": {
"file": "index.C-c7eKmS.css",
"el-button.CsYDH6uT.css": {
"file": "el-button.CsYDH6uT.css",
"resourceType": "style",
"prefetch": true,
"preload": true
},
"_DlAUqK2U.js": {
"_CaHQlstV.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "DlAUqK2U.js",
"name": "_plugin-vue_export-helper"
},
"_ZFGmVCXU.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "ZFGmVCXU.js",
"name": "masonry",
"isDynamicEntry": true,
"imports": [
"_C6fNJAFE.js"
]
},
"_el-button.CsYDH6uT.css": {
"resourceType": "style",
"prefetch": true,
"preload": true,
"file": "el-button.CsYDH6uT.css",
"src": "_el-button.CsYDH6uT.css"
},
"_index.C-c7eKmS.css": {
"resourceType": "style",
"prefetch": true,
"preload": true,
"file": "index.C-c7eKmS.css",
"src": "_index.C-c7eKmS.css"
},
"_lCAQgwfO.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "lCAQgwfO.js",
"file": "CaHQlstV.js",
"name": "top-head",
"imports": [
"node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/entry.js",
"_DlAUqK2U.js",
"_C6fNJAFE.js"
"_DEkvRhZp.js"
],
"css": [
"top-head.CSFz4p8m.css"
@@ -103,27 +58,72 @@ const client_manifest = {
"prefetch": true,
"mimeType": "image/png"
},
"_oBgmbIGh.js": {
"_DEkvRhZp.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "oBgmbIGh.js",
"name": "el-button",
"file": "DEkvRhZp.js",
"name": "index",
"imports": [
"_C6fNJAFE.js",
"_DUt_BCsZ.js",
"node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/entry.js"
],
"css": [
"el-button.CsYDH6uT.css"
"index.C-c7eKmS.css"
]
},
"el-button.CsYDH6uT.css": {
"file": "el-button.CsYDH6uT.css",
"index.C-c7eKmS.css": {
"file": "index.C-c7eKmS.css",
"resourceType": "style",
"prefetch": true,
"preload": true
},
"_DUt_BCsZ.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "DUt_BCsZ.js",
"name": "v3",
"imports": [
"node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/entry.js"
]
},
"_DlAUqK2U.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "DlAUqK2U.js",
"name": "_plugin-vue_export-helper"
},
"_Uz9-H0wf.js": {
"resourceType": "script",
"module": true,
"prefetch": true,
"preload": true,
"file": "Uz9-H0wf.js",
"name": "masonry",
"isDynamicEntry": true,
"imports": [
"_DEkvRhZp.js"
]
},
"_el-button.CsYDH6uT.css": {
"resourceType": "style",
"prefetch": true,
"preload": true,
"file": "el-button.CsYDH6uT.css",
"src": "_el-button.CsYDH6uT.css"
},
"_index.C-c7eKmS.css": {
"resourceType": "style",
"prefetch": true,
"preload": true,
"file": "index.C-c7eKmS.css",
"src": "_index.C-c7eKmS.css"
},
"_top-head.CSFz4p8m.css": {
"resourceType": "style",
"prefetch": true,
@@ -167,14 +167,14 @@ const client_manifest = {
"module": true,
"prefetch": true,
"preload": true,
"file": "B9oC7lbo.js",
"file": "D1Nss5rU.js",
"name": "error-404",
"src": "node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/components/error-404.vue",
"isDynamicEntry": true,
"imports": [
"node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/entry.js",
"_DlAUqK2U.js",
"_BPFmYUhm.js"
"_DUt_BCsZ.js"
],
"css": []
},
@@ -189,13 +189,13 @@ const client_manifest = {
"module": true,
"prefetch": true,
"preload": true,
"file": "D13GaAfA.js",
"file": "vzrIGxdr.js",
"name": "error-500",
"src": "node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/components/error-500.vue",
"isDynamicEntry": true,
"imports": [
"_DlAUqK2U.js",
"_BPFmYUhm.js",
"_DUt_BCsZ.js",
"node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/entry.js"
],
"css": []
@@ -211,7 +211,7 @@ const client_manifest = {
"module": true,
"prefetch": true,
"preload": true,
"file": "BHhYWGno.js",
"file": "CzZrN4dO.js",
"name": "entry",
"src": "node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/entry.js",
"isEntry": true,
@@ -236,25 +236,25 @@ const client_manifest = {
"module": true,
"prefetch": true,
"preload": true,
"file": "CBaJGAb-.js",
"file": "BwbsCtsI.js",
"name": "_id_",
"src": "pages/details/[id].vue",
"isDynamicEntry": true,
"imports": [
"_C6fNJAFE.js",
"_lCAQgwfO.js",
"_oBgmbIGh.js",
"_DEkvRhZp.js",
"_CaHQlstV.js",
"_Ae-xQZDk.js",
"node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/entry.js",
"_DlAUqK2U.js",
"_BPFmYUhm.js"
"_DUt_BCsZ.js"
],
"css": [],
"assets": [
"no-discussion.CTT65aaO.png"
]
},
"_id_.COV720CG.css": {
"file": "_id_.COV720CG.css",
"_id_.bFZBr2n1.css": {
"file": "_id_.bFZBr2n1.css",
"resourceType": "style",
"prefetch": true,
"preload": true
@@ -270,19 +270,19 @@ const client_manifest = {
"module": true,
"prefetch": true,
"preload": true,
"file": "XGVGSajT.js",
"file": "DobPODgb.js",
"name": "index",
"src": "pages/index.html/index.vue",
"isDynamicEntry": true,
"imports": [
"node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/entry.js",
"_C6fNJAFE.js",
"_lCAQgwfO.js",
"_DEkvRhZp.js",
"_CaHQlstV.js",
"_DlAUqK2U.js",
"_BPFmYUhm.js"
"_DUt_BCsZ.js"
],
"dynamicImports": [
"_ZFGmVCXU.js"
"_Uz9-H0wf.js"
],
"css": []
},
@@ -297,13 +297,13 @@ const client_manifest = {
"module": true,
"prefetch": true,
"preload": true,
"file": "XtIxNgXy.js",
"file": "BcM3hq4p.js",
"name": "index",
"src": "pages/index.vue",
"isDynamicEntry": true,
"imports": [
"node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/entry.js",
"_BPFmYUhm.js"
"_DUt_BCsZ.js"
]
},
"pages/publish/index.vue": {
@@ -311,15 +311,15 @@ const client_manifest = {
"module": true,
"prefetch": true,
"preload": true,
"file": "h10wnUqn.js",
"file": "CbsxvP2P.js",
"name": "index",
"src": "pages/publish/index.vue",
"isDynamicEntry": true,
"imports": [
"_C6fNJAFE.js",
"_DEkvRhZp.js",
"node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/entry.js",
"_oBgmbIGh.js",
"_BPFmYUhm.js",
"_Ae-xQZDk.js",
"_DUt_BCsZ.js",
"_DlAUqK2U.js"
],
"css": []