Skip to content

wanglingcai/Smart-Class-Sign-in

Repository files navigation

📱 智慧课堂签到助手 (Smart Class Sign-in)

基于微信小程序原生框架与云开发构建的课堂签到系统。本项目通过 “动态二维码 + GPS 地理定位” 双重校验机制,有效解决了传统高校课堂中签到效率低、代签到现象严重的问题。

🎓 本项目为《高级程序语言课程设计》实践项目,获得了优秀的成绩评估。

✨ 核心功能 (Features)

  • 👨‍🎓 严格的用户认证:强制绑定 10 位学号与真实姓名,支持用户上传并存储头像(依托云存储)。
  • 📍 双重防作弊签到
    • 动态二维码:教师端一键获取当前 GPS 坐标,生成包含位置信息的加密二维码。
    • 距离校验:结合微信 wx.getLocation 接口,内置 Haversine 距离计算算法,精准计算球面两点最短直线距离,仅允许在签到中心 200 米范围内签到。
  • 📊 实时考勤统计:发布者可随时查看自己发起的历史活动,实时统计已签到人数,并展示签到人的具体信息及签到距离。
  • ☁️ 纯云端架构:采用微信云开发(Serverless),无需搭建本地后端服务器,数据存储于 NoSQL 云数据库。

🛠 技术栈 (Tech Stack)

  • 前端界面:WXML, WXSS, JavaScript (微信小程序原生语法)
  • 后端服务:微信云开发 (Cloud Database, Cloud Storage)
  • 核心接口wx.getLocation, wx.scanCode
  • 第三方服务:QR Server API (用于动态生成二维码)

🚀 快速启动 (Quick Start)

如果你想在本地运行此项目,请按照以下步骤操作:

  1. 克隆项目到本地
    git clone [https://github.com/wanglingcai/Smart-Class-Sign-in.git](https://github.com/wanglingcai/Smart-Class-Sign-in.git)
    

2. **导入开发者工具**
打开 [微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html),选择“导入项目”,并选中你刚刚克隆的文件夹。
3. **配置 AppID**
在项目根目录找到 `project.config.json` 文件,将其中的 `appid` 替换为你自己的微信小程序 AppID。
4. **初始化云开发环境**
* 点击开发者工具顶部的“云开发”按钮,开通云开发服务。
* 在云数据库中创建三个集合 (Collections):`users`(用户表)、`activities`(活动表)、`records`(签到记录表)。
* 将 `app.js` 中的 `env` 替换为你自己的云开发环境 ID。



## 📸 运行截图 (Screenshots)

<img width="409" height="839" alt="image" src="https://github.com/user-attachments/assets/e77b1662-8cdc-46f5-97d0-e68709412d4f" />

* 个人中心与身份认证
* 教师端发起签到与二维码生成
* 签到距离校验成功/失败提示
* 考勤名单统计聚合列表

## 📄 许可证 (License)

本项目仅供学习与课程设计参考。

About

基于微信小程序云开发的课堂签到系统。集成 GPS 地理围栏与动态二维码,实现双重防代签机制。Smart Class Sign-in System with GPS geofencing and dynamic QR codes.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors