diff --git a/Html/apps/services/backboard_service.py b/Html/apps/services/backboard_service.py index 3bfbdfa..f723814 100644 --- a/Html/apps/services/backboard_service.py +++ b/Html/apps/services/backboard_service.py @@ -44,6 +44,8 @@ def realtime_response(config: dict, realtime_action: dict) -> None: bb.pasted_content = realtime_action.get("content") with open(os.path.join(bb.root_path, bb.active_file_path), "r", encoding="utf-8") as f: bb.active_file_content = f.read() + # TODO: 让大模型检查当前这个文件和用户paste的代码,基于此判断是否需要打断学生写代码并询问其理解 + # chatmanager.ase_client.send("check_code", {"file_path": file_path, "content": bb.pasted_content}) elif rtype == "fileEdit": file_path = realtime_action.get("filePath") diff --git a/Html/apps/services/course_service.py b/Html/apps/services/course_service.py index 77b7b1e..5de7364 100644 --- a/Html/apps/services/course_service.py +++ b/Html/apps/services/course_service.py @@ -391,7 +391,6 @@ def _default_markdowns(lesson_name: str): """三份占位 Markdown 文本。可按需调整模板内容。""" ts = datetime.now().strftime('%Y-%m-%d %H:%M') lesson_md = f"""# {lesson_name} -> Auto-generated at {ts} ## 阶段一:示例阶段 ### 步骤A @@ -402,7 +401,6 @@ def _default_markdowns(lesson_name: str): """ prompt_md = f"""# {lesson_name} -> Prompt for LLM (auto-generated at {ts}) ## 阶段一:示例阶段 ### 步骤A @@ -413,7 +411,6 @@ def _default_markdowns(lesson_name: str): """ score_prompt_md = f"""# {lesson_name} -> Scoring Prompt for LLM (auto-generated at {ts}) ## 评分准则 - 正确性、完整性、可读性、效率(按需调整权重) diff --git a/Html/apps/static/css/footer.css b/Html/apps/static/css/footer.css new file mode 100644 index 0000000..0f558a5 --- /dev/null +++ b/Html/apps/static/css/footer.css @@ -0,0 +1,85 @@ +/* === 同款页脚 === */ +.hs-footer { + background: #ffffff; + border-top: 1px solid #e5e7eb; + color: #4b5563; + font-size: 14px; + line-height: 1.8; + padding: 48px 20px 24px; +} + +.footer-main { + display: flex; + flex-wrap: wrap; + gap: 48px; + max-width: 1200px; + margin: 0 auto; +} + +.footer-col { + flex: 1 1 240px; +} + +.footer-col h4 { + font-size: 16px; + font-weight: 600; + color: #111827; + margin: 0 0 16px; +} + +.footer-col ul { + list-style: none; + margin: 0; + padding: 0; +} + +.footer-col li { + margin: 4px 0; +} + +.footer-col a { + color: #4b5563; + text-decoration: none; +} + +.footer-col a:hover { + color: #2563eb; +} + +.footer-bottom { + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + gap: 12px; + max-width: 1200px; + margin: 40px auto 0; + border-top: 1px solid #e5e7eb; + padding-top: 24px; + font-size: 13px; + color: #9ca3af; +} + +.footer-bottom-left a, +.footer-bottom-right a { + color: #9ca3af; + margin-right: 12px; + text-decoration: none; +} + +.footer-bottom-left a:hover, +.footer-bottom-right a:hover { + text-decoration: underline; +} + +/* 移动端 */ +@media (max-width: 768px) { + .footer-main { + flex-direction: column; + gap: 32px; + } + .footer-bottom { + flex-direction: column; + align-items: flex-start; + } +} diff --git a/Html/apps/templates/course.html b/Html/apps/templates/course.html index 1052d08..96792e8 100644 --- a/Html/apps/templates/course.html +++ b/Html/apps/templates/course.html @@ -46,6 +46,7 @@ + {% include 'foot.html' %} - diff --git a/Html/apps/templates/teacherboard.html b/Html/apps/templates/teacherboard.html index 8b06a57..b1fec9d 100644 --- a/Html/apps/templates/teacherboard.html +++ b/Html/apps/templates/teacherboard.html @@ -120,6 +120,6 @@ - + {% include 'foot.html' %} diff --git a/Html/db/data/user/test1020.json b/Html/db/data/user/test1020.json new file mode 100644 index 0000000..efdae61 --- /dev/null +++ b/Html/db/data/user/test1020.json @@ -0,0 +1 @@ +{"username": "test1020"} \ No newline at end of file