VI · 吉祥物系统

小博 · 吉祥物设计系统

一只戴博士帽的猫头鹰「小博」,五种动作立绘。页面按场景挑动作、不各自写死——统一命名、统一调用、统一尺寸。

立绘 · 全身姿态

五个动作(全身)

用于 hero、讲台、卡片、地图等「站位型」场合。

wave挥手欢迎
抬手打招呼
用在首页 hero · 登录注册 · 每日首进 · 空状态问候
idle默认站立
双手自然垂放
用在页脚 · 加载中 · 通用陪伴 · 浮动球默认
ready稳站待命
挺立、蓄势待发
用在课程地图待开始 · “准备好了吗” · 答对鼓励
teach拿书讲解
抱书、竖起食指
用在术语双段 · 提示 · 想一想 · 原理讲解 · 教师视图
present侧身指引
侧身伸手、张嘴介绍
用在讲台开场 · 引导看右侧 · 指向“开始/下一步”
立绘 · 场景化姿态

十八个新增动作(2026-07-23)

补充给具体课程情境用的姿态——隐私课的"嘘"、侦探课的放大镜、答对时的点赞……不必再从 5 个通用姿态里将就。

note记笔记
拿笔在本子上记录
用在课后总结 · 学习笔记 · 家长报告生成中
read读书
捧书阅读
用在课程简介 · 延伸阅读 · 术语讲解开场
listen倾听
手掌拢耳倾听
用在语音朗读中 · “仔细听”提示 · 语音互动课
wink眨眼
眨眼、指向眼镜
用在小贴士 · 悄悄话 · 轻松调侃
shrug耸肩
摊手耸肩,不确定
用在“不一定哦” · 中立态度 · 待确认场景
clap鼓掌
开心鼓掌
用在完成一节课 · 小成就 · 温和庆祝
thumbsup点赞
竖大拇指
用在答对 · 认可 · 徽章解锁
sleepy打哈欠
困倦打哈欠
用在久未操作提醒 · 深夜提示 · 休息一下
hope期待
双手合十、满眼期待
用在等待结果 · 邀请尝试 · 投稿/测评前
celebrate欢呼庆祝
双拳举起大声欢呼
用在学段通关 · 大成就 · 里程碑徽章
detective侦探
拿放大镜侦查
用在识别假信息 · 核查真相 · “小侦探”系列课
diploma证书
手持证书卷轴
用在学段通关证书 · 素养满格 · 未来证书页占位
laptop用电脑
打字/操作笔记本电脑
用在教师视图 · 内容生产 · 技术相关讲解
shush
食指抵嘴示意保密
用在隐私课 · “这个要保密” · 悄悄话提示
welcome欢迎邀请
张开双臂邀请
用在首次访问 · 邀请贡献选题 · 引导注册
heart比心
双手比心
用在感谢 · 公益共建 · 温暖收尾
confused困惑
挠头困惑、另一手摊开
用在“这个有点难” · 常见误解 · 待澄清概念
idea灵光一现
食指竖起,想到关键点
用在重点提示 · 小贴士 · 核心结论
立绘 · 半身表情

六个表情(对话头像)

用于课程对话气泡里的小博头像(替换原来的 🤖),并能跟着剧情实时变脸:揭示时惊讶、思考题托腮、答对了大笑。用 data-apo-face="surprise" 或 JS Apo.setFace(el,'cheer')

neutral平静
默认对话头像
用在常态陪伴 · 气泡默认
happy开口笑
友好讲话
用在开场 · 讲话 · 鼓励
surprise惊讶
瞪眼张嘴
用在揭示反差 ·「哇」· 幻觉揭晓
skeptical抱臂怀疑
眯眼抱臂
用在会判断 · 怀疑 ·「真的吗」
ponder托腮沉思
手托下巴
用在想一想 · 思考题
cheer开心大笑
闭眼欢笑
用在答对 · 庆祝 · 奖励结算
选择逻辑

场景 → 动作(根据网页情况使用)

这张表就是「后续根据网页情况选择使用」的规则。代码里也内置了同一份映射:Apo.forContext('welcome') → 'wave'

网页场景推荐动作为什么
首页 hero / 欢迎 / 登录注册 / 空状态wave 挥手第一眼,热情打招呼、降低距离感
课程地图待开始 / “准备好了吗” / 答对鼓励ready 稳站蓄势待发,激励出发
讲台开场 / 引导看右侧内容 / 指向“开始·下一步”present 指引侧身伸手,视线自然带向目标
术语双段 / 提示卡 / 想一想 / 原理讲解 / 教师视图teach 讲解抱书讲要点,“认真教你”的信号
页脚 / 加载中 / 通用陪伴 / 浮动球默认idle 默认安静在场,不抢戏
尺寸

五个尺寸档

统一档位,避免随意缩放导致眼镜 / 描边发糊。data-size-token="lg" 或直接 data-size="104"

xs 32 · 导航/内联
sm 48 · 对话气泡
md 72 · 卡片/浮动球
lg 104 · 讲台/侧栏
xl 160 · Hero

小于 32px(如 favicon / 顶栏迷你标)改用简化标记 assets/apo-mark.svg,立绘细节在极小尺寸会糊。

位置

常见摆放位置

讲台(学习模式)

左栏 sticky,present / teach,配语音字幕。

浮动球(浏览模式)

右下角 md,idle;点开= mini 讲台。

Hero / 欢迎

xl,wave,第一屏问好。

提示 / 术语卡

sm–md,teach,贴着知识点。

完成 / 鼓励

lg,ready,庆祝与激励。

页脚

sm,idle,安静收尾。

背景

背景规范 · 别放深色背景

小博是透明立绘,边缘有一圈羽毛颗粒。直接放深色背景会显出白边 / 毛边——所以深色场合必须给它一个浅色底托.apo-podium)或整体放在浅色卡片上。

✓ 浅色背景 · 直接放
✕ 深色 · 无底托(显毛边)
✓ 深色 · 加浅色底托
接入

怎么调用

引一个 JS,两种用法。图未就位时自动回退 🦉,绝不出现破图。

① HTML 声明式(最常用)

<script src="assets/mascot/apo-mascot.js"></script>

<!-- 按动作 -->
<span data-apo="wave" data-size="104"></span>
<!-- 按场景(自动挑动作)-->
<span data-apo="welcome"></span>      <!-- → wave -->
<span data-apo="term" data-size-token="sm"></span>  <!-- → teach -->

② JS 取路径 / 生成

Apo.src('teach')            // 'assets/mascot/apo-teach.png'
Apo.forContext('guide')     // 'present'
el.innerHTML = Apo.img('ready', {size:104, alt:'小博'})
规范

该 / 不该

✓ 该

  • 放浅色 / 中性背景;深色背景务必加浅色底托 .apo-podium
  • 用统一尺寸档,等比缩放
  • 按场景选动作(见上表)
  • 极小尺寸改用 apo-mark.svg
  • 保持青眼镜=品牌蓝、琥珀眼=品牌琥珀

✕ 不该

  • 直接把透明立绘放深色背景——边缘颗粒 / 白边会显出来
  • 拉伸变形、随意改色
  • 给错误/失败态配吓人表情(我们无此动作,错用暖色 idle/teach)
  • 胸前保留乱码校徽(读作“某大学认证”,须换/去)
  • 帽+袍+徽三件套全上,显得像“来考你”
  • 贴边裁切到帽子或爪子