perf(frontend): add api cache layer and reduce report polling pressure

This commit is contained in:
2026-02-07 18:36:55 +08:00
parent c285d1e348
commit 4874aa37f6
38 changed files with 205 additions and 131 deletions

View File

@@ -1,6 +1,6 @@
{
"_MetricGrid-Df-Dlkt_.js": {
"file": "assets/MetricGrid-Df-Dlkt_.js",
"_MetricGrid-CQMxT_6S.js": {
"file": "assets/MetricGrid-CQMxT_6S.js",
"name": "MetricGrid",
"imports": [
"index.html",
@@ -14,29 +14,29 @@
"file": "assets/MetricGrid-yP_dkP6X.css",
"src": "_MetricGrid-yP_dkP6X.css"
},
"_email-DaWcU8Ml.js": {
"file": "assets/email-DaWcU8Ml.js",
"_email-DM9tsUhu.js": {
"file": "assets/email-DM9tsUhu.js",
"name": "email",
"imports": [
"index.html"
]
},
"_system-EPeBJB57.js": {
"file": "assets/system-EPeBJB57.js",
"_system--AYWXDUu.js": {
"file": "assets/system--AYWXDUu.js",
"name": "system",
"imports": [
"index.html"
]
},
"_tasks-suSBBmw0.js": {
"file": "assets/tasks-suSBBmw0.js",
"_tasks-CF7lDSM6.js": {
"file": "assets/tasks-CF7lDSM6.js",
"name": "tasks",
"imports": [
"index.html"
]
},
"_users-D8nCLsxD.js": {
"file": "assets/users-D8nCLsxD.js",
"_users-BPRr-UQM.js": {
"file": "assets/users-BPRr-UQM.js",
"name": "users",
"imports": [
"index.html"
@@ -73,7 +73,7 @@
"name": "vendor-vue"
},
"index.html": {
"file": "assets/index-BhQdNLJb.js",
"file": "assets/index-hdJlGZAd.js",
"name": "index",
"src": "index.html",
"isEntry": true,
@@ -95,11 +95,11 @@
"src/pages/SettingsPage.vue"
],
"css": [
"assets/index-a3a11Ghn.css"
"assets/index-BL6_OP4l.css"
]
},
"src/pages/AnnouncementsPage.vue": {
"file": "assets/AnnouncementsPage-Bt9ScJoU.js",
"file": "assets/AnnouncementsPage-B9Z0w4LW.js",
"name": "AnnouncementsPage",
"src": "src/pages/AnnouncementsPage.vue",
"isDynamicEntry": true,
@@ -115,14 +115,14 @@
]
},
"src/pages/EmailPage.vue": {
"file": "assets/EmailPage-lCqi22rV.js",
"file": "assets/EmailPage-CQW4R2Zg.js",
"name": "EmailPage",
"src": "src/pages/EmailPage.vue",
"isDynamicEntry": true,
"imports": [
"_email-DaWcU8Ml.js",
"_email-DM9tsUhu.js",
"index.html",
"_MetricGrid-Df-Dlkt_.js",
"_MetricGrid-CQMxT_6S.js",
"_vendor-element-B5S5pUKo.js",
"_vendor-vue-CVxSw_oJ.js",
"_vendor-axios-B9ygI19o.js",
@@ -133,13 +133,13 @@
]
},
"src/pages/FeedbacksPage.vue": {
"file": "assets/FeedbacksPage-Bm8Gi6uF.js",
"file": "assets/FeedbacksPage-CZ0Batl6.js",
"name": "FeedbacksPage",
"src": "src/pages/FeedbacksPage.vue",
"isDynamicEntry": true,
"imports": [
"index.html",
"_MetricGrid-Df-Dlkt_.js",
"_MetricGrid-CQMxT_6S.js",
"_vendor-element-B5S5pUKo.js",
"_vendor-vue-CVxSw_oJ.js",
"_vendor-axios-B9ygI19o.js",
@@ -150,13 +150,13 @@
]
},
"src/pages/LogsPage.vue": {
"file": "assets/LogsPage-BXJhmaAD.js",
"file": "assets/LogsPage-C_83A2F1.js",
"name": "LogsPage",
"src": "src/pages/LogsPage.vue",
"isDynamicEntry": true,
"imports": [
"_users-D8nCLsxD.js",
"_tasks-suSBBmw0.js",
"_users-BPRr-UQM.js",
"_tasks-CF7lDSM6.js",
"index.html",
"_vendor-element-B5S5pUKo.js",
"_vendor-vue-CVxSw_oJ.js",
@@ -168,33 +168,33 @@
]
},
"src/pages/ReportPage.vue": {
"file": "assets/ReportPage-BH0iEKUw.js",
"file": "assets/ReportPage-C1fr4baB.js",
"name": "ReportPage",
"src": "src/pages/ReportPage.vue",
"isDynamicEntry": true,
"imports": [
"_vendor-element-B5S5pUKo.js",
"index.html",
"_email-DaWcU8Ml.js",
"_tasks-suSBBmw0.js",
"_system-EPeBJB57.js",
"_MetricGrid-Df-Dlkt_.js",
"_email-DM9tsUhu.js",
"_tasks-CF7lDSM6.js",
"_system--AYWXDUu.js",
"_MetricGrid-CQMxT_6S.js",
"_vendor-vue-CVxSw_oJ.js",
"_vendor-misc-BeoNyvBp.js",
"_vendor-axios-B9ygI19o.js"
],
"css": [
"assets/ReportPage-DN5YlEZa.css"
"assets/ReportPage-CP2k7xMv.css"
]
},
"src/pages/SecurityPage.vue": {
"file": "assets/SecurityPage-BINdqm-Z.js",
"file": "assets/SecurityPage-wDdBM6Ga.js",
"name": "SecurityPage",
"src": "src/pages/SecurityPage.vue",
"isDynamicEntry": true,
"imports": [
"index.html",
"_MetricGrid-Df-Dlkt_.js",
"_MetricGrid-CQMxT_6S.js",
"_vendor-element-B5S5pUKo.js",
"_vendor-vue-CVxSw_oJ.js",
"_vendor-axios-B9ygI19o.js",
@@ -205,7 +205,7 @@
]
},
"src/pages/SettingsPage.vue": {
"file": "assets/SettingsPage-Bb497CTW.js",
"file": "assets/SettingsPage-eG6RsmTz.js",
"name": "SettingsPage",
"src": "src/pages/SettingsPage.vue",
"isDynamicEntry": true,
@@ -221,12 +221,12 @@
]
},
"src/pages/SystemPage.vue": {
"file": "assets/SystemPage-BOHCIy1Q.js",
"file": "assets/SystemPage-C_DDxErs.js",
"name": "SystemPage",
"src": "src/pages/SystemPage.vue",
"isDynamicEntry": true,
"imports": [
"_system-EPeBJB57.js",
"_system--AYWXDUu.js",
"index.html",
"_vendor-element-B5S5pUKo.js",
"_vendor-vue-CVxSw_oJ.js",
@@ -238,12 +238,12 @@
]
},
"src/pages/UsersPage.vue": {
"file": "assets/UsersPage-70roiEdR.js",
"file": "assets/UsersPage-DVi3Wmss.js",
"name": "UsersPage",
"src": "src/pages/UsersPage.vue",
"isDynamicEntry": true,
"imports": [
"_users-D8nCLsxD.js",
"_users-BPRr-UQM.js",
"index.html",
"_vendor-element-B5S5pUKo.js",
"_vendor-vue-CVxSw_oJ.js",
@@ -251,7 +251,7 @@
"_vendor-misc-BeoNyvBp.js"
],
"css": [
"assets/UsersPage-Cow_LicY.css"
"assets/UsersPage-BNDnhJe0.css"
]
}
}