aiPptSlideDesign.mjs 1.4 KB

1234567891011121314151617
  1. // 协议联调夹具;不是大模型实测结果。
  2. export function slideDesignFixture() {
  3. const page = (pageNo, title, points, x = 80, fill = '#D9EDF3') => ({
  4. pageNo, type: pageNo === 1 ? 'cover' : 'knowledge', title, bullets: [], studentContent: { points },
  5. visualPlan: { composition: 'text_focus', visualMode: 'text_only', textPresentation: 'plain', imageNecessity: 'none', imagePurpose: 'none' },
  6. pageDesign: { version: 1, background: '#FFFDF5', rationale: '突出学习任务,以浅色色块区分内容层次', elements: [
  7. { id: 'panel', kind: 'panel', x, y: 280, width: 1350, height: 410, fill, radius: 18 },
  8. { id: 'title', kind: 'text', textRef: 'title', x: 80, y: 80, width: 1400, height: 120, fontSize: 56, color: '#2C3E6B', align: 'left', bold: true },
  9. { id: 'accent', kind: 'line', x: 90, y: 220, width: 160, height: 5, fill: '#E67E22' },
  10. ...points.map((_, i) => ({ id: `point-${i}`, kind: 'text', textRef: `studentContent.points.${i}`, x: x + 30, y: 315 + i * 115,
  11. width: 1290, height: 100, fontSize: 36, color: '#2C3E6B', align: 'left' }))
  12. ] }
  13. })
  14. return { title: '口风琴教学设计协议测试', chapterName: '口风琴教学设计协议测试', templateId: 'blank', style: 'fresh',
  15. pages: [page(1, '口风琴吹奏与表现', ['用稳定的气息,让声音连贯']), page(2, '聆听与表达', ['听一听声音的变化', '说一说你听到的特点'], 130, '#FCE4CE')]
  16. }
  17. }