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 @@