From bb4b67f53379ff5672c8beb387abba883c51a4a7 Mon Sep 17 00:00:00 2001 From: wenjiankun <2155441558@qq.com> Date: Tue, 3 Jun 2025 15:07:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=90=88=E5=B9=B6=E5=B9=B6?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8F=8D=E9=A6=88=E7=AE=A1=E7=90=86=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2URL=E7=BC=96=E7=A0=81=E6=98=BE=E7=A4=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json.bak | 43 ++++++++++++++++++ src/pages/feedback-dashboard.js | 78 +++++++++++++++++++++++++++++++++ src/pages/feedback-dashboard.md | 7 +++ srcthemeDocItemFooterindex.js | 0 4 files changed, 128 insertions(+) create mode 100644 package.json.bak create mode 100644 src/pages/feedback-dashboard.js create mode 100644 src/pages/feedback-dashboard.md create mode 100644 srcthemeDocItemFooterindex.js diff --git a/package.json.bak b/package.json.bak new file mode 100644 index 0000000..f5e159d --- /dev/null +++ b/package.json.bak @@ -0,0 +1,43 @@ +{ + "name": "docusaurus", + "version": "0.0.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids", + "dev": "docusaurus start --port 3000", + + }, + "dependencies": { + "@docusaurus/core": "2.4.1", + "@docusaurus/preset-classic": "2.4.1", + "@easyops-cn/docusaurus-search-local": "^0.35.0", + "@mdx-js/react": "^1.6.22", + "body-parser": "^1.20.2", + "clsx": "^1.2.1", + "docusaurus-plugin-image-zoom": "^1.0.1", + "express": "^4.18.2", + "prism-react-renderer": "^1.3.5", + "react": "^17.0.2", + "react-dom": "^17.0.2" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} \ No newline at end of file diff --git a/src/pages/feedback-dashboard.js b/src/pages/feedback-dashboard.js new file mode 100644 index 0000000..6579a8a --- /dev/null +++ b/src/pages/feedback-dashboard.js @@ -0,0 +1,78 @@ +import React, { useState, useEffect } from 'react'; +import Layout from '@theme/Layout'; + +export default function FeedbackDashboard() { + const [feedbacks, setFeedbacks] = useState([]); + + useEffect(() => { + // 从localStorage加载反馈 + const storedFeedbacks = JSON.parse(localStorage.getItem('docFeedbacks') || '[]'); + setFeedbacks(storedFeedbacks); + }, []); + + // 清除所有反馈 + const clearFeedbacks = () => { + if (confirm('确定要清除所有反馈吗?')) { + localStorage.setItem('docFeedbacks', '[]'); + setFeedbacks([]); + } + }; + + return ( + +
+

反馈管理

+ +
+

总计: {feedbacks.length} 条反馈

+ {feedbacks.length > 0 && ( + + )} +
+ +
+
+
+

反馈列表

+
+
+ {feedbacks.length === 0 ? ( +

暂无反馈数据

+ ) : ( + + + + + + + + + + + {feedbacks.map((feedback, index) => ( + + + + + + + ))} + +
类型页面内容时间
{feedback.type === 'vote' ? '投票' : '评论'}{feedback.page} + {feedback.type === 'vote' + ? (feedback.isHelpful ? '👍 有帮助' : '👎 没有帮助') + : feedback.content} + {new Date(feedback.timestamp).toLocaleString('zh-CN')}
+ )} +
+
+
+
+
+ ); +} \ No newline at end of file diff --git a/src/pages/feedback-dashboard.md b/src/pages/feedback-dashboard.md new file mode 100644 index 0000000..70bdf10 --- /dev/null +++ b/src/pages/feedback-dashboard.md @@ -0,0 +1,7 @@ +--- +title: +--- + +import FeedbackDashboard from '@site/src/pages/feedback-dashboard'; + + diff --git a/srcthemeDocItemFooterindex.js b/srcthemeDocItemFooterindex.js new file mode 100644 index 0000000..e69de29 -- 2.34.1