From 3b9f635c35f31d5cf7c2d56b786180dfeabeba79 Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Mon, 26 Oct 2026 09:46:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E8=AF=B4=E6=98=8E=E9=A1=B5?= =?UTF-8?q?=EF=BC=9A=E5=AD=A6=E7=94=9F=E5=92=8C=E8=80=81=E5=B8=88=E7=9A=84?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E6=AD=A5=E9=AA=A4=E3=80=81=E4=B8=8A=E8=AF=BE?= =?UTF-8?q?=E5=89=8D=E5=90=8E=E6=B3=A8=E6=84=8F=E4=BA=8B=E9=A1=B9=E3=80=81?= =?UTF-8?q?=E5=B8=B8=E8=A7=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit /help 没登录也能看,老师登录后多出老师部分;登录页和各页顶栏在新标签页打开。 Co-Authored-By: Claude Opus 5.5 --- docs/设计方案.md | 1 + web/src/pages/AssignmentsPage.vue | 1 + web/src/pages/HelpPage.vue | 232 ++++++++++++++++++++++++++++++ web/src/pages/LoginPage.vue | 10 +- web/src/pages/TeacherPage.vue | 1 + web/src/pages/WorkbenchPage.vue | 1 + web/src/router.ts | 6 +- 7 files changed, 250 insertions(+), 2 deletions(-) create mode 100644 web/src/pages/HelpPage.vue diff --git a/docs/设计方案.md b/docs/设计方案.md index 15b91e9..25263e0 100644 --- a/docs/设计方案.md +++ b/docs/设计方案.md @@ -325,6 +325,7 @@ flowchart TB - **WebSocket 心跳与断线重连**:线上前面的 Nginx Proxy Manager 默认 60 秒没数据就断开 WebSocket(本机用默认配置的 nginx 实测),学生的窗体开着一分钟不操作,程序就被结束、点了没反应。服务器改为 30 秒没收到数据就发 ping(Bun 的 idleTimeout),经 nginx 空闲 150 秒仍连着。连接意外断开时(部署重启、网络抖动),运行区显示"正在重新连接…",清掉已经失效的窗体,按 1、2、4…最长 10 秒的间隔自动重连;连上后提示"刚才的程序已经结束,请重新运行",实训台恢复。 - **登录失败的限制**:原来按 IP 计数、任何人登录成功就清零,学生用自己的账号登录一次就能接着猜同学的 6 位数字密码。改为同一个账号 10 分钟输错 10 次只锁这个账号(同班其他人不受影响),同一 IP 10 分钟 300 次(登录成功不清零)。 - **旧浏览器提示**:网页按 Chrome / Edge 107 以上打包,机房的旧浏览器或 360 浏览器的兼容模式会一片空白。index.html 里用老写法的一段脚本:网页程序有语法错误时说明浏览器太旧、怎么切换极速模式,并显示浏览器版本字符串方便老师排查;15 秒还没显示出来时提示正在加载。 + - **使用说明**(`/help`,没登录也能看):学生部分讲登录、自由练习和作业、设计器、运行、实训台、自己检查和提交、数据库;老师登录后多出建班导入名单、布置作业、评阅和成绩、上课前后的注意事项;最后是常见问题。登录页和各页顶栏都有入口,在新标签页打开,不打断正在做的事;可以直接打印。 - **首次打开的下载量**:实验页第一次打开约 1.5 MB(压缩后,代码编辑器 Monaco 占 1 MB),之后浏览器长期缓存。全班 45 人同时第一次打开约 70 MB,服务器公网带宽 5 Mbps 时要近 2 分钟。 ## 技术风险与待确认事项 diff --git a/web/src/pages/AssignmentsPage.vue b/web/src/pages/AssignmentsPage.vue index 1f9d8e8..f4c26a8 100644 --- a/web/src/pages/AssignmentsPage.vue +++ b/web/src/pages/AssignmentsPage.vue @@ -55,6 +55,7 @@ async function signOut() { 我的作业 自由练习 + 使用说明 {{ currentUser?.name }} diff --git a/web/src/pages/HelpPage.vue b/web/src/pages/HelpPage.vue new file mode 100644 index 0000000..44f1e5f --- /dev/null +++ b/web/src/pages/HelpPage.vue @@ -0,0 +1,232 @@ + + + + + diff --git a/web/src/pages/LoginPage.vue b/web/src/pages/LoginPage.vue index ac6dc1b..293621d 100644 --- a/web/src/pages/LoginPage.vue +++ b/web/src/pages/LoginPage.vue @@ -1,7 +1,7 @@