guoyu/Test/md/部署前检查清单.md

7.1 KiB
Raw Blame History

部署前检查清单

代码修改验证

后端 (3个文件)

1. VoiceEvaluationServiceImpl.java

  • 已添加 convertToRealPath() 方法
  • 已改用 BaiduSpeechService
  • 已添加文件存在性检查
  • 已更新 isAvailable() 方法

2. BaiduSpeechService.java

  • 已配置 API 密钥 (APP_ID = "7307076")
  • 已添加 MP3 时长计算 (128kbps)
  • 已添加时长日志输出

3. StudyVoiceEvaluationController.java

  • uploadAndEvaluate 接口正常
  • 支持 mp3 格式上传

前端 (3个文件)

1. speech-recorder.js

  • 录音格式MP3
  • 码率128kbps
  • frameSize10
  • 延迟1500ms + 1000ms
  • 已添加 verifyFile() 方法
  • 已添加 createBackup() 方法
  • 已添加权限检查

2. evaluation.vue

  • 录音格式MP3
  • 码率128kbps
  • 已添加延迟和验证
  • 已添加诊断信息
  • 已添加权限检查
  • 已添加文件大小警告

3. speech.vue

  • 已删除冗余权限代码
  • 使用 speechRecorder.init()

🔧 配置文件验证

application.yml

ruoyi:
  profile: D:\wwwroot\study_web\web\profile
  • 路径正确
  • 目录存在

config.js

DEFAULT_SERVER_HOST: '192.168.0.106'
DEFAULT_SERVER_PORT: '30091'
  • IP地址正确
  • 端口号正确

📂 服务器环境验证

文件系统

  • D:\wwwroot\study_web\web\profile 存在
  • D:\wwwroot\study_web\web\profile\upload 存在
  • D:\wwwroot\study_web\web\profile\upload\voice 存在
  • 目录有写入权限

网络连接

  • 服务器能访问 https://vop.baidu.com
  • 服务器能访问 https://aip.baidubce.com
  • 防火墙已开放 30091 端口

百度API


🚀 打包部署步骤

1. 打包后端

cd Study-Vue-redis
mvn clean package -DskipTests
  • 打包成功
  • jar文件生成

2. 打包前端

cd fronted_uniapp
npm run build:app
# 或
npm run build:mp-weixin
  • 编译成功
  • 安装包生成

3. 部署后端

  • 停止旧服务
  • 上传新jar
  • 启动新服务
  • 查看启动日志无错误

4. 安装前端

  • 卸载旧APP
  • 安装新APP
  • 首次启动授予录音权限

🧪 功能测试清单

测试1录音功能 (基础)

步骤:
1. 打开语音测评页面
2. 输入测评内容:"春眠不觉晓"
3. 点击"开始录音"
4. 清晰朗读 5 秒
5. 点击"停止录音"
6. 等待 3 秒

预期:
✅ 显示"录音完成"
✅ 控制台显示文件大小 > 70KB
✅ 诊断信息正常
  • 通过

测试2文件验证

步骤:
查看控制台日志

预期:
✅ 第1次验证size < 50KB
✅ 第2次验证size 增长
✅ 第3次验证size 稳定
✅ 文件已完全保存
✅ 备份成功
  • 通过

测试3语音评测 (完整流程)

步骤:
1. 录音 8 秒
2. 停止录音
3. 点击"开始评测"
4. 等待 5-10 秒

预期:
✅ 显示"评测中..."
✅ 后端日志显示:
   - 转换后的文件系统路径
   - 文件存在,大小: XXX bytes
   - 调用百度API识别
   - 百度语音识别结果: XXX
   - 语音评测完成,总分: XX
✅ APP显示评测结果
✅ 分数 > 0
  • 通过

测试4短录音警告

步骤:
1. 录音 1 秒
2. 停止录音

预期:
✅ 弹窗警告"录音太短"
✅ 提供"重新录音"选项
  • 通过

测试5长录音

步骤:
1. 录音 15 秒
2. 停止录音
3. 评测

预期:
✅ 文件大小 > 200KB
✅ 评测成功
✅ 识别完整
  • 通过

测试6多次录音

步骤:
1. 连续录音 3 次
2. 每次都评测

预期:
✅ 每次都成功
✅ 历史记录正确保存
  • 通过

📋 后端日志验证

关键日志(成功案例)

开始语音评测,音频路径:/profile/upload/voice/2025/12/07/xxx.mp3
转换后的文件系统路径D:\wwwroot\study_web\web\profile\upload\voice\2025\12\07\xxx.mp3
文件存在大小128567 bytes
调用百度API识别音频 - 大小: 128567 bytes, 格式: mp3, 估算时长: 8.04秒
百度API响应: {"err_no":0,"result":["春眠不觉晓"],...}
百度语音识别结果: 春眠不觉晓
语音评测完成,总分: 95

检查项

  • 路径转换正确
  • 文件存在
  • 文件大小合理
  • 时长计算准确
  • 百度API响应成功
  • 识别结果非空
  • 评分合理 (0-100)

📋 前端日志验证

关键日志(成功案例)

[录音] 开始录音
[录音] 录音结束,详细信息: { duration: 8500, ... }
[录音] 第1次验证成功: { size: 45000, sizeKB: 43.95KB }
[录音] 第2次验证成功: { size: 100000, sizeKB: 97.66KB }
[录音] 文件仍在增长: +55000 bytes
[录音] 第3次验证成功: { size: 128567, sizeKB: 125.55KB }
[录音] 文件大小稳定,编码完成
[录音] 文件已完全保存,大小: 128567 bytes
[录音] 备份成功: .../recordings/voice_backup_xxx.mp3
录音文件信息: { 
    actualSize: 128567, 
    actualSizeKB: "125.55",
    duration: 8500,
    durationSec: "8.5",
    expectedSize: 136000,
    expectedSizeKB: "132.81",
    sizeRatio: "94.5%"
}

检查项

  • 三次验证都成功
  • 文件大小递增
  • 编码完成确认
  • 备份成功
  • 诊断信息完整
  • 大小比例 > 50%

⚠️ 常见问题排查

问题1录音文件太小

症状: size < 预期的50% 排查:

  1. 查看三次验证日志
  2. 检查是否有"文件仍在增长"
  3. 确认延迟时间足够
  4. 尝试改用WAV格式

问题2路径转换错误

症状: "文件不存在" 排查:

  1. 检查 application.yml 配置
  2. 确认服务器目录存在
  3. 检查路径分隔符Windows: , Linux: /

问题3百度API失败

症状: "识别失败" 排查:

  1. 检查API密钥
  2. 确认网络连接
  3. 查看百度API额度
  4. 检查文件格式和大小

问题4权限被拒绝

症状: "录音权限被拒绝" 排查:

  1. 设置 → 应用 → APP → 权限 → 麦克风
  2. 卸载重装APP
  3. 检查系统版本兼容性

部署完成标志

全部测试通过后,确认:

  • 后端代码已修改
  • 前端代码已修改
  • 后端已重新打包
  • 前端已重新编译
  • 服务器已部署
  • APP已安装
  • 权限已授予
  • 基础录音测试通过
  • 完整评测测试通过
  • 日志验证通过
  • 备份机制工作
  • 诊断信息正常

🎯 成功标准

  • 录音成功率: > 95%
  • 文件完整率: > 98%
  • 评测成功率: > 90%
  • 识别准确率: 取决于发音
  • 备份成功率: > 90%

📞 问题反馈

如果仍有问题,提供以下信息:

  1. 前端完整日志
  2. 后端完整日志
  3. 诊断信息截图
  4. 录音时长和文件大小
  5. 测试环境(设备型号、系统版本)

生成时间2025-12-07