班级激励系统 · v0.4.28 · 面向学校一体机

校园宠物乐园

教师加减分,学生养宠物。分数喂出来的宠物会饿、会困、会闹脾气——比屏幕上多一个数字更容易让人上心。

学生端、教师端、管理端三合一。装在一体机上,断网也能跑。

  • 免安装包可选
  • 不依赖外网
  • 数据存在本机
学生端界面:左侧是学生积分卡和宠物,右侧是道具商店和积分流水
12 种
宠物,学生自己挑、自己起名
7 级成长
从蛋到传说,可扩到 15 级
3 套系统
学生 · 教师 · 管理,一次登录
0 次硬删
删除只打墓碑,跨端同步
教师端界面:学生卡片多选、加减分面板和快捷理由

积分

加分不用打字

点学生、挑分值、选理由、确认。四步之内完成一次加减分。

  1. 1点学生卡片,可多选
  2. 2按 +5 / −5 调整分值
  3. 3填理由,或点一个快捷理由
  4. 4确认,写进流水
  • 理由必填每条流水都带理由和操作人,导出 Excel 直接交差
  • 批量操作多选学生一次加减分,全班表扬不用点六次
  • 撤销上一步点错了当场撤回,流水留痕
  • 快捷理由可改分值和文案都在管理端编辑

宠物

分数看得见

宠物有健康、饱食、心情、清洁四条属性,随时间往下掉。掉到哪条线,状态就换一个。

  • 开心
  • 兴奋
  • 平静
  • 饿了
  • 犯困
  • 脏兮兮
  • 生气
  • 伤心
  • 疲惫
  • 生病

状态规则按属性阈值判定,哪条先满足就用哪条——阈值和顺序都能在管理端改。宠物头顶冒出一句当天的心情,点一下会蹦出表情。

12 种宠物各自带配色。学生自己挑种类、自己起名、自己传头像,图片自动裁成圆形,也能单独设置头像底色。

  • 商店 12 件道具喂食、玩耍、清洁、医疗、加速经验,学生用积分买
  • 背包买了可以不立刻用,攒着等属性掉下来再喂
  • 经验结算启动时后台按日结算全员经验,等级自己往上走
学生端的宠物卡:宠物头像、心情气泡、等级经验条和四条属性,右侧是道具商店与积分流水趋势

荣誉

挂在墙上

排行榜前三名上台领奖。大屏模式自动轮播荣誉榜、宠物墙和积分趋势,一体机全天开着不用管。

大屏轮播的另一屏:全班宠物墙,每只宠物带名字、主人和当前状态
大屏轮播 · 全班宠物墙

数据安全

数据不会丢

同步是为了多台设备共享,但任何一步都不允许静默覆盖。

同步前自动快照
每次同步先生成 server/data/backups/snapshot-*.db,按总字节上限保留,默认 1 GB,至少留最近 2 份。
删除是软删除
所有删除写墓碑记录,跨端传播,任何一端都不会硬删。
冲突交给你裁决
两端都改过就弹窗列出双方最后更新时间,选了才推进同步游标。
密钥不出本机
Supabase service role key 只写进 server/data/config.json;管理员密码 bcrypt 哈希;token 签名密钥首次启动随机生成。配置方法见 云端同步教程。
管理端:宠物种类目录,12 种宠物各自带图标与配色

部署

装在一体机上

两条路:装安装器,或者直接拷目录。

Windows 安装器

推荐

下载 ClassroomPetSystem-Setup-0.4.28.exe,双击安装。

  • 安装向导里选入口:start.exe(默认,带依赖进度条)或 start.bat,桌面快捷方式跟着选择走
  • 装到 %LOCALAPPDATA%\CampusPetParadise,不需要管理员权限
  • 升级安装器不会删掉 node_modules 和 server/data,学生数据、密钥、依赖都留着

免安装

拷走即用

开发机构建一次,整个目录拷到一体机。

  • 双击 start.bat 或 start.exe,浏览器打开 http://localhost:3000
  • 同局域网的其他设备访问 http://一体机IP:3000
  • kiosk.bat 用系统自带的 Edge(WebView2)以应用窗口打开,不用把 Chromium 打进安装包
# 开发
npm install
npm run dev      # 前端 http://localhost:5173 → 后端 http://localhost:3000

# 生产
npm run build
npm start        # http://localhost:3000
  • 端口自动避让3000 被占用或被 Windows 留作保留端口时,start.exe 从 3000 起向上探测,把实际端口交给服务再打开正确地址
  • 离线可用构建产物不含 CDN 依赖,学校封外网照常用;只有缺依赖或构建产物时才联网走国内 npm 镜像
  • 更新检查启动时按 GitHub 镜像 → Gitee → GitHub 顺序探测新版本,探测失败直接降级,不阻塞启动
  • Vue 3
  • Vite
  • TypeScript
  • Tailwind CSS
  • Lucide
  • Node.js 22
  • Express
  • node:sqlite
  • bcrypt
  • Supabase

常见问题

回答几个一定会被问到的

学生需要密码吗?

不需要。在登录页点自己的名字就能进学生端,看到自己的积分、宠物和流水。

教师口令和管理员密码是什么?

教师口令默认 123456,可在教师端修改。管理员密码在首次运行的向导里设置,用 bcrypt 哈希存储,明文不留。

一定要联网吗?

不用。默认本地模式,数据只存在本机 server/data/pet.db。想让多台设备共享同一份数据时才需要配 Supabase,步骤见 云端同步教程。

两台设备同时改,谁的数据留下?

你决定。同步时发现冲突会列出双方最后更新时间,选完才推进同步游标;没裁决之前两边都不会被覆盖。

为什么没有每日登录奖励和任务系统?

积分只由教师和管理端加减,学生只负责消费。奖励机制留在课堂里,比留在代码里管用。

有哪些宠物?

小火龙、喵星人、汪星人、兔宝宝、小狐狸、大熊猫、小企鹅、智慧猫头鹰、蓝鲸、独角兽、小章鱼、小机械兽。种类、配色和名称都可以在管理端增改。

产品宣传片

36 秒看完整个产品

九个功能、九次点击,画面与配乐全部由代码生成,没有一处录屏。

定时发布

10 月 5 日 09:00 上线

到点这里自动换成 B 站播放器

现在就把分数发下去

下载安装器,十分钟之内一班人就能开始养宠物。

当前版本 v0.4.28 · 安装器在 GitHub Releases 提供 · 多设备共享数据见云端同步教程