diff --git a/client/package.json b/client/package.json index 5954415..6e4fa6b 100644 --- a/client/package.json +++ b/client/package.json @@ -10,11 +10,13 @@ }, "dependencies": { "@types/markdown-it": "^14.1.2", + "echarts": "^6.0.0", "highlight": "^0.2.4", "highlight.js": "^11.11.1", "markdown-it": "^14.1.0", "md-editor-v3": "^6.3.1", "vue": "^3.5.13", + "vue-echarts": "^8.0.1", "vue-router": "^4.4.5" }, "devDependencies": { diff --git a/client/pnpm-lock.yaml b/client/pnpm-lock.yaml index 78d240c..df52842 100644 --- a/client/pnpm-lock.yaml +++ b/client/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@types/markdown-it': specifier: ^14.1.2 version: 14.1.2 + echarts: + specifier: ^6.0.0 + version: 6.0.0 highlight: specifier: ^0.2.4 version: 0.2.4 @@ -26,6 +29,9 @@ importers: vue: specifier: ^3.5.13 version: 3.5.26(typescript@5.6.3) + vue-echarts: + specifier: ^8.0.1 + version: 8.0.1(echarts@6.0.0)(vue@3.5.26(typescript@5.6.3)) vue-router: specifier: ^4.4.5 version: 4.6.4(vue@3.5.26(typescript@5.6.3)) @@ -692,6 +698,9 @@ packages: dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + echarts@6.0.0: + resolution: {integrity: sha512-Tte/grDQRiETQP4xz3iZWSvoHrkCQtwqd6hs+mifXcjrCuo2iKWbajFObuLJVBlDIJlOzgQPd1hsaKt/3+OMkQ==} + electron-to-chromium@1.5.267: resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} @@ -1023,6 +1032,9 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + tslib@2.3.0: + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + typescript@5.6.3: resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} @@ -1083,6 +1095,12 @@ packages: vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} + vue-echarts@8.0.1: + resolution: {integrity: sha512-23rJTFLu1OUEGRWjJGmdGt8fP+8+ja1gVgzMYPIPaHWpXegcO1viIAaeu2H4QHESlVeHzUAHIxKXGrwjsyXAaA==} + peerDependencies: + echarts: ^6.0.0 + vue: ^3.3.0 + vue-router@4.6.4: resolution: {integrity: sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==} peerDependencies: @@ -1110,6 +1128,9 @@ packages: engines: {node: '>= 0.10.0'} hasBin: true + zrender@6.0.0: + resolution: {integrity: sha512-41dFXEEXuJpNecuUQq6JlbybmnHaqqpGlbH1yxnA5V9MMP4SbohSVZsJIwz+zdjQXSSlR1Vc34EgH1zxyTDvhg==} + snapshots: '@alloc/quick-lru@5.2.0': {} @@ -1843,6 +1864,11 @@ snapshots: dlv@1.1.3: {} + echarts@6.0.0: + dependencies: + tslib: 2.3.0 + zrender: 6.0.0 + electron-to-chromium@1.5.267: {} entities@4.5.0: {} @@ -2207,6 +2233,8 @@ snapshots: ts-interface-checker@0.1.13: {} + tslib@2.3.0: {} + typescript@5.6.3: {} uc.micro@2.1.0: {} @@ -2233,6 +2261,11 @@ snapshots: vscode-uri@3.1.0: {} + vue-echarts@8.0.1(echarts@6.0.0)(vue@3.5.26(typescript@5.6.3)): + dependencies: + echarts: 6.0.0 + vue: 3.5.26(typescript@5.6.3) + vue-router@4.6.4(vue@3.5.26(typescript@5.6.3)): dependencies: '@vue/devtools-api': 6.6.4 @@ -2260,3 +2293,7 @@ snapshots: dependencies: commander: 2.20.3 cssfilter: 0.0.10 + + zrender@6.0.0: + dependencies: + tslib: 2.3.0 diff --git a/client/src/components/admin/AdminLayout.vue b/client/src/components/admin/AdminLayout.vue index b08c5ef..3b0db5a 100644 --- a/client/src/components/admin/AdminLayout.vue +++ b/client/src/components/admin/AdminLayout.vue @@ -45,12 +45,7 @@ -
+ @@ -63,9 +58,33 @@{{ stats.users }}
- +2.5% -{{ stats.posts }}
- +5.2% -{{ stats.works }}
- +3.1% -{{ stats.snippets }}
- -1.2% -{{ activity.text }}
- {{ activity.time }} -{{ stats.posts || 0 }}
+{{ todayUV }}
+{{ stats.inquiryCount || 0 }}
+-
+