feat: 更新音频和引导对话,优化用户体验
- 在多个场景中添加音频资源,增强学习互动性。 - 更新引导对话文本,确保信息准确性和一致性。 - 调整组件结构,清理不必要的代码,提升可维护性。 - 引入结束窗口,鼓励用户深入了解历史背景。
This commit is contained in:
1 parent
d7ff7d3a45
commit
6e106032fd
141 files changed
+1375
-479
No files matched your search
@@ -6,6 +6,7 @@ import { getBackgroundImage, getStaticImage, getPublicPath } from "@/lib/utils";
|
||||
import { useNavigate, useParams } from "react-router-dom";
|
||||
import TowelSalesDialog from "./scene4/TowelSalesDialog";
|
||||
import type { VideoRef } from "@/components/video";
|
||||
import { QuizDialog } from "./components";
|
||||
|
||||
const starName = "huangyanpei";
|
||||
|
||||
@@ -24,6 +25,9 @@ const HuangyanpeiReflectionScene4 = () => {
|
||||
const videoRef = useRef<VideoRef>(null);
|
||||
const [showGuide1, setShowGuide1] = useState(true);
|
||||
|
||||
//喇叭考题弹窗
|
||||
const [showQuizDialog, setShowQuizDialog] = useState(false);
|
||||
|
||||
// 处理成功提示的继续和关闭
|
||||
const handleSuccessAlertContinue = useCallback(() => {
|
||||
setShowSuccessAlert(false);
|
||||
@@ -50,7 +54,7 @@ const HuangyanpeiReflectionScene4 = () => {
|
||||
}
|
||||
|
||||
const progressCount = visited.size;
|
||||
const total = 2;
|
||||
const total = 3;
|
||||
const completed = progressCount >= total;
|
||||
const subtitle = completed
|
||||
? "探索中华职业学院·立业之本·商科(已完成)"
|
||||
@@ -75,6 +79,15 @@ const HuangyanpeiReflectionScene4 = () => {
|
||||
className="absolute top-10 left-1/2 -translate-x-1/2"
|
||||
/>
|
||||
|
||||
<Image
|
||||
className="absolute left-5 top-5"
|
||||
src={getStaticImage("huangyanpei/reflection/components/喇叭2")}
|
||||
button
|
||||
onClick={() => {
|
||||
setShowQuizDialog(true);
|
||||
}}
|
||||
/>
|
||||
|
||||
<Image
|
||||
className="absolute right-5 top-5"
|
||||
src={getStaticImage("components/离开")}
|
||||
@@ -101,7 +114,7 @@ const HuangyanpeiReflectionScene4 = () => {
|
||||
{/* 选择题1:中华职校商科的核心教学目标 */}
|
||||
<MultipleChoiceQuizPanel
|
||||
visible={showQuiz1}
|
||||
title={`题目 1 (多选题)\n\n中华职校商科的核心教学目标是什么? (多选)`}
|
||||
title={`【选题】中华职校商科的核心教学目标是什么? `}
|
||||
options={[
|
||||
{
|
||||
value: "A",
|
||||
@@ -121,7 +134,7 @@ const HuangyanpeiReflectionScene4 = () => {
|
||||
},
|
||||
]}
|
||||
correctAnswer={["B", "C"]}
|
||||
errorMessage='不对哦! 黄先生倡导"商科要为民族工商业服务", 商科是要培养诚信经营、助力国货发展的人才, 可不能想着投机发财呀, 再选一次;'
|
||||
errorMessage="不对哦!黄先生倡导“商科要为民族工商业服务”,商科是要培养诚信经营、助力国货发展的人才,可不能想着投机发财呀,再选一次吧!"
|
||||
minSelections={1}
|
||||
onSubmit={(values: string[], isCorrect: boolean) => {
|
||||
if (isCorrect) {
|
||||
@@ -130,9 +143,6 @@ const HuangyanpeiReflectionScene4 = () => {
|
||||
setShowSuccessAlert(true);
|
||||
}
|
||||
}}
|
||||
onError={(_error: string) => {
|
||||
// 答题错误时的处理(组件内部已显示错误信息)
|
||||
}}
|
||||
/>
|
||||
|
||||
{/* 答题成功提示 */}
|
||||
@@ -178,7 +188,7 @@ const HuangyanpeiReflectionScene4 = () => {
|
||||
>
|
||||
终于到中华职业学校啦!这里是中国近代职教的摇篮,“免学费、包分配”,还能学真手艺,快来练就一技之长。
|
||||
{"\n"}
|
||||
现在要完成你的第一个任务:推销中华职校生产的“国货精品”——手工纽扣和纯棉毛巾!当年学生们就是带着这些国货,走街串巷做推销呢
|
||||
现在要完成你的第一个任务:推销中华职校生产的“国货精品”——手工纽扣和纯棉毛巾!当年学生们就是带着这些国货,走街串巷做推销呢!
|
||||
</StudyGuideModal>
|
||||
|
||||
{showVideo && (
|
||||
@@ -195,6 +205,15 @@ const HuangyanpeiReflectionScene4 = () => {
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
|
||||
<QuizDialog
|
||||
visible={showQuizDialog}
|
||||
onClose={() => setShowQuizDialog(false)}
|
||||
onComplete={() => {
|
||||
setShowQuizDialog(false);
|
||||
setVisited((prev) => new Set(prev).add(3));
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user