Files
English/kouyu_english/assets/courses/A1/A1-U19.json
T
shenleiandClaude Opus 4.8 febfd30f49 feat: A1 短材料复现本单元理解词,并加入黑夜模式
课程内容
- 重写全部 21 个 A1 单元的听读材料,把本单元理解词织进听/读文本,
  单元内理解词复现率从约 20% 提升到约 77%(各单元 56–96%)。
- 修正 U01 房间号与机场大巴同为 thirty 的撞车(改为 17/30/40)。
- 校验器容差按级别读取(A1 为 8%),materials 覆盖率、字数、
  选项子串等校验全部通过;course_content_test 通过。

黑夜模式
- app_theme 拆分明/暗两套调色板,AppColors 随亮度切换;
  main 用 theme/darkTheme/themeMode + builder 镜像已解析亮度;
  主题偏好持久化到快照;进度页新增“外观主题”切换。

文档
- COURSE-PACK-JSON.md 更新 A1 词池覆盖(840/933)与材料复现约定。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-18 11:16:09 +09:00

913 lines
23 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"schemaVersion": 1,
"id": "A1-U19",
"revision": 1,
"level": "A1",
"title": "遇到麻烦时求助",
"categories": [
"日常",
"旅行"
],
"canDo": "说明遇到的麻烦、请求帮忙、感谢与回应",
"status": "draft",
"meta": {
"draftedBy": "claude-opus-5",
"draftedAt": "2026-09-17",
"sources": [
"CEFR-J Vocabulary Profile 1.5",
"CEFR-J Grammar Profile 20180315"
],
"reviews": [],
"frozenAt": null
},
"names": [],
"grammar": [
{
"id": "64",
"use": "active",
"reason": "只用 I was / It was 说刚才的情况"
},
{
"id": "65",
"use": "active",
"reason": "只用 lost、took、happened 几个过去式"
},
{
"id": "117",
"use": "active"
},
{
"id": "101",
"use": "active"
}
],
"coreItems": [
{
"id": "A1-U19-P01",
"type": "phrase",
"en": "I lost my wallet.",
"zh": "我的钱包丢了。",
"sceneWord": true,
"sceneReason": "wallet 为 A2,旅行中丢东西时最先要说",
"match": [
[
"lost my"
]
],
"example": {
"en": "I lost my phone.",
"zh": "我的手机丢了。"
},
"review": {
"prompt": "说你的钱包丢了。"
}
},
{
"id": "A1-U19-P02",
"type": "phrase",
"en": "Someone took my bag.",
"zh": "有人拿走了我的包。",
"sceneWord": false,
"match": [
[
"took my"
]
],
"example": {
"en": "Someone took my phone.",
"zh": "有人拿走了我的手机。"
},
"review": {
"prompt": "说有人拿走了你的包。"
}
},
{
"id": "A1-U19-P03",
"type": "phrase",
"en": "Call the police!",
"zh": "快报警!",
"sceneWord": true,
"sceneReason": "police 为 A2,遇到偷窃必须会说",
"match": [
[
"call the police"
]
],
"example": {
"en": "Please call the police.",
"zh": "请报警。"
},
"review": {
"prompt": "请旁边的人报警。"
}
},
{
"id": "A1-U19-P04",
"type": "phrase",
"en": "Where is the police station?",
"zh": "警察局在哪里?",
"sceneWord": true,
"sceneReason": "police station 为 A2,报案时要去",
"match": [
[
"police station"
]
],
"example": {
"en": "Is there a police station near here?",
"zh": "附近有警察局吗?"
},
"review": {
"prompt": "问警察局在哪里。"
}
},
{
"id": "A1-U19-P05",
"type": "phrase",
"en": "I can't find my passport.",
"zh": "我找不到我的护照了。",
"sceneWord": false,
"match": [
[
"can't find"
]
],
"example": {
"en": "I can't find my hotel.",
"zh": "我找不到我的酒店了。"
},
"review": {
"prompt": "说你找不到护照了。"
}
},
{
"id": "A1-U19-P06",
"type": "phrase",
"en": "What happened?",
"zh": "发生了什么事?",
"sceneWord": false,
"match": [
[
"what happened"
]
],
"example": {
"en": "What happened to your bag?",
"zh": "你的包怎么了?"
},
"review": {
"prompt": "看到有人着急,问发生了什么。"
}
},
{
"id": "A1-U19-P07",
"type": "phrase",
"en": "I was on the bus.",
"zh": "我当时在公交车上。",
"sceneWord": false,
"match": [
[
"i was"
]
],
"example": {
"en": "I was in the station.",
"zh": "我当时在车站。"
},
"review": {
"prompt": "说你当时在出租车上。"
}
},
{
"id": "A1-U19-P08",
"type": "phrase",
"en": "Does anyone speak Chinese?",
"zh": "有人会说中文吗?",
"sceneWord": false,
"match": [
[
"does anyone speak"
]
],
"example": {
"en": "Does anyone speak English?",
"zh": "有人会说英语吗?"
},
"review": {
"prompt": "问有没有人会说中文。"
}
},
{
"id": "A1-U19-P09",
"type": "phrase",
"en": "Don't worry.",
"zh": "别担心。",
"sceneWord": false,
"match": [
[
"don't worry"
]
],
"example": {
"en": "Don't worry. We can help you.",
"zh": "别担心,我们能帮你。"
},
"review": {
"prompt": "安慰着急的朋友。"
}
},
{
"id": "A1-U19-P10",
"type": "phrase",
"en": "I need help.",
"zh": "我需要帮助。",
"sceneWord": false,
"match": [
[
"need help"
]
],
"example": {
"en": "I need help, please.",
"zh": "我需要帮助,请帮帮我。"
},
"review": {
"prompt": "说你需要帮助。"
}
},
{
"id": "A1-U19-P11",
"type": "phrase",
"en": "It's an emergency.",
"zh": "这是紧急情况。",
"sceneWord": true,
"sceneReason": "emergency 为 A2,求助时要让对方知道情况紧急",
"match": [
[
"emergency"
]
],
"example": {
"en": "Please help. It's an emergency!",
"zh": "请帮帮忙,这是急事!"
},
"review": {
"prompt": "告诉别人情况紧急。"
}
},
{
"id": "A1-U19-W01",
"type": "word",
"en": "quickly",
"zh": "快点",
"sceneWord": false,
"match": [
[
"quickly"
]
],
"example": {
"en": "Please come quickly!",
"zh": "请快点来!"
},
"review": {
"prompt": "请别人快点来。"
}
},
{
"id": "A1-U19-W02",
"type": "word",
"en": "fire",
"zh": "火;火灾",
"sceneWord": false,
"match": [
[
"fire"
]
],
"example": {
"en": "There's a fire in the kitchen!",
"zh": "厨房着火了!"
},
"review": {
"prompt": "喊人说着火了。"
}
}
],
"receptiveWords": [
{
"id": "A1-U19-R01",
"en": "thief",
"zh": "小偷"
},
{
"id": "A1-U19-R02",
"en": "steal",
"zh": "偷"
},
{
"id": "A1-U19-R03",
"en": "danger",
"zh": "危险"
},
{
"id": "A1-U19-R04",
"en": "dangerous",
"zh": "危险的"
},
{
"id": "A1-U19-R05",
"en": "mistake",
"zh": "错误"
},
{
"id": "A1-U19-R06",
"en": "trouble",
"zh": "麻烦"
},
{
"id": "A1-U19-R07",
"en": "report",
"zh": "报告"
},
{
"id": "A1-U19-R08",
"en": "fall",
"zh": "摔倒"
},
{
"id": "A1-U19-R09",
"en": "save",
"zh": "救;保存"
},
{
"id": "A1-U19-R10",
"en": "believe",
"zh": "相信"
},
{
"id": "A1-U19-R11",
"en": "guess",
"zh": "猜"
},
{
"id": "A1-U19-R12",
"en": "true",
"zh": "真的"
},
{
"id": "A1-U19-R13",
"en": "lucky",
"zh": "幸运的"
},
{
"id": "A1-U19-R14",
"en": "poor",
"zh": "可怜的;穷的"
},
{
"id": "A1-U19-R15",
"en": "real",
"zh": "真实的"
},
{
"id": "A1-U19-R16",
"en": "reason",
"zh": "原因"
},
{
"id": "A1-U19-R17",
"en": "touch",
"zh": "碰"
},
{
"id": "A1-U19-R18",
"en": "throw",
"zh": "扔"
},
{
"id": "A1-U19-R19",
"en": "policeman",
"zh": "警察"
},
{
"id": "A1-U19-R20",
"en": "somebody",
"zh": "某人"
},
{
"id": "A1-U19-R21",
"en": "safe",
"zh": "安全的"
},
{
"id": "A1-U19-R22",
"en": "everywhere",
"zh": "到处"
},
{
"id": "A1-U19-R23",
"en": "tell",
"zh": "告诉"
},
{
"id": "A1-U19-R24",
"en": "story",
"zh": "故事"
},
{
"id": "A1-U19-R25",
"en": "thing",
"zh": "东西"
}
],
"segments": [
{
"id": "A1-U19-S1",
"title": "丢了东西",
"minutes": 13,
"itemIds": [
"A1-U19-P01",
"A1-U19-P05",
"A1-U19-P06",
"A1-U19-P07",
"A1-U19-P10"
],
"listening": {
"text": "What happened? I lost my wallet. Where were you? I was on the bus. And I can't find my passport too. I need help.",
"question": "说话人丢了什么?",
"options": [
"钱包,也找不到护照",
"手机和包",
"酒店钥匙"
]
},
"speaking": [
{
"text": "What happened?"
},
{
"text": "I lost my wallet."
},
{
"text": "I can't find my passport."
},
{
"text": "I was on the bus."
},
{
"text": "I need help."
}
],
"reading": {
"text": "Lost something?\n1. Don't be afraid. Maybe it's your mistake. Look everywhere: in your bag, in your pockets, in the hotel.\n2. Think: where was it? Was it in the taxi or on the bus?\n3. Call the bus or taxi office. Tell them the date and time.\n4. Can't find it? Go to the police station. They can write a report.\n5. You lost your passport? Call your country's office in the city.",
"question": "找不到丢失的东西,最后应该去哪里?",
"options": [
"警察局",
"出租车公司",
"酒店前台"
]
},
"writing": {
"prompt": "写两句话:说你钱包丢了,当时在公交车上。",
"example": "I lost my wallet. I was on the bus.",
"itemIds": [
"A1-U19-P01",
"A1-U19-P07"
]
},
"independent": {
"prompt": "用英语告诉酒店前台你丢了什么、当时在哪里。",
"itemIds": [
"A1-U19-P01",
"A1-U19-P05",
"A1-U19-P07",
"A1-U19-P10"
]
}
},
{
"id": "A1-U19-S2",
"title": "被偷和报警",
"minutes": 13,
"itemIds": [
"A1-U19-P02",
"A1-U19-P03",
"A1-U19-P04",
"A1-U19-P08",
"A1-U19-P11"
],
"listening": {
"text": "Help! Someone took my bag! Call the police! It's an emergency. Does anyone speak Chinese? I do. Don't worry. The police station is next to the bank.",
"question": "警察局在哪里?",
"options": [
"银行旁边",
"公交车站旁边",
"酒店对面"
]
},
"speaking": [
{
"text": "Someone took my bag."
},
{
"text": "Call the police!",
"tip": "police 重音在第二个音节:po-LICE"
},
{
"text": "Where is the police station?"
},
{
"text": "Does anyone speak Chinese?"
},
{
"text": "It's an emergency."
}
],
"reading": {
"text": "At the police station\nPoliceman: What happened?\nMia: Somebody took my bag on the train. I believe it was a thief. Thieves can steal bags on trains.\nPoliceman: What was in it?\nMia: My phone and my wallet. There was nothing else.\nPoliceman: Do you remember the man? Guess his age.\nMia: About thirty. He was tall.\nPoliceman: OK. Here is your report. Who should we call?",
"question": "Mia 的包里有什么?",
"options": [
"手机和钱包",
"护照和钥匙",
"相机和钱"
]
},
"writing": {
"prompt": "写两句话:说有人拿走了你的包,请人报警。",
"example": "Someone took my bag. Call the police!",
"itemIds": [
"A1-U19-P02",
"A1-U19-P03"
]
},
"independent": {
"prompt": "你的手机被偷了,用英语向路人求助并问警察局在哪。",
"itemIds": [
"A1-U19-P02",
"A1-U19-P11",
"A1-U19-P04",
"A1-U19-P08"
]
}
},
{
"id": "A1-U19-S3",
"title": "紧急情况",
"minutes": 11,
"itemIds": [
"A1-U19-P09",
"A1-U19-W01",
"A1-U19-W02"
],
"listening": {
"text": "Fire! There's a fire in the kitchen! Come quickly! Don't worry, everybody. Go out of the building. Is anyone hurt? No, we're all safe.",
"question": "大家现在怎么样?",
"options": [
"都很安全",
"有人受伤",
"还在厨房里"
]
},
"speaking": [
{
"text": "Don't worry."
},
{
"text": "Please come quickly!"
},
{
"text": "There's a fire!"
}
],
"reading": {
"text": "Is it true?\nMy friend Ben was lucky. He had a real problem in a big city. He was on a bridge, and a poor old woman was in danger. The road was dangerous. She had a fall. Ben ran to her quickly and helped her. People say he saved her. Now Ben tells this story, and his reason is this: \"Don't touch your phone. Look at the people around you!\" Some people throw things on the road, and some people help.",
"question": "Ben 做了什么?",
"options": [
"帮了摔倒的老人",
"报了警",
"救了火"
]
},
"writing": {
"prompt": "写两句话:喊着火了,请人快点来。",
"example": "There's a fire! Please come quickly!",
"itemIds": [
"A1-U19-W02",
"A1-U19-W01"
]
},
"independent": {
"prompt": "朋友很害怕,用英语安慰他,并说你们要快点出去。",
"itemIds": [
"A1-U19-P09",
"A1-U19-W01"
]
}
}
],
"scenes": [
{
"id": "A1-U19-C1",
"kind": "main",
"title": "在街上包被抢",
"learnerRole": "游客",
"aiRole": "路人",
"setting": "你在街上,有人抢走了你的包,你向路人求助。",
"turns": [
{
"ai": "Are you OK? Are you in trouble? What happened?",
"goal": "说有人拿走了你的包",
"model": "Someone took my bag!",
"zh": "有人拿走了我的包!",
"itemIds": [
"A1-U19-P02"
]
},
{
"ai": "Oh no! What was in it?",
"goal": "说钱包在里面,情况紧急",
"model": "My wallet. It's an emergency. I need help.",
"zh": "我的钱包在里面。情况紧急,我需要帮助。",
"itemIds": [
"A1-U19-P11",
"A1-U19-P10"
]
},
{
"ai": "Don't worry. I can help you.",
"goal": "请对方报警",
"model": "Please call the police!",
"zh": "请报警!",
"itemIds": [
"A1-U19-P03"
]
},
{
"ai": "OK. I can call them now.",
"goal": "请他们快点来",
"model": "Can they come quickly?",
"zh": "他们能快点来吗?",
"itemIds": [
"A1-U19-W01"
]
},
{
"ai": "Good idea. Do you know a police station near here?",
"goal": "问警察局在哪",
"model": "No. Where is the police station?",
"zh": "警察局在哪里?",
"itemIds": [
"A1-U19-P04"
]
}
]
},
{
"id": "A1-U19-C2",
"kind": "variant",
"title": "在酒店前台说丢了护照",
"learnerRole": "客人",
"aiRole": "酒店前台",
"setting": "你回到酒店,发现护照不见了。",
"turns": [
{
"ai": "Hello. You look worried.",
"goal": "说你找不到护照",
"model": "I can't find my passport.",
"zh": "我找不到我的护照了。",
"itemIds": [
"A1-U19-P05"
]
},
{
"ai": "Oh no! When was the last time you had it?",
"goal": "说当时在出租车上",
"model": "I was in a taxi.",
"zh": "我当时在出租车上。",
"itemIds": [
"A1-U19-P07"
]
},
{
"ai": "Do you remember the taxi?",
"goal": "说不记得,钱包也丢了",
"model": "No. And I lost my wallet.",
"zh": "不记得。而且我的钱包也丢了。",
"itemIds": [
"A1-U19-P01"
]
},
{
"ai": "Don't worry. We can call the taxi office.",
"goal": "问有没有人会说中文",
"model": "Thank you. Does anyone speak Chinese here?",
"zh": "谢谢。这里有人会说中文吗?",
"itemIds": [
"A1-U19-P08"
]
},
{
"ai": "Yes, Mr Wang can help you.",
"goal": "说你需要帮助",
"model": "Great. I need help.",
"zh": "太好了。我需要帮助。",
"itemIds": [
"A1-U19-P10"
]
}
]
},
{
"id": "A1-U19-C3",
"kind": "variant",
"title": "朋友遇到紧急情况",
"learnerRole": "你",
"aiRole": "慌张的朋友",
"setting": "你和朋友在公寓里,朋友突然跑过来喊你。",
"turns": [
{
"ai": "Come here! Come here!",
"goal": "问发生了什么",
"model": "What happened?",
"zh": "发生了什么事?",
"itemIds": [
"A1-U19-P06"
]
},
{
"ai": "There's a fire in the kitchen!",
"goal": "说着火了,要快点",
"model": "A fire? Quickly!",
"zh": "着火了?快!",
"itemIds": [
"A1-U19-W02",
"A1-U19-W01"
]
},
{
"ai": "What can we do?",
"goal": "叫朋友别担心,报警",
"model": "Don't worry. Call the police.",
"zh": "别担心。报警。",
"itemIds": [
"A1-U19-P09",
"A1-U19-P03"
]
},
{
"ai": "The number is 110?",
"goal": "说这是紧急情况,要叫他们快点来",
"model": "Yes. Tell them it's an emergency.",
"zh": "对。告诉他们这是紧急情况。",
"itemIds": [
"A1-U19-P11"
]
},
{
"ai": "OK! Are you OK?",
"goal": "说你需要帮助,不会英语的邻居有人会说中文吗",
"model": "I need help. Does anyone speak Chinese?",
"zh": "我需要帮助。有人会说中文吗?",
"itemIds": [
"A1-U19-P10",
"A1-U19-P08"
]
}
]
}
],
"tasks": [
{
"id": "A1-U19-T1",
"sceneId": "A1-U19-C1",
"goal": "包被抢后向路人求助并找警察",
"itemIds": [
"A1-U19-P02",
"A1-U19-P11",
"A1-U19-P10",
"A1-U19-P03",
"A1-U19-W01",
"A1-U19-P04"
],
"slots": [
"发生了什么",
"报警",
"警察局"
]
},
{
"id": "A1-U19-T2",
"sceneId": "A1-U19-C2",
"goal": "向酒店说明护照和钱包丢失的经过",
"itemIds": [
"A1-U19-P05",
"A1-U19-P07",
"A1-U19-P01",
"A1-U19-P08",
"A1-U19-P10"
],
"slots": [
"丢了什么",
"在哪里丢的",
"求助"
]
},
{
"id": "A1-U19-T3",
"sceneId": "A1-U19-C3",
"goal": "家里着火时和朋友应对",
"itemIds": [
"A1-U19-P06",
"A1-U19-W02",
"A1-U19-W01",
"A1-U19-P09",
"A1-U19-P03",
"A1-U19-P11",
"A1-U19-P10",
"A1-U19-P08"
],
"slots": [
"情况",
"报警",
"求助"
]
}
],
"materials": [
{
"id": "A1-U19-M1",
"mode": "listening",
"title": "有人在求助",
"text": "Excuse me! I need help — it's an emergency! A thief took my bag on the bus and ran away. I think somebody wanted to steal my money. My passport and my wallet are in the bag! This is real trouble. Please call the police and report it. Where is the police station? Is it safe here? I was on the bus from the airport. I looked everywhere, but I can't find my phone. I made a big mistake — I didn't hold my bag. It's dangerous here! Does anyone speak Chinese? Please help me quickly. Thank you very much.",
"glosses": {
"ran": "跑(过去式)",
"anyone": "任何人",
"made": "make 的过去式;made a mistake 犯了错"
},
"questions": [
{
"type": "gist",
"question": "这个人为什么求助?",
"options": [
"包被小偷拿走了",
"找不到酒店",
"想问路"
]
},
{
"type": "detail",
"question": "他的护照在哪里?",
"options": [
"在被拿走的包里",
"在酒店",
"在口袋里"
]
}
]
},
{
"id": "A1-U19-M2",
"mode": "reading",
"title": "读一段对话:丢了钱包",
"text": "Anna: What happened? You look worried. Are you in trouble?\nBen: I lost my wallet! I can't find it anywhere. I think a thief took it.\nAnna: Don't worry. Where were you? Try to remember.\nBen: I was in the cafe near the station. I guess I left it on the table. It's a silly mistake.\nAnna: Maybe nobody took it. Was there money in it?\nBen: Yes, and my ID card. Do you believe it's still there?\nAnna: Maybe. It's not a dangerous place; people are kind and honest there. Let's go back and look.\nBen: You're right. I'm lucky you're here. If we can't find it, we'll report it at the police station.\nAnna: Good plan. That's the true way to be safe.\nBen: Thank you so much. You saved me!",
"glosses": {
"anywhere": "任何地方",
"silly": "傻的",
"nobody": "没有人",
"honest": "诚实的"
},
"questions": [
{
"type": "detail",
"question": "Ben 觉得钱包丢在哪里了?",
"options": [
"车站旁边的咖啡店",
"公交车上",
"酒店房间"
]
},
{
"type": "detail",
"question": "如果找不到,他们打算怎么办?",
"options": [
"去派出所报案",
"回家",
"给妈妈打电话"
]
}
]
}
],
"excluded": [
{
"en": "ambulance",
"reason": "B1A1 用 call the police / It's an emergency 求助"
},
{
"en": "embassy",
"reason": "B2A1 用 your country's office 解释"
}
]
}