# class-schedule **Repository Path**: mojolin/class-schedule ## Basic Information - **Project Name**: class-schedule - **Description**: 一款课表管理程序 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-04 - **Last Updated**: 2026-03-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 校园课程表小程序 一款面向大学生的免费课程表管理工具 + 校园社交平台 ## 项目概述 - **技术栈**: 微信小程序 + Spring Boot (后端) + MySQL - **定位**: 纯免费公益使用 - **核心功能**: 课程表管理、AI解析、课表同步、校园社交 ## 项目结构 ``` work_class_schedule/ ├── backend/ # Spring Boot后端 │ ├── src/main/java/com/schedule/ │ │ ├── config/ # 配置类 │ │ ├── controller/# 控制器 │ │ ├── entity/ # 实体类 │ │ ├── mapper/ # MyBatis Mapper │ │ └── service/ # 服务层 │ ├── src/main/resources/ │ │ └── application.yml │ └── pom.xml ├── database/ # 数据库脚本 │ └── schema.sql └── miniprogram/ # 微信小程序 ├── pages/ # 页面 ├── images/ # 图片资源(需补充) ├── app.js ├── app.json └── app.wxss ``` ## 快速开始 ### 1. 数据库配置 ```bash # 导入数据库脚本 mysql -u root -p < database/schema.sql ``` ### 2. 后端配置 修改 `backend/src/main/resources/application.yml`: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/class_schedule username: root password: your_password wechat: miniapp: appid: your_wechat_appid secret: your_wechat_secret tencent: cos: bucket: your_bucket region: ap-guangzhou secret-id: your_secret_id secret-key: your_secret_key ``` ### 3. 启动后端 ```bash cd backend mvn spring-boot:run ``` ### 4. 小程序配置 在 `miniprogram/app.js` 中修改后端地址: ```javascript globalData: { baseUrl: 'http://your-domain.com:8080/api' } ``` ## 功能说明 ### MVP阶段 - ✅ 微信登录 - ✅ 用户角色信息管理 - ✅ 课表导入 (Excel/图片/手动) - ✅ 课表展示与编辑 - ✅ 课表权限管理 - ✅ 课表Follow (需对方同意) - ✅ 课表同步 - ✅ 游客模式 ### 第二阶段 - ✅ 校园频道基础 (发布/点赞/评论) - ✅ 反馈中心 ### 第三阶段 - ⏳ 私信功能 - ⏳ 同班/同届标签提醒 - ⏳ 捐赠功能 - ⏳ 高级社交 ## API接口 ### 认证接口 | 接口 | 方法 | 说明 | |------|------|------| | /api/auth/wx-login | POST | 微信登录 | | /api/auth/validate | GET | 验证token | ### 用户接口 | 接口 | 方法 | 说明 | |------|------|------| | /api/user/info | GET | 获取用户信息 | | /api/user/info | PUT | 更新用户信息 | | /api/user/privacy | PUT | 更新隐私设置 | | /api/user/same-class | GET | 同班同学 | | /api/user/same-year | GET | 同届同学 | | /api/user/search | GET | 搜索用户 | | /api/user/public/{id} | GET | 查看公开信息 | ### 课表接口 | 接口 | 方法 | 说明 | |------|------|------| | /api/schedule/create | POST | 创建课表 | | /api/schedule/info | GET | 获取课表 | | /api/schedule/courses | GET | 获取课程列表 | | /api/schedule/course/add | POST | 添加课程 | | /api/schedule/course/update | PUT | 更新课程 | | /api/schedule/course/{id} | DELETE | 删除课程 | | /api/schedule/import/excel | POST | Excel导入 | | /api/schedule/follow/apply | POST | 申请关注 | | /api/schedule/follow/approve | POST | 同意关注 | | /api/schedule/follow/reject | POST | 拒绝关注 | | /api/schedule/sync | POST | 同步课表 | | /api/schedule/public | PUT | 更新课表权限 | ### 动态接口 | 接口 | 方法 | 说明 | |------|------|------| | /api/post/create | POST | 发布动态 | | /api/post/list | GET | 动态列表 | | /api/post/user/{id} | GET | 用户动态 | | /api/post/{id} | GET | 动态详情 | | /api/post/{id} | DELETE | 删除动态 | | /api/post/{id}/like | POST | 点赞 | | /api/post/{id}/like | DELETE | 取消点赞 | | /api/post/upload-image | POST | 上传图片 | | /api/post/upload-video | POST | 上传视频 | ### 反馈接口 | 接口 | 方法 | 说明 | |------|------|------| | /api/feedback/create | POST | 提交反馈 | | /api/feedback/list | GET | 反馈列表 | | /api/feedback/{id} | GET | 反馈详情 | | /api/feedback/upload-image | POST | 上传图片 | ## 部署说明 ### 腾讯云部署 1. **云服务器**: 购买CVM实例 2. **MySQL**: 使用腾讯云MySQL或自建 3. **文件存储**: 腾讯云COS 4. **小程序**: 微信公众平台配置服务器域名 ### 配置微信小程序 1. 在微信公众平台获取 `appid` 和 `secret` 2. 配置服务器域名白名单 3. 配置业务域名(可选) ## 待补充资源 小程序需要的图片资源需要自行添加: ``` miniprogram/images/ ├── tab/ │ ├── home.png │ ├── home-active.png │ ├── schedule.png │ ├── schedule-active.png │ ├── feed.png │ ├── feed-active.png │ ├── profile.png │ └── profile-active.png ├── icon/ │ ├── import.png │ ├── feedback.png │ ├── donate.png │ ├── search.png │ └── ... ├── logo.png └── default-avatar.png ``` ## 注意事项 1. **AI解析功能**: 需要接入第三方AI API (如通义千问VL或GPT-4V) 2. **短信提醒**: 需要配置短信服务 (如腾讯云SMS) 3. **微信支付**: 如需付费功能需开通微信支付 4. **数据安全**: 生产环境请修改JWT密钥和数据库密码 ## 开发计划 - [x] 项目基础架构搭建 - [x] 用户系统实现 - [x] 课表管理核心功能 - [x] 校园频道基础功能 - [x] 反馈中心 - [ ] AI图片识别 - [ ] 私信功能 - [ ] 同班/同届标签 - [ ] 上课提醒推送 - [ ] 性能优化 ## License MIT License - 纯免费公益使用