feat: update residence learning flows

Commit non-media application and asset changes while leaving audio, video, and environment files out of version control.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
zhongyidianandClaude Opus 4.7 committed 2026-05-13 10:15:26 +08:00
1 parent 68ba22a33f
commit 6d40e19346
184 files changed
+7663 -2203

No files matched your search

+42 -62
View File
@@ -70,10 +70,10 @@ const NieerPlace5 = () => {
const subtitle = completed ? '已完成' : `${progressCount}/${total}`
const { isEnabled } = useCursorController({
initialEnabled: [2],
initialEnabled: [1],
dependencies: {
1: [2],
3: [1],
2: [1],
3: [2],
},
visited: visitedExhibits,
})
@@ -96,14 +96,15 @@ const NieerPlace5 = () => {
const handleOpenExhibit = (id: 1 | 2 | 3) => {
setActiveExhibitId(id)
// 光标1显示guide2的内容(选定国歌时间线),光标2显示guide1的内容(宪法修正案)
if (id === 1) {
setGuide1Step(0)
setGuide1Visible(true)
setGuide2Step(0)
setGuide2Visible(true)
}
if (id === 2) {
setGuide2Step(0)
setGuide2Visible(true)
setGuide1Step(0)
setGuide1Visible(true)
}
if (id === 3) {
@@ -169,13 +170,13 @@ const NieerPlace5 = () => {
src={activeExhibitId ? exhibitSrcMap[activeExhibitId] : ''}
onOpen={() => {
if (activeExhibitId === 1) {
triggerPuzzleAnimation(10)
triggerPuzzleAnimation(9)
}
if (activeExhibitId === 2) {
triggerPuzzleAnimation(11)
triggerPuzzleAnimation(10)
}
if (activeExhibitId === 3) {
triggerPuzzleAnimation(12)
triggerPuzzleAnimation(11)
}
}}
onClose={() => {
@@ -185,11 +186,11 @@ const NieerPlace5 = () => {
setGuide2Visible(false)
setGuide3Visible(false)
if (closingId == 2) {
markExhibitVisited(place, 2)
if (closingId == 1) {
markExhibitVisited(place, 1)
}
// 展品1关闭后完成光标1,并触发光标2的两道题
if (closingId === 1) {
// 展品2关闭后触发光标2的两道题
if (closingId === 2) {
saveNieerStore()
setQuiz2_1Visible(true)
}
@@ -199,28 +200,7 @@ const NieerPlace5 = () => {
}}
/>
{/* 光标1对话(图1) */}
<GuideSteps
visible={guide1Visible}
currentStep={guide1Step}
onStepChange={setGuide1Step}
onVisibleChange={setGuide1Visible}
showMask={false}
highlightSelectors={[]}
zIndex={10001}
>
<GuideStepsItem speaker="student" audioSrc={getPublicPath('audio/nieer/mp3_nieer_22.mp3')}>
那2004年的宪法修正案又对国歌做了什么重要规定呢?为什么要把它写入宪法呀?
</GuideStepsItem>
<GuideStepsItem speaker="guide" audioSrc={getPublicPath('audio/nieer/mp3_nieer_23.mp3')}>
2004年3月14日,第十届全国人民代表大会二次会议通过宪法修正案,明确规定“中华人民共和国国歌是《义勇军进行曲》”,这让国歌的地位有了根本大法的保障。
</GuideStepsItem>
<GuideStepsItem speaker="guide">
把它写入宪法,是因为这首歌不仅记录了民族救亡的历史,更凝聚了中华民族的精神气节。从抗战时期的冲锋号到新时代的强国音,它早已成为国家尊严的象征,写入宪法能更好地培育全民的爱国意识和国家观念。
</GuideStepsItem>
</GuideSteps>
{/* 光标2对话(图2) */}
{/* 光标1对话(图1) - 选定国歌时间线 */}
<GuideSteps
visible={guide2Visible}
currentStep={guide2Step}
@@ -233,14 +213,35 @@ const NieerPlace5 = () => {
<GuideStepsItem speaker="student" audioSrc={getPublicPath('audio/nieer/mp3_nieer_20.mp3')}>
小沪,从抗日战歌到正式被确立为国歌,中间经历了多久呀?《义勇军进行曲》第一次作为国歌奏响是在什么时候呢?
</GuideStepsItem>
<GuideStepsItem speaker="guide" audioSrc={getPublicPath('audio/nieer/mp3_nieer_21.mp3')}>
<GuideStepsItem speaker="guide" audioSrc={getPublicPath('audio/nieer/mp3_nieer_21_1.mp3')}>
时间跨度还真不短呢!1949年9月27日,中国人民政治协商会议第一届全体会议决定,在国歌未正式制定前,以《义勇军进行曲》作为代国歌。
</GuideStepsItem>
<GuideStepsItem speaker="guide">
<GuideStepsItem speaker="guide" audioSrc={getPublicPath('audio/nieer/mp3_nieer_21_2.mp3')}>
同年10月1日开国大典上,它第一次在天安门广场作为国歌庄严奏响,见证了新中国的诞生。直到1982年12月4日,第五届全国人民代表大会第五次会议才正式将它定为中华人民共和国国歌,完成了从代国歌到正式国歌的跨越。
</GuideStepsItem>
</GuideSteps>
{/* 光标2对话(图2) - 宪法修正案 */}
<GuideSteps
visible={guide1Visible}
currentStep={guide1Step}
onStepChange={setGuide1Step}
onVisibleChange={setGuide1Visible}
showMask={false}
highlightSelectors={[]}
zIndex={10001}
>
<GuideStepsItem speaker="student" audioSrc={getPublicPath('audio/nieer/mp3_nieer_22.mp3')}>
那2004年的宪法修正案又对国歌做了什么重要规定呢?为什么要把它写入宪法呀?
</GuideStepsItem>
<GuideStepsItem speaker="guide" audioSrc={getPublicPath('audio/nieer/mp3_nieer_23_1.mp3')}>
2004年3月14日,第十届全国人民代表大会二次会议通过宪法修正案,明确规定“中华人民共和国国歌是《义勇军进行曲》”,这让国歌的地位有了根本大法的保障。
</GuideStepsItem>
<GuideStepsItem speaker="guide" audioSrc={getPublicPath('audio/nieer/mp3_nieer_23_2.mp3')}>
把它写入宪法,是因为这首歌不仅记录了民族救亡的历史,更凝聚了中华民族的精神气节。从抗战时期的冲锋号到新时代的强国音,它早已成为国家尊严的象征,写入宪法能更好地培育全民的爱国意识和国家观念。
</GuideStepsItem>
</GuideSteps>
{/* 光标2题目1(图3:选择题) - 错两次弹窗提示 */}
<SingleChoiceQuizPanel
visible={quiz2_1Visible}
@@ -276,11 +277,6 @@ const NieerPlace5 = () => {
<SuccessAlert
visible={success2_1Visible}
title="恭喜你, 选择正确!"
onContinue={() => {
setSuccess2_1Visible(false)
setQuiz2_2Visible(true)
}}
onClose={() => {
setSuccess2_1Visible(false)
setQuiz2_2Visible(true)
@@ -315,15 +311,9 @@ const NieerPlace5 = () => {
<SuccessAlert
visible={success2_2Visible}
onContinue={() => {
setSuccess2_2Visible(false)
markExhibitVisited(place, 1)
saveNieerStore()
}}
onClose={() => {
setSuccess2_2Visible(false)
markExhibitVisited(place, 1)
saveNieerStore()
markExhibitVisited(place, 2)
}}
/>
@@ -346,7 +336,7 @@ const NieerPlace5 = () => {
<MatchQuizPanel
visible={quiz3_1Visible}
zIndex={10001}
title="【连线】请将左侧《义勇军进行曲》的关键事件与右侧时间进行匹配"
title="【连线】请将左侧《义勇军进行曲》的关键事件与右侧时间进行匹配:"
leftItems={[
{
id: 'e1982',
@@ -413,11 +403,7 @@ const NieerPlace5 = () => {
<SuccessAlert
visible={success3_1Visible}
title="恭喜你, 匹配正确!"
onContinue={() => {
setSuccess3_1Visible(false)
setQuiz3_2Visible(true)
}}
title="恭喜你, 匹配正确!"
onClose={() => {
setSuccess3_1Visible(false)
setQuiz3_2Visible(true)
@@ -446,15 +432,9 @@ const NieerPlace5 = () => {
<SuccessAlert
title="恭喜你,判断正确!"
visible={success3_2Visible}
onContinue={() => {
setSuccess3_2Visible(false)
markExhibitVisited(place, 3)
saveNieerStore()
}}
onClose={() => {
setSuccess3_2Visible(false)
markExhibitVisited(place, 3)
saveNieerStore()
}}
/>
</div>