# Doodle Mini 小程序 - 现有产品功能清单 > 定位:3-8 岁早教 A4 纸打印资料小程序 > 最后更新:2026-03-24 --- ## 一、产品概览 Doodle Mini 是一款面向 3-8 岁儿童的微信小程序,核心能力是通过 Canvas 动态生成可打印的 A4 教育资料(PNG 图片),涵盖数感启蒙、专注力培养、识字和练字四大模块。用户在小程序内选择题型、配置参数后,即可预览并保存到相册,打印后供孩子使用。 ### 产品架构图 ``` ┌──────────────────────────────────────────────┐ │ 底部 TabBar │ ├───────────┬───────────┬──────────┬────────────┤ │ 数感启蒙 │ 专注力培养 │ 识字 │ 练字 │ │ mathIndex │focusIndex │ index │ copyBook │ └─────┬─────┴─────┬─────┴────┬─────┴─────┬──────┘ │ │ │ │ ▼ ▼ ▼ ▼ 26种数学 13种专注力 涂色识字卡 笔顺练字贴 题型页面 题型页面 自定义生成 自定义生成 (分包) (分包) (主包) (主包) ``` --- ## 二、Tab 1:数感启蒙(26 种题型) 入口页 `pages/mathIndex/mathIndex`,以卡片网格展示所有数学题型,点击进入对应 Canvas 生成页。 ### 2.1 认识数字(基础阶段) | # | 功能 ID | 标题 | 描述 | 对应页面 | |---|---------|------|------|----------| | 1 | `number-find` | 找数字,涂一涂 | 在数字方阵中找出目标数字并涂色 | numberFind | | 2 | `number-write` | 看数字,写一写 | 按笔画顺序练习书写数字 | numberFind | | 3 | `number-coloring` | 按数字,涂颜色 | 按指定数字给对应圆圈涂色 | countMatch | ### 2.2 数数与计数 | # | 功能 ID | 标题 | 描述 | 对应页面 | |---|---------|------|------|----------| | 4 | `counting-matching` | 数一数,连一连 | 连线配对数字和对应数量图形 | countMatch | | 5 | `number-object-match` | 数物连线 | 连线相同数量的物品和数字 | numberObjectMatch | | 6 | `number-object-fill` | 数物填写 | 数物品数量,填写对应数字 | numberObjectMatch | | 7 | `counting-select` | 数一数,选一选 | 数出物品数量,圈出正确答案 | countingSelect | | 8 | `counting-fill` | 数一数,填一填 | 数出物品数量,填写数字 | countingSelect | | 9 | `compare` | 数一数,比大小 | 比较数量,填入 ><= | compare | ### 2.3 数字序列 | # | 功能 ID | 标题 | 描述 | 对应页面 | |---|---------|------|------|----------| | 10 | `number-sort` | 数字排序 | 写出正确的数字顺序 | numberSort | | 11 | `missing-number` | 填上缺少的数字 | 在数列中找出并填写缺失数字 | missingNumber | ### 2.4 数的分与合 | # | 功能 ID | 标题 | 描述 | 对应页面 | |---|---------|------|------|----------| | 12 | `number-decompose` | 10以内数的分与合 | 把数字分一分,合一合 | numberDecompose | | 13 | `number-decompose-20` | 20以内数的分与合 | 把数字分一分,合一合 | numberDecompose | ### 2.5 简单运算(图形化) | # | 功能 ID | 标题 | 描述 | 对应页面 | |---|---------|------|------|----------| | 14 | `one-digit-addition` | 一位数加法 | 通过圆点学习一位数加法运算 | oneDigitAddition | | 15 | `addition-5` | 5以内加法 | 图形化展示 5 以内加法 | addition | | 16 | `addition-10` | 10以内加法 | 图形化展示 10 以内加法 | addition | | 17 | `subtraction-10` | 10以内减法 | 图形化展示 10 以内减法 | addition | | 18 | `addition-subtraction-10` | 10以内加减法 | 加减法混合运算 | addition | ### 2.6 进阶运算方法 | # | 功能 ID | 标题 | 描述 | 对应页面 | |---|---------|------|------|----------| | 19 | `make-ten` | 凑十法练习 | 20 以内进位加法 | makeTen | | 20 | `break-ten` | 破十法练习 | 20 以内退位减法 | breakTen | | 21 | `flat-ten` | 平十法练习 | 20 以内退位减法 | flatTen | | 22 | `borrow-ten` | 借十法练习 | 20 以上退位减法 | borrowTen | ### 2.7 综合计算练习 | # | 功能 ID | 标题 | 描述 | 对应页面 | |---|---------|------|------|----------| | 23 | `practice-addition` | 加法运算 | 10/20/50/100 以内加法 | calculationPractice | | 24 | `practice-subtraction` | 减法运算 | 10/20/50/100 以内减法 | calculationPractice | | 25 | `practice-mixed` | 混合运算 | 10/20/50/100 以内加减法混合 | calculationPractice | | 26 | `multiplication-table` | 九九乘法表 | 学习九九乘法口诀 | multiplicationTable | ### 数学模块共用能力 - Canvas 预览 → 保存图片到相册 → 打印 - 随机生成题目(可重复随机) - 题型/模式选择器 - 分享小程序给微信好友或朋友圈 - 原生广告展示 --- ## 三、Tab 2:专注力培养(13 种题型) 入口页 `pages/focusIndex/focusIndex`,以卡片网格展示。 | # | 功能 ID | 标题 | 描述 | 对应页面 | |---|---------|------|------|----------| | 1 | `color-shape-match` | 根据颜色画图形 | 根据颜色画出对应图形 | colorShapeMatch | | 2 | `shape-symbol` | 图形符号配对 | 根据图形画对应符号 | shapeSymbol | | 3 | `shape-recognition` | 识别形状 | 识别形状,涂一涂 | shape | | 4 | `position-coloring` | 方位涂涂乐 | 观察位置,在方格中涂色 | positionColoring | | 5 | `color-pattern` | 颜色找规律 | 观察颜色规律,在空白图形中涂色 | colorPattern | | 6 | `match-connect` | 连连看 | 根据物品连一连 | matchConnect | | 7 | `line-recognition` | 线条识别 | 认识不同线条,画出颜色对应的线条 | lineRecognition | | 8 | `grid-reasoning` | 方格推理 | 推理出合并方格并连线 | gridReasoning | | 9 | `code-connect` | 译码连线 | 按数字顺序将数字对应颜色连线 | codeConnect | | 10 | `dot-connect` | 数字点连线 | 按数字顺序连点成图 | dotConnect | | 11 | `grid-drawing-3x3` | 格子仿画 3×3 | 简单有趣,培养专注力 | gridDrawing | | 12 | `grid-drawing-5x5` | 格子仿画 5×5 | 创意挑战,提升观察力 | gridDrawing | | 13 | `grid-drawing-7x7` | 格子仿画 7×7 | 大师挑战,锻炼耐心 | gridDrawing | --- ## 四、Tab 3:识字 入口页 `pages/index/index` ### 核心流程 1. **输入/选择汉字**:最多选 6 个字 - 手动输入汉字 - 从分类词库中选择(基础独体字、生活高频字、自然与动作、常用量词/颜色/动物/食物等 8+ 分类) 2. **个性化配色**:从 24 色水彩调色盘中为每个字卡选择颜色 3. **选择模板**: - `grid` 模板:识字网格布局 - `find` 模板:找一找布局 4. **Canvas 预览**:实时预览 A4 打印效果 5. **操作**: - 随机生成字卡 - 清空重选 - 保存图片到相册 - 分享给好友 ### 词库分类 | 类别 | 示例 | |------|------| | 基础独体字 | 人、口、手、上、下、日、月、水、火、山... | | 生活高频字 | 爸、妈、书、包、吃、喝、走、跑... | | 自然与动作 | 风、雪、星、光、春、夏、秋、冬... | | 常用量词/颜色/动物/食物等 | 多个子分类 | --- ## 五、Tab 4:练字 入口页 `pages/copyBook/copyBook` ### 核心流程 1. **输入/选择汉字**:最多选 11 个字 2. **获取笔画数据**:从网络加载汉字 SVG 笔画数据 3. **Canvas 绘制**: - 田字格底纹 - 笔顺展示(第一个格完整描红,后续格逐步减淡) - A4 纸面排版 4. **导出**:保存到相册 → 打印 --- ## 六、通用能力与技术架构 ### 6.1 通用功能 | 能力 | 说明 | |------|------| | 打印配置 | 页眉样式可选(微信码/无Logo/Logo图片/极简),可配置应用名称 | | Canvas 导出 | 统一的 Canvas → 临时文件 → 保存相册流程 | | 分享 | 支持分享给好友、分享到朋友圈(含 CDN 分享图) | | 新手引导 | 识字页有多步骤新手引导弹窗 | | 添加提示 | 首次使用提示添加到「我的小程序」 | | 广告 | 原生广告展示(数学/专注力子页面) | | Debug 模式 | 非 release 环境可调试打印配置、真机调试开关 | | 埋点追踪 | `tracker` 工具跟踪用户行为 | ### 6.2 技术栈 | 技术 | 说明 | |------|------| | 框架 | 微信小程序原生(TypeScript + Less) | | 渲染 | Skyline + Glass-Easel 组件框架 | | UI 库 | Vant Weapp | | 分包 | 主包 + mathPages 分包 + focusPages 分包 | | 云开发 | 云函数 `doodle`(获取 OpenID、实验性 PDF 生成) | | 绘制服务 | DrawService 工厂模式,各题型独立 Draw 服务 | | 预加载 | 所有 Tab 页预加载两个分包 | ### 6.3 页面架构 | 模式 | 说明 | |------|------| | pageMixin | 基础页面混入:Canvas 初始化、导出图片、分享配置、页面信息初始化 | | mathPageMixin | 数学页面混入:继承 pageMixin,增加数学题型选择、随机生成 | | focusPageMixin | 专注力页面混入:与数学对称,专注力题型的共用逻辑 | | drawServiceFactory | 根据 functionId 创建对应的绘制服务实例 | --- ## 七、功能统计 | 模块 | 题型/功能数量 | |------|-------------| | 数感启蒙 | 26 种题型 | | 专注力培养 | 13 种题型 | | 识字 | 1 个功能(含 2 种模板) | | 练字 | 1 个功能 | | **合计** | **41 种可打印资料** |