修复:CI 部署环境与 ref 错配、迁移碎片化、图片意图 source_span、章节物化脏版式、会话历史与本地语音不一致
新增:TTS 上传 COS 与分片、章节 reading_segments 物化与快照、markdown 清洗、会话消息 repository、语音 store 重构与相关测试
This commit is contained in:
@@ -26,10 +26,23 @@ from app.features.memoir.asset_resolver import (
|
||||
split_markdown_by_asset_refs,
|
||||
strip_legacy_image_placeholders,
|
||||
)
|
||||
from app.features.memoir.chapter_markdown_compose import (
|
||||
materialize_chapter_pdf_markdown_from_loaded_chapter,
|
||||
)
|
||||
from app.features.memoir.helpers import (
|
||||
_chapter_markdown,
|
||||
sections_to_content_and_images,
|
||||
)
|
||||
|
||||
|
||||
def _chapter_markdown_for_pdf(chapter) -> str:
|
||||
"""有 story 编排时 PDF 使用「## 故事名 + 正文」物化;否则沿用章节 canonical。"""
|
||||
links = getattr(chapter, "story_links", None) or []
|
||||
if links and any(getattr(l, "story", None) for l in links):
|
||||
return materialize_chapter_pdf_markdown_from_loaded_chapter(chapter)
|
||||
return _chapter_markdown(chapter)
|
||||
|
||||
|
||||
from app.features.memoir.memoir_images.parser import PLACEHOLDER_RE
|
||||
from app.features.memoir.memoir_images.schema import (
|
||||
IMAGE_STATUS_COMPLETED,
|
||||
@@ -165,8 +178,8 @@ class PDFService:
|
||||
for chapter in chapters:
|
||||
story.append(Paragraph(chapter.title, heading_style))
|
||||
story.append(Spacer(1, 0.2 * inch))
|
||||
# 正文真源:canonical_markdown(与 API / 前端一致)
|
||||
markdown = _chapter_markdown(chapter)
|
||||
# 有 story_links 时按章节内故事注入 ## 标题(与物化章节正文不含故事标题区分)
|
||||
markdown = _chapter_markdown_for_pdf(chapter)
|
||||
_, images_list = sections_to_content_and_images(chapter)
|
||||
if not markdown:
|
||||
markdown = getattr(chapter, "content", "") or ""
|
||||
|
||||
Reference in New Issue
Block a user