{{ toast.msg }}
🐱{{ engageUI.greet.msg }}
🐱{{ engageUI.peek.msg }}
🐟

🌟 今日小目标完成!

小鱼干雨来啦~ 猫咪戴上小皇冠 👑

💝
你好,{{ save.profileName }}!今天也要加油哦~
{{ totalStars }} 🐟 {{ save.pet.fish }} 📅 {{ save.studyDays }}天 👤 {{ auth.username }} ↩
🤖

AI 每日练习

Lv.{{ aiDailyLevel }} {{ aiDailyLevelLabel }} · {{ aiDailyDone ? '今日已完成 ✓' : '5 题 · 错题智能出题' }} · 连练 {{ aiDailyStreak }} 天

🌟 今日小目标

{{ g.emoji }} {{ g.label }}
{{ g.done ? '✓' : g.progress + '/' + g.goal }}

全部完成!去收藏册看看贴纸吧 📒

🚀 选择学科

{{ s.emoji }}
{{ s.name }}
{{ s.desc }}

📊 今日概览

{{ save.stats[today] ? save.stats[today].answered : 0 }}
今日答题
{{ todayAcc }}%
正确率
{{ dueWrongCount() }}
待复习错题
{{ hanzi3StarCount }}
已掌握字
📋 每日任务 完成领 🐟 · 每日刷新
{{ questDone(q) ? '✓' : '' }} {{ q.desc }} ({{ questProgress(q.type) }}/{{ q.goal }})
👆
点点乐
AI 指尖答题 · 数语拼 · 今日 3 题得贴纸
🎯
每日挑战
20 题混合闯关 · 最高连击 {{ save.challengeStreak || 0 }}
📝
考试中心
在线模考 · 打印试卷 · 期末模拟

🌈 今天心情怎么样?

已记录:{{ MOOD_OPTIONS.find(x=>x.key===todayMood()).label }} · 连续 {{ save.moodStreak || 0 }} 天

每天记录心情,做自己情绪的小管家~

✏️
写字练习 · 笔顺描红
300 字 · 已练 {{ Object.keys(save.hanziProgress).length }} 字

{{ SUBJECTS.find(s=>s.id===currentSubject) ? SUBJECTS.find(s=>s.id===currentSubject).emoji : '' }} {{ SUBJECTS.find(s=>s.id===currentSubject) ? SUBJECTS.find(s=>s.id===currentSubject).name : '' }}

累计 ⭐ {{ totalStars }} 解锁更多关卡

学科进度
{{ subjDoneCount }}/{{ subjectLevels.length }} 关
{{ lv.emoji }}
{{ lv.name }}
{{ '⭐'.repeat(levelStars(lv)) }}{{ '☆'.repeat(3-levelStars(lv)) }}
第 {{ battle.idx+1 }} / {{ battle.questions.length }} 题
🔥 x{{ battle.combo }}
{{ battle.level.emoji }} {{ battle.level.name }} 得分 {{ battle.correct*100 }}
{{ battle.currentQ.emoji }}
{{ battle.currentQ.prompt }} 🔊
{{ battle.currentQ.expr }} 🔊
{{ battle.inputValue || '?' }}
正确答案:{{ battle.currentQ.answer }}
🤖{{ aiHint.text }}

🎉 通关啦!

{{ '⭐'.repeat(battle.resultStars) }}{{ '☆'.repeat(3-battle.resultStars) }}
得分 {{ battle.resultScore }} · 答对 {{ battle.correct }}/{{ battle.questions.length }}

🐱 我的宠物

{{ petStage().name }} · 经验 {{ save.pet.exp }} / {{ petNextExp() }}
成长进度 {{ Math.min(100, Math.round(save.pet.exp / Math.max(1, petNextExp()) * 100)) }}% · 当前阶段 Lv.{{ petStage().lv }}
🐟{{ save.pet.fedTotal||0 }}喂食
🐾{{ save.pet.pattedTotal||0 }}抚摸
{{ save.pet.brushedTotal||0 }}梳理
挑战 Lv.{{ save.challengeLevel }} · 第 {{ challenge.idx+1 }}/20
🔥 x{{ challenge.combo }}
{{ challenge.currentQ.emoji }}
{{ challenge.currentQ.prompt }} 🔊
{{ challenge.currentQ.expr }} 🔊
{{ challenge.inputValue || '?' }}
正确答案:{{ challenge.currentQ.answer }}

🏆 挑战完成

得分 {{ challenge.score }} · 答对 {{ challenge.correct }}/20
最高连击 {{ challenge.bestCombo }} · 当前等级 Lv.{{ save.challengeLevel }} · 连胜 {{ save.challengeStreak }}
历史最高:{{ save.records.bestScore }} 分
每日复习 · 第 {{ review.idx+1 }}/{{ review.items.length }}
{{ review.currentQ.emoji }}
{{ review.currentQ.prompt }} 🔊
{{ review.currentQ.expr }} 🔊
{{ review.inputValue || '?' }}
正确答案:{{ review.currentQ.answer }}
🤖{{ aiHint.text }}
笔顺复习 错字回炉
{{ reviewStroke.pinyin }}{{ reviewStroke.target }}
{{ reviewStroke.target }}
提示:在田字格里按笔顺写完一整字 (共 {{ reviewStroke.totalStrokes }} 笔)
{{ reviewStroke.result==='correct' ? '写得不错!' : '再练练吧' }} {{ '⭐'.repeat(reviewStroke.resultStars) }}{{ '☆'.repeat(3-reviewStroke.resultStars) }}

🔁 复习完成

答对 {{ review.correct }}/{{ review.items.length }}

📕 错题本

共 {{ save.wrongBook.length }} 题 · 待复习 {{ dueWrongCount() }} 题

再错 {{ 3 - save.wrongBook.length }} 题可解锁 AI 分析

{{ w.errorTag }} {{ w.q && (w.q.prompt || w.q.expr) }}
{{ w.dueAt <= Date.now() ? '可复习' : '未到期' }} · 错{{ w.wrongCount }}次
还没有错题,继续保持!

🤖 AI 小助手

📋 哪里要加油
{{ aiPractice.analyzeText || '正在分析…' }}

AI 根据你的错题出题,不会直接告诉答案哦

{{ aiPractice.mode==='daily' ? 'AI 每日练' : 'AI 练习' }} · Lv.{{ aiDailyLevel }} · 第 {{ aiPractice.idx+1 }}/{{ aiPractice.questions.length }}
🔥 x{{ aiPractice.combo }}
{{ aiPractice.currentQ.prompt }} AI 定制 🔊
{{ aiPractice.currentQ.expr }}
{{ aiPractice.inputValue || '?' }}
🤖{{ aiHint.text }}

{{ aiPractice.mode==='daily' ? '🤖 每日练习完成!' : '🎉 练习完成!' }}

答对 {{ aiPractice.correct }}/{{ aiPractice.questions.length }}
{{ aiPractice.resultMsg }}
已连续练习 {{ aiDailyStreak }} 天 🔥

📅 学习打卡

{{ save.studyDays }} 天
连续学习 · 最高 {{ save.streakBest }} 天

本月日历

{{ c ? c.day : '' }}

🏅 成就

{{ a.ic }}
{{ a.name }}
{{ a.desc }}

📒 我的收藏册

{{ s.emoji }}
{{ s.name }}
{{ s.earned ? s.date : s.desc }}
{{ p.emoji }}
{{ p.name }}
{{ p.unlocked ? p.tip : '通关更多关卡解锁' }}

🔒 家长验证

请输入家长密码(首次输入即设置为密码)

👨‍👩‍👧 家长中心

💝 送拥抱

孩子回到首页时会收到爱心动画,还能获得「爱的拥抱」贴纸

📊 学习报告

雷达图/热力图/错题云/薄弱点

⚙️ 家长设置

学习上限/护眼/禁玩

☁️ 云同步状态

账号自动同步 / 手动触发

🖨️ 打印练习单

算术 / 拼音 / 田字格 可打印 HTML

📝 模拟考记录

{{ (save.examHistory||[]).length }} 次考试 · 成绩追踪

🎯 薄弱专项 · 一键跳关复习

自动定位 3 个最弱关卡,一键进入对应页面

📊 学习报告

{{ report.todayAcc || 0 }}%
今日正确率
{{ report.todayMin || 0 }}
今日学习(分)
{{ report.weekAcc || 0 }}%
7天正确率
{{ report.weekMin || 0 }}
7天学习(分)

🧭 能力雷达

数学 · 拼音 · 汉字 · 英语 · 写字 · 记忆

🧮 近 7 日学习热力

{{ d.label }}
{{ d.min }}分

☁️ 错题云(Top 30)

{{ w.word }} 暂无错题

各科进度

{{ p.emoji }}{{ p.name }} {{ p.done }}/{{ p.total }} 关
⭐{{ p.stars }}

🗺️ 知识点掌握度图谱

颜色越深掌握越好 · 灰色为未解锁

{{ subj.emoji }} {{ subj.name }}
{{ it.name }} {{ it.locked ? '🔒' : '⭐'.repeat(it.stars) || '·' }}

薄弱知识点 Top 5

  1. {{ w[0] }} — 错误 {{ w[1] }} 次 · 建议先练:{{ w[2] }}
  2. 暂无薄弱点

🔍 错因归类与深度分析

{{ c.emoji }} {{ c.key }} {{ c.pct }}%
{{ c.count }} 题 · {{ c.tip }}

暂无错题数据,继续练习后会自动分析错因

✏️ 写字进度

{{ report.hanziDone || 0 }}
已练字数
{{ report.hanzi3 || 0 }}
三星字数
{{ report.hanziAvg || 0 }}
平均星数
常错字:{{ report.hanziWrong }}

⚙️ 家长设置

☁️ 云同步状态

已登录:{{ auth.username }}
  • 每次答题/改动后自动推送云端(5 秒防抖)
  • 打开应用时自动拉取云端并合并(merge-by-max,取更优进度)
  • 多设备:用同一账号登录,进度自动合并
⚠️ 未登录

当前为离线模式,进度仅保存在本机。退出家长中心后在首页点击「👤 退出登录」可回到登录页注册/登录账号。

🌐 后端状态

后端:{{ backendOk ? '已连接(走云端同步)' : '未连接(仅本机离线模式)' }}

本地存档时间戳:{{ formatTS(saveMeta.localTs) }} · 云端存档时间戳:{{ formatTS(saveMeta.cloudTs) }} · 脏标志:{{ saveMeta.dirty ? '是' : '否' }}

{{ parent.syncMsg }}

🖨️ 打印练习单

🔢 算术练习

✏️ 田字格练字

🔤 拼音练习(前后鼻音/平翘舌/整体认读)

📝 模拟考记录

{{ save.examCount || 0 }}
考试次数
{{ save.examFullScore || 0 }}
满分次数
{{ (save.examHistory||[]).length ? Math.round((save.examHistory||[]).reduce((s,h)=>s+h.score,0)/(save.examHistory||[]).length) : 0 }}
平均分
{{ (save.examHistory||[]).length ? Math.max(...(save.examHistory||[]).map(h=>h.score)) : 0 }}
最高分
还没有模拟考记录,鼓励孩子试试吧~
{{ h.paper }} {{ h.score }}分
{{ h.date }} · {{ h.correct }}/{{ h.total_q }} 正确 · {{ Math.floor(h.duration/60) }}分{{ h.duration%60 }}秒
{{ w.tag }}×{{ w.count }}

✏️ 写字空间站

300 字笔顺描红 · 累计 ⭐ {{ totalStars }} 解锁

{{ lv.emoji }}
{{ lv.name }}
{{ '⭐'.repeat(levelStars(lv)) }}{{ '☆'.repeat(3-levelStars(lv)) }}

{{ hanzi.level ? hanzi.level.name : '' }}

{{ ch }} {{ '⭐'.repeat(hanziCharStars(ch)) }}
{{ hanzi.currentPinyin }}{{ hanzi.currentChar }}
{{ hanzi.currentChar }}
{{ hanzi.currentChar }}
第 {{ hanzi.currentStrokeNum }} / {{ hanzi.totalStrokes }} 笔 · 错误 {{ hanzi.traceMistakes }} 次

📝 考试中心

参照邯郸市期末试卷结构 · 在线模考自动判分分析薄弱点 · 打印试卷A4版式附答案

{{ p.emoji }}
{{ p.name }}
{{ p.desc }}
{{ p.sections.length }} 大题 · 满分 {{ p.fullScore||100 }}
最近:{{ (save.examHistory||[]).find(h=>h.paperId===p.id).score }} / {{ (save.examHistory||[]).find(h=>h.paperId===p.id).total }} 分
⏱ {{ examTimeStr() }}
{{ exam.paper.emoji }} {{ exam.paper.name }} 共 {{ exam.questions.length }} 题 / 满分 {{ exam.fullScore||100 }} 已答 {{ exam.questions.filter(q=>q._answered).length }} 题

{{ exam.paper.emoji }} {{ exam.paper.name }}

时间:{{ Math.round(exam.paper.timeLimit/60) }} 分钟 满分:{{ exam.fullScore||100 }} 分

{{ sec.name.split('(')[0] }} 总分
{{ exam.submitted ? (exam.results.filter(r=>r.section===sec.name && r.ok).reduce((a,r)=>a+r.score,0) || 0) + ' / ' + sec.totalScore : ' ' }} {{ exam.submitted ? (exam.score + ' / ' + exam.fullScore) : ' ' }}

{{ sec.name }}

{{ q._idx }}({{ q._score }}分)
{{ q.emoji }}
{{ q.prompt }} 🔊
{{ q._ok ? '✔ +'+q._score : '✘ 0' }}  正确答案:{{ q.answerText || q.answer }}

🎓 考试结束!

{{ Math.round(exam.score) }} / {{ exam.fullScore }}
{{ '⭐'.repeat(exam.stars) }}{{ '☆'.repeat(3-exam.stars) }}

答对 {{ exam.results.filter(r=>r.ok).length }} / {{ exam.questions.length }} 题 · 用时 {{ Math.floor(exam.duration/60) }}分{{ exam.duration%60 }}秒 · 正确率 {{ Math.round(exam.results.filter(r=>r.ok).length / Math.max(exam.questions.length,1) * 100) }}%

🎁 奖励 🐟{{ exam._reward }}

薄弱知识点

{{ w.tag }} 错 {{ w.count }} 题

太棒了,没有薄弱点!🎉

大题得分

{{ sec.name.split('(')[0] }} {{ exam.results.filter(r=>r.section===sec.name && r.ok).reduce((a,r)=>a+r.score,0) || 0 }} / {{ sec.totalScore }}
😌
休息一下眼睛吧~
{{ eyeRest.count }}
秒后继续
京公网安备11011102003036号