feat(lessonplan): 实现基于AI的学案自动生成与管理功能

- 新增DifyArticleClient工具类,实现基于Dify API的对话与文本生成功能
- 创建LessonPlansService接口及其实现,实现学案按天生成及存储
- 设计LessonPlansDO和StudentLessonPlansDO数据对象及对应MyBatis映射和数据库操作
- 扩展VocabularyBankDO实体及Mapper,支持查询单元词汇和学生未掌握词汇
- 利用deepoove-poi模板技术生成Word格式的学习计划文档,包含词汇、复习和练习
- 开发StringToPlanMapUtil工具类,解析AI返回结果为结构化学案内容
- 新增JUnit测试用例验证AI对话功能及学案生成逻辑正确性
- 更新Spring Boot配置,添加AI接口地址及密钥等参数
- 在前端Vue项目中新建学案页面,路由配置及导航菜单支持学案访问
This commit is contained in:
lbw
2025-12-16 19:08:58 +08:00
parent d027c9c7e6
commit 7f41036193
26 changed files with 831 additions and 5 deletions

View File

@@ -45,10 +45,11 @@
</router-link>
</li>
<li>
<a href="#"
<router-link
to="/learningplan"
class="block py-2 pr-4 pl-3 text-gray-700 border-b border-gray-100 hover:bg-gray-50 lg:hover:bg-transparent lg:border-0 lg:hover:text-primary-700 lg:p-0 dark:text-gray-400 lg:dark:hover:text-white dark:hover:bg-gray-700 dark:hover:text-white lg:dark:hover:bg-transparent dark:border-gray-700">
Marketplace
</a>
学案
</router-link>
</li>
<li>
<a href="#"

View File

@@ -0,0 +1,22 @@
<template>
<div class="common-layout">
<el-container>
<el-header>
<Header></Header>
</el-header>
<el-main class="p-4">
<el-tabs v-model="activeTab" type="border-card" class="demo-tabs">
<el-tab-pane label="学习计划" name="first">学习计划</el-tab-pane>
<el-tab-pane label="学习记录" name="second">学习记录</el-tab-pane>
</el-tabs>
</el-main>
</el-container>
</div>
</template>
<script setup>
import Header from '@/layouts/components/Header.vue'
</script>

View File

@@ -1,5 +1,6 @@
import Index from '@/pages/index.vue'
import Uploadpng from '@/pages/uploadpng.vue'
import LearningPlan from '@/pages/LearningPlan.vue'
import Class from '@/pages/class.vue'
import { createRouter, createWebHashHistory } from 'vue-router'
@@ -18,6 +19,13 @@ const routes = [
meta: { // meta 信息
title: '上传图片' // 页面标题
}
},
{
path: '/learningplan', // 路由地址
component: LearningPlan, // 对应组件
meta: { // meta 信息
title: '学案' // 页面标题
}
}
]