学生端选课进课闭环

This commit is contained in:
CakeCN
2025-09-06 21:27:28 +08:00
parent a0d154b434
commit 6883a999e9
24 changed files with 634 additions and 217 deletions

View File

@@ -1,10 +1,35 @@
import os, shutil, markdown
from flask import current_app
from ..services.course_service import load_material
from ..services.cos_service import get_text_file
def convert_markdown_to_html(md_file_path: str) -> str:
"""读取 markdown 并转成 HTML 片段"""
with open(md_file_path, 'r', encoding='utf-8') as f:
md_content = f.read()
return markdown.markdown(md_content)
def load_full_markdown_file(course_id, chapter_name, lesson_name):
material = load_material(course_id)
for chapter in material.chapters:
if chapter.chapter_name == chapter_name:
for lesson in chapter.lessons:
if lesson.lesson_name == lesson_name:
return get_text_file(lesson.markdown_lesson_file_link), get_text_file(lesson.markdown_prompt_file_name), get_text_file(lesson.markdown_score_prompt_file_link)
return None, None, None
def load_markdown_file(course_id, chapter_name, lesson_name):
material = load_material(course_id)
file_link = None
for chapter in material.chapters:
if chapter.chapter_name == chapter_name:
for lesson in chapter.lessons:
if lesson.lesson_name == lesson_name:
file_link = lesson.markdown_lesson_file_link
break
break
if file_link is None:
return None
print(f"load_markdown_file: {file_link}")
return get_text_file(file_link)
def convert_markdown_to_html(md_file: str) -> str:
"""将 markdown 文件转成 HTML 片段"""
return markdown.markdown(md_file)
def wrap_with_styles(html_content: str) -> str:
"""加上 CSS 样式和外层 HTML"""