# tams **Repository Path**: Qiuner/tams ## Basic Information - **Project Name**: tams - **Description**: 期末大作业 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-16 - **Last Updated**: 2026-06-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TAMS 教务排课系统示例项目,包含课程排课、基础资源管理、数据报表以及 AI 辅助能力。 仓库结构: - `tams-server`:Spring Boot 2.3 后端 - `tams-web`:Vue 2 + Element UI 前端 - `db`:数据库相关脚本 - `sh`:辅助脚本 ## 技术栈 后端: - Spring Boot `2.3.0.RELEASE` - MyBatis-Plus `3.2.0` - Druid `1.1.18` - MapStruct `1.5.5.Final` - Lombok `1.18.32` - Swagger / Springfox `3.0.0` 前端: - Vue `2.6.11` - Vue Router `3.4.3` - Vuex `3.4.0` - Element UI `2.4.5` - FullCalendar `5.x` - ECharts `4.8.0` 运行环境: - JDK `8` - Node.js `建议 16 及以下版本` - MySQL `5.7 / 8.x` ## 主要功能 当前项目包含以下业务模块: - 排课日历 - 排课列表 - 教室管理 - 课程管理 - 教师管理 - 班级管理 - 数据报表 - AI 助手 其中 AI 相关能力包括: - 通用聊天助手页面 - 流式 AI 对话接口 - 排课建议接口 - 在排课页面中生成结构化优化建议 ## 账号说明 默认测试账号: - 管理员:`admin / 123456` - 普通用户:`user / 123456` 普通用户当前默认可见菜单: - 排课日历 - 排课列表 - 数据报表 - AI 助手 ## 本地启动 ### 1. 启动后端 进入后端目录: ```bash cd tams-server ``` 使用 Maven 启动: ```bash mvn spring-boot:run ``` 或者直接运行启动类: - `com.lhd.tams.TamsApplication` 默认端口: - `12010` ### 2. 启动前端 进入前端目录: ```bash cd tams-web ``` 安装依赖: ```bash npm install ``` 启动开发环境: ```bash npm run serve ``` 构建生产包: ```bash npm run build ``` ## 配置说明 ### 数据库配置 开发环境数据库配置位于: - `tams-server/src/main/resources/application-dev.yaml` 默认连接示例: ```yaml spring: datasource: druid: url: jdbc:mysql://localhost:3306/tams?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8 username: root password: 123456 ``` 请按本地数据库实际情况修改。 ### AI 配置 当前项目已经集成 DeepSeek 调用配置,配置项位于: - `tams-server/src/main/resources/application.yaml` - `tams-server/src/main/resources/application-dev.yaml` - `tams-server/src/main/resources/application-prod.yaml` 配置结构示例: ```yaml tams: ai: enabled: true provider: deepseek base-url: https://api.deepseek.com api-key: your-api-key model: deepseek-chat timeout-millis: 60000 ``` 注意: - `api-key` 建议改成你自己的密钥 - 不建议把真实密钥直接提交到公开仓库 ## AI 接口 当前后端暴露的 AI 接口包括: - `POST /ai/chat` - `POST /ai/chat/stream` - `POST /ai/course-scheduling/suggestion` ### 1. 通用聊天 `POST /ai/chat` 用于非流式问答。 ### 2. 流式聊天 `POST /ai/chat/stream` 用于 AI 助手页面的流式输出。 ### 3. 排课建议 `POST /ai/course-scheduling/suggestion` 请求体示例: ```json { "prompt": "请帮我优化本周高一一班的课表分布", "filters": { "classId": 1 }, "events": [ { "id": 101, "title": "数学", "start": "2026-06-16T08:00:00", "end": "2026-06-16T09:30:00" } ], "messages": [ { "role": "user", "content": "重点关注教师连堂过多的问题" } ] } ``` 返回结果中的 `data` 一般包含: - `result`:文字说明 - `advices`:结构化建议列表 ## 当前页面说明 前端当前已经接入: - 登录首页 - 主后台布局 - 排课日历页 - 排课列表页 - 数据报表页 - AI 助手页 AI 助手支持: - 新建对话 - 快捷提问 - 流式返回 - 停止生成 ## 说明 当前项目仍基于 Spring Boot 2 与 Vue 2。 如果后续准备升级到 Spring Boot 3,需要重点处理: - JDK 17 升级 - `javax.*` 到 `jakarta.*` - 第三方依赖兼容性 - Spring Security / Swagger / Servlet 相关适配 ## License 本仓库包含 `LICENSE` 文件,如需对外分发,请按仓库许可处理。