import { inquiryFixture } from './aiPptInquiry.mjs' // 按线上“角色对话”文字结构回归。图片只用于验证真实横图的排版,不代表重新生图结果。 export function storyVisualFixture() { const outline = inquiryFixture() outline.title = outline.chapterName = '凤鸣山谷的故事' outline.gradeName = '一年级' outline.visualBible.palette = ['#233C48', '#FFF8EC', '#BC652F'] const image = { url: 'https://cdn.oss.dayaedu.com/pptList/2040740720920272898/ai-images/ai-ppt-2040740720920272898-8-9087586543834633432.png', width: 1264, height: 704 } const role = structuredClone(outline.pages[5]) Object.assign(role, { pageNo: 2, type: 'performance_activity', title: '角色对话', image, studentContent: { headline: '用不同声音,让伙伴们说说话', points: ['小九:用歌声回应', '伶伦:用笛声回应', '麒麒:用脚步回应'], steps: ['选好角色', '轮流回应', '合作表演'], example: '小九先唱一句,麒麒用两下脚步回应,伶伦再接上笛声。' }, classroomAction: { ...role.classroomAction, studentTask: '三人一组,按顺序表演' }, visualPlan: { composition: 'steps', visualMode: 'generated_image', visualShare: .55, textPresentation: 'steps', imageNecessity: 'supporting', imagePurpose: 'scene', layout: 'activity' } }) const cover = structuredClone(outline.pages[0]) cover.title = outline.title cover.studentContent = { headline: '听见声音,走进故事', points: [] } cover.classroomAction.studentTask = '' cover.image = { ...image, url: 'https://cdn.oss.dayaedu.com/pptList/2040740720920272898/ai-images/ai-ppt-2040740720920272898-1-8375623099960674268.png' } outline.pages = [cover, role, outline.pages[3], outline.pages[4], outline.pages[8]].map((page, i) => ({ ...page, pageNo: i + 1 })) return outline }