feat(tts): 集成OpenAI语音合成功能并支持计划单词语音生成

- 新增TTS工具类TTSUtil,实现文本到语音的转换并通过HTTP响应返回音频流
- 在LessonPlanController添加获取计划单词列表及单词语音生成接口
- 前端新增PlanTTS页面,实现计划单词TTS的加载、生成、播放及下载功能
- 路由新增PlanTTS路由,支持访问TTS生成功能页面
- 配置文件application-dev.yml新增OpenAI TTS相关配置
- WordExportUtil生成计划文档时嵌入对应页面二维码图片
- 引入spring-ai-openai相关依赖支持OpenAI模型调用
- 新增单词语音相关请求与响应VO类,方便接口数据传输
- 新增计划单词获取接口plan/word/voice对应前端api
- 新增计划单词语音合成接口plan/word/voice/tts对应前端api
- 添加二维码生成逻辑,用于生成计划文档中的二维码图片链接
- 添加单元测试模版VoiceTest,预留TTS工具类测试接口
This commit is contained in:
lbw
2025-12-29 12:44:16 +08:00
parent 494ab77486
commit 2d76ed507e
16 changed files with 458 additions and 8 deletions

View File

@@ -4,6 +4,7 @@ import Class from '@/pages/class.vue'
import { createRouter, createWebHashHistory } from 'vue-router'
import Admid from '@/pages/admid/admid.vue'
import Student from '@/pages/student.vue'
import PlanTTS from '@/pages/PlanTTS.vue'
// 统一在这里声明所有路由
const routes = [
@@ -41,6 +42,13 @@ const routes = [
meta: { // meta 信息
title: '管理员页面' // 页面标题
}
},
{
path: '/plan/tts',
component: PlanTTS,
meta: {
title: 'TTS生成'
}
}
]