个人开发作品 · 微信小程序

再也不用担心
忘记上课

一个为辅导班学员和家长设计的微信小程序。课程排期、上课提醒、GPS 定位打卡、出勤统计、数据分析——五位一体,一个微信小程序全搞定。

三大痛点,一个小程序搞定

辅导班家长最头疼的三件事,课时小伴一一解决。

忘记上课

依赖人工微信群通知,容易遗漏

自定义提前提醒分钟数 + 微信服务通知推送 + 站内消息兜底,到点自动提醒,不再依赖人工。

→ 智能提醒系统

出勤管理混乱

纸质签到 / 口头确认,无法追溯

GPS 定位 + 时间窗口双重校验,服务端权威判断打卡状态,打卡记录可追溯,支持迟到 / 缺勤自动标记。

→ GPS 智能打卡

缺乏数据感知

不清楚上了几节、剩几节、花了多少钱

实时统计仪表盘 + 多维度消费/出勤分析,剩余课时预警,8 维度数据图表一目了然。

→ 数据分析面板

六大功能模块
覆盖课前到课后

从添加课程到数据分析,每个环节都有精心设计的功能支撑。

01

课程管理

支持单次课程和重复课程(每周/每两周/每月),自动生成课时日历,日历视图与列表视图自由切换。

单次/重复 日历视图 地址簿
02

上课提醒

每门课独立设置提前提醒时间,微信订阅消息 + 站内消息双通道,重复提醒不遗漏,免打扰时段智能延后。

微信通知 重复提醒 免打扰
03

GPS 定位打卡

GPS 空间校验 + 时间窗口双重判断,服务端权威记录打卡状态。支持范围外手动确认、Wi-Fi 辅助定位。

500m 半径 时间窗口 Wi-Fi 辅助
04

课程统计

首页 6 张统计卡片一目了然:剩余课时、出勤率、本月上课、累计消费、下次上课、连续出勤。剩余课时不足自动预警。

仪表盘 课时预警 费用追踪
05

数据分析

8 维度数据图表:出勤趋势、出勤率变化、出勤构成、消费排行、课时消耗、上课时段分布、单节均价、连续出勤。

8 维度图表 趋势分析 数据导出
06

多学员管理

一个微信账号管理多个孩子的课程,独立统计、独立课程列表。共享家庭地址簿,切换学员数据即时隔离。

多孩子 数据隔离 地址簿共享

每个功能都认真打磨

不止于"能用",每个功能都有完善的异常处理和边界设计。

📚 课程管理

添加一门课程后,系统自动根据排课模式生成每一节课时。支持单次课程(试听课/补课)和重复课程(每周固定时间),满足各种辅导班场景。

  • 排课模式:单次 / 每天 / 每周(多选周一至周日)/ 每两周 / 每月
  • 自动生成课时:创建课程后自动按排课规则生成全部课时记录
  • 三种视图:日历视图(月历 + 彩色圆点)、列表视图(按时间排序)、今日视图(首页卡片)
  • 地址簿复用:首次输入的上课地点自动加入地址簿,后续课程一键选择
  • 费用自动计算:填写总费用和总课时后,自动计算单节单价
  • 课时保护:已打卡的课时不可修改日期和时间,保证数据一致性
课程列表
🎹 钢琴初级班
每周六 10:00 · 张老师 · 8/16 节
进行中
🎨 创意美术班
每周日 14:00 · 李老师 · 3/12 节
进行中
📖 少儿英语口语
每周三 16:30 · 王老师 · 2/10 节
剩余少

🔔 上课提醒

核心功能模块,要求做到灵活、可靠、不骚扰。每门课程可独立配置提醒规则,服务端定时任务驱动,不依赖小程序前台运行。

  • 灵活提前量:5 / 10 / 15 / 30 / 45 / 60 / 90 / 120 分钟,每门课独立设置
  • 双通道推送:微信订阅消息 + 站内消息,未授权微信通知时自动降级为仅站内消息
  • 重复提醒:首次提醒后未打卡自动再次提醒,可设间隔和次数上限,打卡后立即终止
  • 免打扰时段:22:00-07:00 不发提醒,延后到免打扰结束后发送,不丢失
  • 智能跳过:已打卡 / 已请假 / 已取消的课程自动跳过提醒
  • 全局默认:设置页配置全局默认参数,新课程自动继承
提醒消息
钢琴初级班
距上课 30 分钟 · 10:00-11:00
已发送
钢琴初级班 · 重复提醒
距上课 20 分钟 · 尚未打卡
第1次
打卡成功
后续提醒已自动取消
已终止
🌙 免打扰:22:00-07:00 的提醒将延后到 07:00 发送

📍 GPS 定位打卡

打卡采用服务端权威判断:客户端只采集 GPS 坐标,服务端计算 Haversine 距离并用自己的时钟判断状态,杜绝客户端时间篡改。

  • 空间校验:GPS 距上课地点 ≤ 500m 才可正常打卡(可配置半径)
  • 时间校验:上课前 30 分钟 ~ 上课后 15 分钟为有效打卡窗口
  • 五种状态:正常出勤 / 迟到 / 缺勤(超时自动标记)/ 请假 / 范围外打卡
  • 定位降级:GPS 信号弱或漂移过大时,提供手动确认入口,标记为"范围外打卡"
  • Wi-Fi 辅助:v1.1 支持 Wi-Fi 名称匹配信任列表,解决室内 GPS 不准的问题
  • 缺勤自动标记:每天 23:00 自动将超时未打卡的课时标记为缺勤
GPS 打卡
距上课地点 120 米(范围内)
✅ 立即打卡
✅ 正常出勤 ⚠️ 迟到 ❌ 缺勤 🔵 请假

📊 课程统计

首页统计卡片一眼掌握全局,课程详情页提供深度统计。剩余课时不足时自动预警,费用消耗进度可视化。

  • 首页 6 卡片:剩余课时、出勤率、本月上课、累计消费、下次上课、连续出勤
  • 课时预警:剩余 ≤ 3 节时黄色高亮提醒,剩余 = 0 自动标记"待续费"
  • 课程进度:进度条展示已上 / 总课时,百分比一目了然
  • 出勤四宫格:正常 / 迟到 / 缺勤 / 请假,数量和占比清晰
  • 费用追踪:总费用 → 已消耗 → 剩余价值,进度条可视化
  • 出勤日历热力图:每个课时日期按状态着色,全貌一览
统计仪表盘
3
剩余课时 ⚠️
95%
出勤率
5
连续出勤 🔥
¥3200
累计消费
8h
累计上课
¥400
单节均价

📈 数据分析

8 个维度的数据图表,支持时间范围和课程筛选,图表联动明细列表。帮助家长全面了解孩子的培训投入和出勤情况。

  • 出勤趋势:折线图展示每月出勤次数变化趋势
  • 出勤率变化:柱状图 + 90% 目标参考线,一眼看出达标情况
  • 出勤构成:环形图汇总正常/迟到/缺勤/请假占比
  • 消费排行:横向柱状图展示各课程累计消费金额
  • 课时消耗:堆叠面积图展示已消耗 vs 总课时进度
  • 上课时段分布:一周各天上课次数分布柱状图
  • 数据导出:支持导出 Excel,包含课程名称、日期、出勤状态、费用
数据分析
出勤趋势(近 6 个月)
1月
2月
3月
4月
5月
6月
正常 70%
迟到 15%
缺勤 5%
请假 10%

👨‍👩‍👧‍👦 多学员管理

一个家长账号可以管理多个孩子的课程。切换学员后,课程列表、打卡记录、统计数据全部独立刷新,互不干扰。

  • 一键切换:首页顶部学员头像点击下拉,切换零等待
  • 数据隔离:课程、打卡记录、统计数据按学员 ID 完全隔离
  • 地址簿共享:同一家庭的上课地点地址簿全账号共用
  • 微信登录:wx.login + 微信授权,无需额外注册,更换手机数据不丢
  • 手机号绑定:支持绑定手机号用于紧急通知和数据找回
  • 请假功能:课前 2 小时可提交请假,填写原因后自动标记不计缺勤
学员切换
小明
小红
小明 · 当前课程
钢琴初级班
每周六 10:00 · 8/16 节
✅ 已打卡
少儿英语口语
每周三 16:30 · 2/10 节
⏳ 待上课
切换到「小红」后,课程和统计将独立刷新

一套代码,多端运行

前端 uni-app + Vue 3,后端 Laravel + Sanctum,服务端驱动提醒与打卡。

跨端框架

uni-app (Vue 3),一套代码编译微信/支付宝小程序、H5、App

后端架构

Laravel + Sanctum Token 认证 + EasyWeChat 微信 SDK

服务端驱动

提醒由 Laravel Schedule + Queue 驱动,不依赖小程序前台

服务端权威

打卡状态由服务端计算和判断,杜绝客户端时间篡改

Vue 3 uni-app Pinia uView Plus uCharts Laravel Sanctum EasyWeChat 6 MySQL 8 Redis DcatPlus Admin 腾讯地图 API

四步开始用起来

从登录到看到数据,全程不超过 3 分钟。

微信登录

打开小程序,微信一键授权登录,无需注册

添加课程

填写课程名称、时间、地点、老师,设好提醒

到校打卡

到机构后打开小程序一键打卡,GPS 自动校验

查看数据

打开统计页,出勤率、消费、趋势一目了然

最近做了什么

当前版本 v1.5.0 · Build 113 · 更新于 2026-09-07

新功能
增强家庭共享功能,添加用户资料完善引导,优化登录后体验与版本信息展示
v1.5.0 · 2026-09-07
新功能
接入自动版本号与更新日志,官网首页与小程序关于页同步展示
v1.1.0 · 2026-09-07
新功能
课时小伴小程序首发版本上线
v1.0.0 · 2026-08-03

微信扫码,立即体验

打开微信扫一扫,即可进入「课时小伴」小程序。

课时小伴小程序码

微信扫码体验小程序

个人开发作品

独立开发者作品

这是一个个人开发的微信小程序作品。出于自身需求,发现辅导班课程管理依赖微信群通知,经常遗漏上课和无法统计出勤,于是利用业余时间开发了这款工具。

项目采用 uni-app + Laravel 全栈技术栈,前端一套代码多端编译,后端服务端驱动提醒与打卡。代码已开源,欢迎交流学习。

6
功能模块
8
数据维度
5
打卡状态
4
编译端