From 67a46797e08a0c63a0e5a76665c2174cf3e96e09 Mon Sep 17 00:00:00 2001 From: Sunwuyuan Date: Sun, 1 Feb 2026 14:59:41 +0800 Subject: [PATCH 01/12] Change URL parameter from 'data' to 'file' --- src/components/ExamConfigEditor.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ExamConfigEditor.vue b/src/components/ExamConfigEditor.vue index 3871194..30fd5ce 100644 --- a/src/components/ExamConfigEditor.vue +++ b/src/components/ExamConfigEditor.vue @@ -1867,7 +1867,7 @@ export default { const base64Data = btoa(unescape(encodeURIComponent(jsonString))); // 构建examaware://协议URL - const ea2Url = `examaware://player?data=${base64Data}`; + const ea2Url = `examaware://player?file=${base64Data}`; // 尝试打开 window.location.href = ea2Url; From 2f02dd951f519d1969dc5ae9a95c5ddfdf1f6a1c Mon Sep 17 00:00:00 2001 From: Sunwuyuan Date: Sun, 1 Feb 2026 09:28:23 +0000 Subject: [PATCH 02/12] =?UTF-8?q?=E6=9B=B4=E6=94=B9examaware=E5=8D=8F?= =?UTF-8?q?=E8=AE=AEURL=E5=8F=82=E6=95=B0=EF=BC=8C=E4=BB=8E'file'=E6=94=B9?= =?UTF-8?q?=E4=B8=BA'data'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ExamConfigEditor.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ExamConfigEditor.vue b/src/components/ExamConfigEditor.vue index 30fd5ce..a010524 100644 --- a/src/components/ExamConfigEditor.vue +++ b/src/components/ExamConfigEditor.vue @@ -1867,7 +1867,7 @@ export default { const base64Data = btoa(unescape(encodeURIComponent(jsonString))); // 构建examaware://协议URL - const ea2Url = `examaware://player?file=${base64Data}`; + const ea2Url = `examaware://player?data=${encodeURIComponent(base64Data)}`; // 尝试打开 window.location.href = ea2Url; From 8691febf515de1ee4865cc17b9657808160f74d1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 00:15:11 +0000 Subject: [PATCH 04/12] Add beautiful donation card to About page Co-authored-by: Sunwuyuan <88357633+Sunwuyuan@users.noreply.github.com> --- src/components/settings/AboutCard.vue | 74 +++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/src/components/settings/AboutCard.vue b/src/components/settings/AboutCard.vue index 8f1f0e9..47c1f52 100644 --- a/src/components/settings/AboutCard.vue +++ b/src/components/settings/AboutCard.vue @@ -10,6 +10,47 @@ + + + +
+
+
❤️ 支持 Classworks
+
+ 您的捐赠将帮助项目持续发展 +
+
+
+
+ +

+ Classworks 是一个完全开源免费的项目,由社区开发者们利用业余时间维护。 + 如果这个工具对您有帮助,您可以考虑通过爱发电支持开发者。 +

+
+ + 前往爱发电支持开发者 + +
+
+
+
{ + window.open('https://afdian.com/a/wydev', '_blank'); + }; + onMounted(() => { loadDependencies(); }); @@ -396,6 +441,7 @@ export default { openReportDialog, copyEnvInfo, openFeedback, + openDonationLink, envBoxText, envInfo, reportBody, @@ -405,3 +451,31 @@ export default { }, }; + + From 0ebc14c49d1ed6de6df3e54cf69813a3b0af67b9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 00:16:17 +0000 Subject: [PATCH 05/12] Address code review feedback: remove duplicate cursor style and add aria-label Co-authored-by: Sunwuyuan <88357633+Sunwuyuan@users.noreply.github.com> --- src/components/settings/AboutCard.vue | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/components/settings/AboutCard.vue b/src/components/settings/AboutCard.vue index 47c1f52..3630dc1 100644 --- a/src/components/settings/AboutCard.vue +++ b/src/components/settings/AboutCard.vue @@ -39,6 +39,7 @@
Date: Tue, 3 Feb 2026 08:21:55 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20AboutCard.vue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/settings/AboutCard.vue | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/components/settings/AboutCard.vue b/src/components/settings/AboutCard.vue index 3630dc1..d8f6c1d 100644 --- a/src/components/settings/AboutCard.vue +++ b/src/components/settings/AboutCard.vue @@ -24,7 +24,7 @@
-
❤️ 支持 Classworks
+
请捐赠给 Classworks
您的捐赠将帮助项目持续发展
@@ -33,8 +33,7 @@

- Classworks 是一个完全开源免费的项目,由社区开发者们利用业余时间维护。 - 如果这个工具对您有帮助,您可以考虑通过爱发电支持开发者。 + 我是Classworks的开发者孙悟元,是一名高二的中国在校学生。Classworks 是一个完全开源免费的项目。如果可以,请捐赠我们。

- 前往爱发电支持开发者 + 爱发电
From 2964c52581e24388ba8b579458095100e6f026e4 Mon Sep 17 00:00:00 2001 From: Sunwuyuan Date: Tue, 3 Feb 2026 08:24:16 +0800 Subject: [PATCH 07/12] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20AboutCard.vue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/settings/AboutCard.vue | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/components/settings/AboutCard.vue b/src/components/settings/AboutCard.vue index d8f6c1d..2befa17 100644 --- a/src/components/settings/AboutCard.vue +++ b/src/components/settings/AboutCard.vue @@ -24,16 +24,14 @@
-
请捐赠给 Classworks
-
- 您的捐赠将帮助项目持续发展 -
+
请支持我们 Classworks
+

- 我是Classworks的开发者孙悟元,是一名高二的中国在校学生。Classworks 是一个完全开源免费的项目。如果可以,请捐赠我们。 + 我是Classworks的开发者孙悟元,是一名高二的中国在校学生。Classworks 是一个完全开源免费的项目。如果可以,欢迎打赏。

Date: Thu, 12 Feb 2026 14:53:31 +0800 Subject: [PATCH 08/12] Update exam URL domain from .tech to .cn --- src/components/ExamConfigEditor.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ExamConfigEditor.vue b/src/components/ExamConfigEditor.vue index a010524..065e8eb 100644 --- a/src/components/ExamConfigEditor.vue +++ b/src/components/ExamConfigEditor.vue @@ -1782,7 +1782,7 @@ export default { if (result.success && result.url) { // 构建考试页面URL - const examUrl = `https://es.examaware.tech/exam/?configUrl=${encodeURIComponent(result.url)}`; + const examUrl = `https://es.examaware.cn/exam/?configUrl=${encodeURIComponent(result.url)}`; // 在新窗口中打开 window.open(examUrl, '_blank'); From d660cafdd14438c14aa43cefa2b350702088cace Mon Sep 17 00:00:00 2001 From: Sunwuyuan Date: Sat, 14 Feb 2026 21:06:06 +0800 Subject: [PATCH 09/12] Update usage link in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0b86234..d628fe2 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ 适用于班级大屏的作业板小工具 -请打开 [https://cs.houlangs.com](https://cs.houlangs.com) 立刻使用 +请打开 [https://cs.houlangs.com](https://cs.houlang.cloud) 立刻使用 ## 交流 From 28715315b2bece2e19a35b07028523fc4a0c19e9 Mon Sep 17 00:00:00 2001 From: Sunwuyuan Date: Sat, 14 Feb 2026 21:17:24 +0800 Subject: [PATCH 10/12] Update copyright year in README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 0b86234..644274e 100644 --- a/README.md +++ b/README.md @@ -61,5 +61,4 @@ ZeroCat 的项目 遵循 [Contributor Covenant](http://contributor-covenant.org/ ZeroCat 社区项目遵循 [AGPL-3.0 许可证](LICENSE)。 -版权所有 (C) 2020-2024 孙悟元。 -Copyright (C) 2020-2024 Sun Wuyuan. +Copyright (C) 2020-2026 Sunwuyuan. From 202405bdf8207d261cc07c86e97f16cf8aefe0e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E6=82=9F=E5=85=83?= Date: Thu, 19 Feb 2026 12:26:10 +0800 Subject: [PATCH 11/12] Update Sentry DSN and trace propagation targets --- src/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.js b/src/main.js index 30b1d08..69cc226 100644 --- a/src/main.js +++ b/src/main.js @@ -34,7 +34,7 @@ let feedbackIntegration = null; // 初始化 Sentry,但暂不启用 Replay Sentry.init({ app, - dsn: "https://2f8e5e4ec986c6077d3798ba9f683fdd@o4510762489151488.ingest.us.sentry.io/4510762503438336", + dsn: "https://c7f4eeab1055a53941738c36868bc2df@report.houlang.cloud/4", // Setting this option to true will send default PII data to Sentry. // For example, automatic IP address collection on events sendDefaultPii: true, @@ -71,7 +71,7 @@ Sentry.init({ // Tracing tracesSampleRate: 1.0, // Capture 100% of the transactions // Set 'tracePropagationTargets' to control for which URLs distributed tracing should be enabled - tracePropagationTargets: ["localhost", /^https:\/\/kv-service\.(houlang\.cloud|wuyuan\.dev)/], + tracePropagationTargets: ["localhost", /^https?:\/\/cs\.(houlang\.cloud|houlangs\.com)/], // Session Replay - 关闭自动录制 replaysSessionSampleRate: 0, // 不自动录制会话 replaysOnErrorSampleRate: 0, // 不在错误时自动录制(改为手动触发) From 834883b2a45cd9b9017d6bb9a6df0dcf681f8663 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E6=82=9F=E5=85=83?= Date: Thu, 19 Feb 2026 14:07:09 +0800 Subject: [PATCH 12/12] Update Sentry DSN for error reporting --- src/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.js b/src/main.js index 69cc226..4a23020 100644 --- a/src/main.js +++ b/src/main.js @@ -34,7 +34,7 @@ let feedbackIntegration = null; // 初始化 Sentry,但暂不启用 Replay Sentry.init({ app, - dsn: "https://c7f4eeab1055a53941738c36868bc2df@report.houlang.cloud/4", + dsn: "https://dc34ab47426f49c0925445f0d87b7007@report.houlang.cloud/6", // Setting this option to true will send default PII data to Sentry. // For example, automatic IP address collection on events sendDefaultPii: true,