Files
English/kouyu_english/assets/courses/course-map.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

654 lines
15 KiB
JSON

{
"schemaVersion": 1,
"goal": "日常生活与旅行",
"sources": [
"CEFR-J Vocabulary Profile 1.5(東京外国語大学投野由紀夫研究室)",
"CEFR-J Grammar Profile 20180315(東京外国語大学投野由紀夫研究室)"
],
"minimumPoolCoverage": 0.85,
"alwaysAllowedWords": [
"oh",
"um",
"ok",
"okay",
"wow",
"mm",
"hmm",
"ah",
"uh",
"a",
"b",
"c",
"d",
"e",
"f",
"g",
"h",
"i",
"j",
"k",
"l",
"m",
"n",
"o",
"p",
"q",
"r",
"s",
"t",
"u",
"v",
"w",
"x",
"y",
"z"
],
"names": [
"tom",
"mia",
"alex",
"shen",
"anna",
"ben",
"lily",
"sam",
"emma",
"leo",
"nina",
"david",
"lucy",
"mark",
"sara",
"jack",
"kate",
"max",
"ella",
"chen",
"wang",
"li",
"zhang",
"liu",
"london",
"paris",
"tokyo",
"sydney",
"beijing",
"shanghai",
"china",
"chinese",
"english",
"america",
"american",
"japan",
"british",
"rome",
"bangkok",
"singapore",
"seoul",
"berlin",
"mr",
"mrs",
"ms",
"dr",
"usd",
"cm",
"km",
"wi-fi",
"wifi",
"atm"
],
"levels": [
{
"id": "A1",
"title": "固定的生活与旅行互动",
"coreRange": [
10,
15
],
"receptiveRange": [
20,
35
],
"units": [
{
"id": "A1-U01",
"file": "A1/A1-U01.json",
"title": "开口求助与数字",
"categories": [
"旅行",
"日常"
],
"canDo": "没听懂时礼貌求助,说 11–100 的数字,拼读字母"
},
{
"id": "A1-U02",
"file": "A1/A1-U02.json",
"title": "价格与付款",
"categories": [
"日常",
"旅行"
],
"canDo": "问价、说 100 以内的金额、选择现金或刷卡"
},
{
"id": "A1-U03",
"file": "A1/A1-U03.json",
"title": "在咖啡店点单",
"categories": [
"日常"
],
"canDo": "点饮料、说大小杯、礼貌确认"
},
{
"id": "A1-U04",
"file": "A1/A1-U04.json",
"title": "问路",
"categories": [
"旅行"
],
"canDo": "问地点、听懂左右和距离"
},
{
"id": "A1-U05",
"file": "A1/A1-U05.json",
"title": "在餐厅点餐",
"categories": [
"日常",
"旅行"
],
"canDo": "点餐、问推荐、要账单"
},
{
"id": "A1-U06",
"file": "A1/A1-U06.json",
"title": "家人与住处",
"categories": [
"日常"
],
"canDo": "介绍家人,说住在哪里和家里有什么"
},
{
"id": "A1-U07",
"file": "A1/A1-U07.json",
"title": "公交与地铁",
"categories": [
"旅行"
],
"canDo": "买票、问站点、确认下车"
},
{
"id": "A1-U08",
"file": "A1/A1-U08.json",
"title": "超市与便利店",
"categories": [
"日常"
],
"canDo": "找商品、说数量"
},
{
"id": "A1-U09",
"file": "A1/A1-U09.json",
"title": "描述人和感受",
"categories": [
"日常"
],
"canDo": "说一个人的外貌和性格,说自己的心情"
},
{
"id": "A1-U10",
"file": "A1/A1-U10.json",
"title": "打车",
"categories": [
"旅行"
],
"canDo": "说目的地、确认价格或路线"
},
{
"id": "A1-U11",
"file": "A1/A1-U11.json",
"title": "我的一天",
"categories": [
"日常"
],
"canDo": "说作息和常做的事"
},
{
"id": "A1-U12",
"file": "A1/A1-U12.json",
"title": "买衣服",
"categories": [
"日常"
],
"canDo": "问尺码和颜色、试穿"
},
{
"id": "A1-U13",
"file": "A1/A1-U13.json",
"title": "日期与约时间",
"categories": [
"日常"
],
"canDo": "说日期、约见面、改时间"
},
{
"id": "A1-U14",
"file": "A1/A1-U14.json",
"title": "在机场",
"categories": [
"旅行"
],
"canDo": "值机、问登机口、回答入境的简单问题"
},
{
"id": "A1-U15",
"file": "A1/A1-U15.json",
"title": "入住酒店",
"categories": [
"旅行"
],
"canDo": "说明预订信息、办理入住"
},
{
"id": "A1-U16",
"file": "A1/A1-U16.json",
"title": "天气与穿着",
"categories": [
"日常",
"旅行"
],
"canDo": "问天气、说该穿什么"
},
{
"id": "A1-U17",
"file": "A1/A1-U17.json",
"title": "酒店里的需求",
"categories": [
"旅行"
],
"canDo": "要物品、报告简单问题"
},
{
"id": "A1-U18",
"file": "A1/A1-U18.json",
"title": "药店与不舒服",
"categories": [
"日常",
"旅行"
],
"canDo": "说一个症状、听懂基本建议"
},
{
"id": "A1-U19",
"file": "A1/A1-U19.json",
"title": "遇到麻烦时求助",
"categories": [
"日常",
"旅行"
],
"canDo": "说明遇到的麻烦、请求帮忙、感谢与回应"
},
{
"id": "A1-U20",
"file": "A1/A1-U20.json",
"title": "打电话与留言",
"categories": [
"日常"
],
"canDo": "留下姓名、号码和简短信息"
},
{
"id": "A1-U21",
"file": "A1/A1-U21.json",
"title": "周末计划",
"categories": [
"日常"
],
"canDo": "说将要做的事、邀请朋友"
}
],
"materials": {
"count": [
2,
2
],
"listeningWords": [
60,
120
],
"readingWords": [
80,
150
],
"unknownTolerance": 0.08
}
},
{
"id": "A2",
"title": "讲经历、做安排、处理小问题",
"coreRange": [
10,
15
],
"receptiveRange": [
40,
65
],
"materials": {
"count": [
2,
3
],
"listeningWords": [
120,
280
],
"readingWords": [
150,
250
]
},
"units": [
{
"id": "A2-U01",
"file": "A2/A2-U01.json",
"title": "上个周末",
"categories": [
"日常"
],
"canDo": "用过去时讲做了什么"
},
{
"id": "A2-U02",
"file": "A2/A2-U02.json",
"title": "上一次旅行",
"categories": [
"旅行"
],
"canDo": "讲去了哪里、怎么样、感受如何"
},
{
"id": "A2-U03",
"file": "A2/A2-U03.json",
"title": "预订酒店与餐厅",
"categories": [
"旅行"
],
"canDo": "电话或当面预订:日期、人数、要求"
},
{
"id": "A2-U04",
"file": "A2/A2-U04.json",
"title": "改期与取消",
"categories": [
"日常",
"旅行"
],
"canDo": "说明原因、提出新时间"
},
{
"id": "A2-U05",
"file": "A2/A2-U05.json",
"title": "餐厅里的问题",
"categories": [
"旅行"
],
"canDo": "说明忌口或过敏、菜品有问题、分开结账"
},
{
"id": "A2-U06",
"file": "A2/A2-U06.json",
"title": "比较与选择",
"categories": [
"日常",
"旅行"
],
"canDo": "比较商品、房间或路线并做选择"
},
{
"id": "A2-U07",
"file": "A2/A2-U07.json",
"title": "退换货",
"categories": [
"日常"
],
"canDo": "说明问题、要求退换"
},
{
"id": "A2-U08",
"file": "A2/A2-U08.json",
"title": "行程出问题",
"categories": [
"旅行"
],
"canDo": "误车、延误、换乘、改票"
},
{
"id": "A2-U09",
"file": "A2/A2-U09.json",
"title": "住宿里的问题",
"categories": [
"旅行"
],
"canDo": "报修、换房、提出要求"
},
{
"id": "A2-U10",
"file": "A2/A2-U10.json",
"title": "看病",
"categories": [
"日常",
"旅行"
],
"canDo": "说症状和持续时间、听懂用药说明"
},
{
"id": "A2-U11",
"file": "A2/A2-U11.json",
"title": "聊兴趣与家乡",
"categories": [
"日常"
],
"canDo": "围绕一个话题连续聊几轮"
},
{
"id": "A2-U12",
"file": "A2/A2-U12.json",
"title": "建议与意见",
"categories": [
"日常",
"旅行"
],
"canDo": "给建议、征求意见"
},
{
"id": "A2-U13",
"file": "A2/A2-U13.json",
"title": "介绍城市与景点",
"categories": [
"旅行"
],
"canDo": "描述地方、推荐去处"
},
{
"id": "A2-U14",
"file": "A2/A2-U14.json",
"title": "丢东西与求助",
"categories": [
"旅行"
],
"canDo": "在服务台说明丢了什么、在哪里丢的"
},
{
"id": "A2-U15",
"file": "A2/A2-U15.json",
"title": "消息与短邮件",
"categories": [
"日常"
],
"canDo": "写邀请、感谢、说明迟到"
}
],
"openTaskRubric": true
},
{
"id": "B1",
"title": "独立应对大多数情况",
"coreRange": [
10,
15
],
"receptiveRange": [
70,
110
],
"materials": {
"count": [
2,
3
],
"listeningWords": [
250,
550
],
"readingWords": [
300,
500
]
},
"units": [
{
"id": "B1-U01",
"file": "B1/B1-U01.json",
"title": "讲一段完整的旅行经历",
"categories": [
"旅行"
],
"canDo": "按顺序叙述,加入背景和感受"
},
{
"id": "B1-U02",
"file": "B1/B1-U02.json",
"title": "规划行程",
"categories": [
"旅行"
],
"canDo": "比较交通和住宿方案,说明理由和预算"
},
{
"id": "B1-U03",
"file": "B1/B1-U03.json",
"title": "入境与行李",
"categories": [
"旅行"
],
"canDo": "回答入境问题,报告行李延误或丢失"
},
{
"id": "B1-U04",
"file": "B1/B1-U04.json",
"title": "听懂广播与讲解",
"categories": [
"旅行"
],
"canDo": "抓住车站、机场广播和导览讲解的要点"
},
{
"id": "B1-U05",
"file": "B1/B1-U05.json",
"title": "紧急情况",
"categories": [
"旅行"
],
"canDo": "证件或钱包丢失、报警、求助"
},
{
"id": "B1-U06",
"file": "B1/B1-U06.json",
"title": "就医",
"categories": [
"日常",
"旅行"
],
"canDo": "说明症状变化和病史,理解医嘱要点"
},
{
"id": "B1-U07",
"file": "B1/B1-U07.json",
"title": "投诉与协商",
"categories": [
"日常",
"旅行"
],
"canDo": "要求退款或补偿,谈出解决办法"
},
{
"id": "B1-U08",
"file": "B1/B1-U08.json",
"title": "租住与长住",
"categories": [
"日常"
],
"canDo": "沟通租房或短租,理解规则要点"
},
{
"id": "B1-U09",
"file": "B1/B1-U09.json",
"title": "生活服务",
"categories": [
"日常"
],
"canDo": "办银行和手机卡业务、寄收快递、预约维修"
},
{
"id": "B1-U10",
"file": "B1/B1-U10.json",
"title": "观点与理由",
"categories": [
"日常"
],
"canDo": "推荐并说明理由,回应不同意见"
},
{
"id": "B1-U11",
"file": "B1/B1-U11.json",
"title": "习俗与文化",
"categories": [
"旅行"
],
"canDo": "谈小费、礼仪和节日,比较不同做法"
},
{
"id": "B1-U12",
"file": "B1/B1-U12.json",
"title": "深入聊天",
"categories": [
"日常"
],
"canDo": "聊经历、计划和感受,维持 5 分钟对话"
},
{
"id": "B1-U13",
"file": "B1/B1-U13.json",
"title": "读懂生活文本",
"categories": [
"日常",
"旅行"
],
"canDo": "读懂评价、说明、规则和通知"
},
{
"id": "B1-U14",
"file": "B1/B1-U14.json",
"title": "写说明与投诉",
"categories": [
"日常",
"旅行"
],
"canDo": "写邮件说明经过并提出要求"
}
],
"openTaskRubric": true
}
]
}