1. 立项背景和目标
随着教育信息化进程加速,教师在备课、出题、资源检索等环节仍面临效率低下的问题。传统方式下,教师需要手动编写教案、逐题出卷、翻阅大量资料寻找教学资源,耗费大量时间和精力。本项目旨在构建一个AI驱动的智能教学助手平台,利用大语言模型能力,帮助教师快速生成高质量教案、智能出题、自动优化教学内容,并提供一站式教学资源检索与管理功能,从而显著提升教师的教学工作效率。
2. 软件功能、核心功能模块的介绍
系统包含六大核心功能模块:
教案管理模块:支持教案的创建、编辑、查看和删除操作,教案按数学、物理、化学、语文、英语、历史、地理、生物、政治等九大学科分类管理,支持草稿和发布两种状态,并内置版本记录功能,每次编辑自动保存历史版本。
题库管理模块:支持单选题、多选题、判断题、简答题四种题型,可按学科分类浏览和筛选,每道题目包含题干、选项、正确答案和详细解析,支持难度等级标注(简单/中等/困难)。
教学资源库模块:支持教学资源的上传与管理,资源按学科分类组织,支持文件类型识别和大小统计,便于教师集中管理各类教学素材。
AI智能工具模块:系统集成阿里通义千问大模型(DashScope API),提供四大AI功能——AI生成教案(输入主题自动生成完整教案,包含教学目标、重难点、教学过程等)、AI生成题目(根据知识点智能出题,支持选择题型和难度)、AI内容优化(对已有教案进行多维度分析并给出改进建议)、AI智能搜索(基于关键词检索优质教学资源)。此外还包含AI智能批改(自动评分并给出评语)、知识点总结、章节大纲生成和AI问答助手等扩展能力。
用户认证模块:支持用户注册和登录,采用Token机制进行身份认证,路由守卫拦截未登录用户的访问请求,确保系统数据安全。
个人中心模块:用户可查看和编辑个人信息,管理账户设置。
3. 业务流程、功能路径描述
用户注册并登录系统后进入主页仪表盘。首页展示教案总数、题目总数和资源总数等统计数据,提供创建教案、生成题目、上传资源、AI搜索四个快速入口,并按学科展示资源导航卡片,同时呈现最近创建的教案和最近添加的题目等动态信息。教师可通过顶部导航栏进入教案管理、题库管理、资源库和AI工具四大功能区,每个功能区均支持按九大学科进行细分筛选。在AI工具区,教师选择具体功能后填写相关参数(如学科、年级、主题等),系统调用AI接口实时生成结果,教师可预览、编辑并保存到本地数据库。整个操作流程从登录到完成核心功能不超过三步点击,交互体验流畅直观。
1. 整体架构和设计思路,不同模块使用的技术栈
本项目采用纯前端单页应用(SPA)架构,整体设计遵循组件化、模块化的开发理念。
前端框架层使用Vue 3(Composition API + script setup语法),构建工具选用Vite 4实现毫秒级热更新和快速打包。UI组件库选用Element Plus 2.4,提供统一的视觉风格和丰富的表单、表格、导航等基础组件,配合@element-plus/icons-vue图标库实现一致的图标体系。
状态管理层使用Pinia 2.1替代Vuex,按业务领域拆分为三个独立Store:material(教案数据)、question(题目数据)、resource(资源数据),每个Store封装CRUD操作和按学科分类的computed计算属性。数据持久化采用localStorage本地存储方案,通过JSON序列化实现页面刷新后数据不丢失。
路由层使用Vue Router 4,配置路由守卫实现登录鉴权拦截,采用嵌套路由结构,Dashboard作为父级布局组件承载所有业务页面。
服务层封装了两大外部API集成:AI服务模块(ai.js)对接阿里云DashScope平台,调用qwen-turbo大模型实现教案生成、智能出题、内容优化、资源搜索、自动批改、知识点总结、大纲生成和问答助手共八大AI能力;搜索引擎模块(searchEngine.js)对接微软Bing Search API,支持网页搜索、视频搜索和学术论文搜索三种检索模式。网络请求统一使用Axios库,封装了完善的错误处理和超时控制。
2. "我"的负责模块和结果
作为项目独立开发者,我负责了全部模块的设计与实现,总计完成35个源文件的开发工作。具体包括:搭建Vue 3 + Vite项目脚手架并完成Element Plus、Pinia、Vue Router等技术栈集成;设计并实现三个Pinia状态管理Store,封装12个核心数据操作方法;开发AI服务层,完成与DashScope API和Bing Search API的对接,实现8个AI功能接口并封装统一的错误处理机制;开发14个页面视图组件(登录、注册、首页仪表盘、教案列表/编辑器/详情、题库管理、资源库、个人中心、4个AI功能页面);设计响应式UI布局,实现九大学科分类体系和渐变色主题风格。
3. "我"遇到的难点、坑,和解决方案
AI返回结果解析问题:大模型生成的JSON内容经常被包裹在Markdown代码块(json ... )中,或在JSON前后附加多余文字,直接JSON.parse会抛出异常。解决方案是编写通用的内容清洗逻辑,先用正则匹配提取代码块内容,再用贪婪匹配定位最外层的JSON对象边界,最后进行安全的JSON解析。
API调用稳定性问题:DashScope API在高峰期