Skip to content

About

一款面向班级管理的微信小程序,包含课表、课程群、公告回执和班级论坛。

Resources

Stars

115 stars

Watchers

38 watching

Forks

Repository files navigation

班级管理 · 微信小程序

一款面向“班级管理”的微信小程序,集成课表查询、课程群聊、公告确认与班级论坛功能。支持姓名学号验证、管理员与学生角色分配、课程自动建群、公告回执、论坛发帖回复,以及微信云开发跨设备数据同步。

项目可直接导入微信开发者工具。默认使用本地演示数据,同时包含微信云开发后端;配置云环境后,不同手机可以同步聊天、论坛、公告和回执。

已实现

  • 姓名 + 学号 / 工号严格匹配注册名单,匹配失败不可进入
  • 同一学号只能绑定一个微信账号;云端使用事务避免重复抢占
  • 管理员与普通学生自动分配身份
  • 5 个教学周横向滑动切换、分页指示器、整周彩色卡片课表
  • 已按参考图片录入工程制图、数据可视化、高等数学等示例课程
  • 点击课程卡片进入课程详情、查看安排和进入课程群
  • 每门课程自动生成课程群,老师和选课学生自动成为群成员
  • 课程群聊天、群成员列表与访问权限校验
  • 仅管理员可发布公告,所有用户可查看并点击“确认收到”
  • 管理员可查看公告已确认和未确认名单
  • 班级论坛发帖、点赞、查看详情与回复;管理员可删帖
  • 登录状态与演示数据本地持久化
  • 云开发模式下跨设备同步,课程群每 2.5 秒自动获取新消息

运行

  1. 打开微信开发者工具,选择“导入项目”。
  2. 选择本目录,测试阶段可直接使用 touristappid。
  3. 编译后使用演示账号登录:
    • 管理员:王老师 / T2026001
    • 普通用户:李明 / 20260001

替换真实数据

仓库中的姓名、学号、课程和消息均为演示数据。公开部署时,请勿将真实学生名单、正式 AppID、云环境密钥或其他个人信息提交到公开仓库。

编辑 data/seed.js:

  • users:预登记姓名、学号 / 工号及角色。管理员的 role 为 admin,普通用户为 student。
  • courses:课程时间、地点、授课老师和选课学生。teacherId 与 studentIds 必须对应 users 中的 id。
  • 修改初始化数据后递增 version,开发工具中的旧缓存会自动重建。

开启跨设备云同步

  1. 在微信开发者工具中使用你自己的小程序 AppID 导入本项目。
  2. 点击工具栏“云开发”,创建一个云环境并复制环境 ID。
  3. 打开 config/index.js,填写 envId,把 useCloud 改成 true。
  4. 在开发者工具的 cloudfunctions 目录中右键 campusApi,选择“上传并部署:云端安装依赖”。
  5. 首次调用云函数时会自动创建并填充 users、courses、announcements、messages、posts 集合。
  6. 使用两台手机分别登录不同演示账号,即可测试群聊、论坛、公告和回执同步。

所有写操作均经过 campusApi 云函数校验:管理员权限、课程群成员权限、预置名单以及学号唯一绑定不依赖前端判断。

默认的 useCloud: false 是为了在没有 AppID 和云环境时也能直接编译体验。此模式的数据只保存在当前设备,不能跨手机互通。

若修改了 data/seed.js 的正式名单和课程,也要用同样内容更新 cloudfunctions/campusApi/seed-data.js;云数据库已有数据时,请在云开发控制台清空测试集合后再重新初始化。

正式上线前

正式发布还需要在 project.config.json 中换成你的小程序 AppID,并完成内容安全过滤、隐私说明、备案和管理员数据维护功能。

About

一款面向班级管理的微信小程序,包含课表、课程群、公告回执和班级论坛。

Resources

Stars

115 stars

Watchers

38 watching

Forks

Releases

Packages

Contributors

Languages