/** * 米棉之战题目组件 * 包含单选题1-5、旁白1-3、成功提示框、结束语 */ import { Narration, SingleChoiceQuizPanel, EndingOverlay } from '@/components' import SuccessAlert from '@/components/layout/alert/success-alert' import { getPublicPath } from '@/lib/utils' export interface MimianQuizzesProps { /** 是否显示单选题1 */ showQuiz1: boolean /** 是否显示旁白1 */ showNarration1: boolean /** 是否显示单选题2 */ showQuiz2: boolean /** 是否显示旁白2 */ showNarration2: boolean /** 是否显示单选题3 */ showQuiz3: boolean /** 是否显示单选题4 */ showQuiz4: boolean /** 是否显示旁白3 */ showNarration3: boolean /** 是否显示单选题5 */ showQuiz5: boolean /** 是否显示旁白5(结束语) */ showNarration5: boolean /** 是否显示成功提示框 */ showSuccessAlert: boolean /** 成功提示框内容 */ successAlertContent: string /** 单选题1提交回调 */ onQuiz1Submit: (value: string, isCorrect: boolean) => void /** 成功提示框1继续回调 */ onSuccessAlert1Continue: () => void /** 旁白1关闭回调 */ onNarration1Close: () => void /** 单选题2提交回调 */ onQuiz2Submit: (value: string, isCorrect: boolean) => void /** 成功提示框2继续回调 */ onSuccessAlert2Continue: () => void /** 错误提示框继续回调 */ onErrorAlertContinue: () => void /** 旁白2关闭回调 */ onNarration2Close: () => void /** 单选题3提交回调 */ onQuiz3Submit: (value: string, isCorrect: boolean) => void /** 单选题3成功/错误提示继续回调 */ onQuiz3AlertContinue: (isCorrect: boolean) => void /** 单选题4提交回调 */ onQuiz4Submit: (value: string, isCorrect: boolean) => void /** 单选题4成功/错误提示继续回调 */ onQuiz4AlertContinue: (isCorrect: boolean) => void /** 旁白3关闭回调 */ onNarration3Close: () => void /** 单选题5提交回调 */ onQuiz5Submit: (value: string, isCorrect: boolean) => void /** 单选题5成功/错误提示继续回调 */ onQuiz5AlertContinue: (isEndSuccess: boolean) => void /** 结束语继续回调 */ onNarration5Continue: () => void } /** * 米棉之战题目组件 * 显示所有题目、旁白和提示框 */ export const MimianQuizzes = ({ showQuiz1, showNarration1, showQuiz2, showNarration2, showQuiz3, showQuiz4, showNarration3, showQuiz5, showNarration5, showSuccessAlert, successAlertContent, onQuiz1Submit, onSuccessAlert1Continue, onNarration1Close, onQuiz2Submit, onSuccessAlert2Continue, onErrorAlertContinue, onNarration2Close, onQuiz3Submit, onQuiz3AlertContinue, onQuiz4Submit, onQuiz4AlertContinue, onNarration3Close, onQuiz5Submit, onQuiz5AlertContinue, onNarration5Continue, }: MimianQuizzesProps) => { return ( <> {/* 米棉之战 - 单选题1(图1) */} {/* 米棉之战 - 成功提示框1 */} {/* 米棉之战 - 旁白1(图2) */} {/* 米棉之战 - 单选题2(图3) */} { if (value === 'A') { return '很抱歉,你选错了!当时物价上涨已波及多地区,局部限购无法阻止投机商转移物资炒作。上海米、棉依赖外部供应,本地物资匮乏,限购既不解决缺口,还会加剧民众恐慌,扰乱市场秩序。请你再思考一下吧!' } else if (value === 'B') { return '很抱歉,你选错了!当时国民党滥发货币导致的贬值阴影未消,民众对新货币缺乏信任。此时增发人民币,会使货币供应量远超物资总量,重蹈贬值覆辙,削弱人民币信用,让投机气焰更盛。请你再思考一下吧!' } }} onSubmit={onQuiz2Submit} /> {/* 米棉之战 - 成功提示框2(单选题2答对后) */} {/* 米棉之战 - 错误提示框(单选题2答错后) */} {/* */} {/* 米棉之战 - 旁白2(图4) */} {/* 米棉之战 - 单选题3(图5) */} {/* 米棉之战 - 单选题3成功/错误提示 */} { const isCorrect = successAlertContent.includes('地方配合') onQuiz3AlertContinue(isCorrect) }} /> {/* 米棉之战 - 单选题4(图6) */} {/* 米棉之战 - 单选题4成功/错误提示 */} { const isCorrect = successAlertContent.includes('棉农支持') onQuiz4AlertContinue(isCorrect) }} /> {/* 米棉之战 - 旁白3(图7) */} {/* 米棉之战 - 单选题5(图8) */} {/* 米棉之战 - 单选题5成功/错误提示 */} { const isEndSuccess = successAlertContent.includes('这契合米棉之战史实') onQuiz5AlertContinue(isEndSuccess) }} /> {/* 米棉之战 - 旁白5(结束语)使用统一结语覆盖层组件 */} ) }