一款面向“班级管理”的微信小程序,集成课表查询、课程群聊、公告确认与班级论坛功能。支持姓名学号验证、管理员与学生角色分配、课程自动建群、公告回执、论坛发帖回复,以及微信云开发跨设备数据同步。
项目可直接导入微信开发者工具。默认使用本地演示数据,同时包含微信云开发后端;配置云环境后,不同手机可以同步聊天、论坛、公告和回执。
- 姓名 + 学号 / 工号严格匹配注册名单,匹配失败不可进入
- 同一学号只能绑定一个微信账号;云端使用事务避免重复抢占
- 管理员与普通学生自动分配身份
- 5 个教学周横向滑动切换、分页指示器、整周彩色卡片课表
- 已按参考图片录入工程制图、数据可视化、高等数学等示例课程
- 点击课程卡片进入课程详情、查看安排和进入课程群
- 每门课程自动生成课程群,老师和选课学生自动成为群成员
- 课程群聊天、群成员列表与访问权限校验
- 仅管理员可发布公告,所有用户可查看并点击“确认收到”
- 管理员可查看公告已确认和未确认名单
- 班级论坛发帖、点赞、查看详情与回复;管理员可删帖
- 登录状态与演示数据本地持久化
- 云开发模式下跨设备同步,课程群每 2.5 秒自动获取新消息
- 打开微信开发者工具,选择“导入项目”。
- 选择本目录,测试阶段可直接使用
touristappid。 - 编译后使用演示账号登录:
- 管理员:
王老师 / T2026001 - 普通用户:
李明 / 20260001
- 管理员:
仓库中的姓名、学号、课程和消息均为演示数据。公开部署时,请勿将真实学生名单、正式 AppID、云环境密钥或其他个人信息提交到公开仓库。
编辑 data/seed.js:
users:预登记姓名、学号 / 工号及角色。管理员的role为admin,普通用户为student。courses:课程时间、地点、授课老师和选课学生。teacherId与studentIds必须对应users中的id。- 修改初始化数据后递增
version,开发工具中的旧缓存会自动重建。
- 在微信开发者工具中使用你自己的小程序 AppID 导入本项目。
- 点击工具栏“云开发”,创建一个云环境并复制环境 ID。
- 打开
config/index.js,填写envId,把useCloud改成true。 - 在开发者工具的
cloudfunctions目录中右键campusApi,选择“上传并部署:云端安装依赖”。 - 首次调用云函数时会自动创建并填充
users、courses、announcements、messages、posts集合。 - 使用两台手机分别登录不同演示账号,即可测试群聊、论坛、公告和回执同步。
所有写操作均经过 campusApi 云函数校验:管理员权限、课程群成员权限、预置名单以及学号唯一绑定不依赖前端判断。
默认的 useCloud: false 是为了在没有 AppID 和云环境时也能直接编译体验。此模式的数据只保存在当前设备,不能跨手机互通。
若修改了 data/seed.js 的正式名单和课程,也要用同样内容更新 cloudfunctions/campusApi/seed-data.js;云数据库已有数据时,请在云开发控制台清空测试集合后再重新初始化。
正式发布还需要在 project.config.json 中换成你的小程序 AppID,并完成内容安全过滤、隐私说明、备案和管理员数据维护功能。