5.3 KiB
5.3 KiB
AI工作指南
项目结构
1. 后端 + 管理后台
- 路径:
Study-Vue-redis/ - 技术栈: Spring Boot + MyBatis + Vue.js
- 说明: 包含后端API服务和管理后台前端
2. APP项目
- 路径:
fronted_uniapp/ - 技术栈: uni-app (Vue.js)
- 说明: 移动端应用,可打包为Android/iOS
3. 数据库
- 导入脚本:
log/数据库/dump-study-202512070856.sql - 数据库名:
study - 默认账号:
root/root
4. 开发环境
- 本地开发: Windows环境,运行正常
- 部署环境: Linux服务器,存在环境差异问题
- 注意: 部署前需要测试环境兼容性
工作原则
原则1:主动获取信息
优先使用工具获取信息,减少询问
✅ 应该做的:
- 使用
grep_search查找代码 - 使用
read_file读取配置文件 - 使用
run_command检查端口占用、进程状态 - 查询数据库获取数据状态(配置文件中有账号密码)
- 查看日志文件分析问题
❌ 不应该做的:
- 直接询问"端口是多少"(应该用命令查询)
- 询问"数据库密码是什么"(应该读取配置文件)
- 询问"这个文件在哪里"(应该用find_by_name搜索)
例外情况:
- 报错信息(需要用户提供控制台输出)
- 运行结果(需要用户反馈测试结果)
- 业务需求(需要用户明确需求细节)
原则2:确认需求再执行
信息不完整时,先确认再行动
✅ 检查清单:
- 用户需求是否明确?有无歧义?
- 是否需要补充信息才能执行?
- 能否通过工具自行获取缺失信息?
- 执行前是否理解了预期结果?
示例:
- 用户说"修复这个bug" → 先确认具体是哪个bug,复现步骤是什么
- 用户说"部署到服务器" → 先确认服务器地址、环境、部署方式
- 用户说"优化性能" → 先确认性能瓶颈在哪里,优化目标是什么
原则3:简洁文档
只在需要时写文档,内容精简实用
✅ 文档要求:
- 用户明确要求时才写文档
- 用户会指定文档路径
- 只写必要内容,不要冗余
- 重点突出,步骤清晰
- 使用Markdown格式
❌ 避免:
- 自动生成大量README
- 过度详细的注释
- 重复的说明文档
- 长篇大论的总结
例外情况:
- SQL脚本(需要记录修改)
- 部署步骤(需要明确指引)
- 配置文件(需要说明参数)
原则4:理解功能逻辑
充分理解现有功能后再修改
✅ 功能理解流程:
- 使用
grep_search和code_search查找相关代码 - 阅读核心逻辑,理解业务流程
- 用简洁语言总结功能逻辑
- 提供实际应用场景示例
- 确认理解正确后再进行修改
示例:
- 用户说"优化学习记录功能"
- → 先查找StudyLearningRecord相关代码
- → 理解当前如何记录学习进度
- → 总结:每次上报时更新learning_record和learning_detail
- → 场景:学生观看视频时每10秒上报一次进度
- → 确认理解无误后,再讨论优化方案
常见操作
编译后端
cd Study-Vue-redis
mvn clean package -DskipTests
启动后端
java -jar ry-study-admin/target/ry-study-admin.jar
查询数据库
mysql -u root -proot study -e "你的SQL语句"
查看端口占用
netstat -ano | findstr :端口号
停止Java进程
taskkill /F /IM java.exe
工作流程
1. 接收需求
- 阅读用户请求
- 识别关键信息
- 判断是否需要补充
2. 信息收集
- 优先使用工具获取
- 必要时向用户确认
- 确保信息完整
3. 分析问题
- 定位问题根源
- 查看相关代码
- 理解业务逻辑
4. 实施修改
- 最小化修改范围
- 保持代码风格一致
- 添加必要注释
5. 验证结果
- 编译测试
- 提供验证步骤
- 记录修改内容
经验总结
BUG修复经验
多视频时长问题(2025-12-12)
问题: 多个视频课件共用一个总时长字段 方案: 动态更新courseware.duration,每个课件独立存储 教训: 数据设计要考虑一对多关系
防快进检测(2025-12-12)
问题: 用户拖动到末尾就能完成 方案: 添加累计观看时长检测(>=80%) 教训: 前端数据可被篡改,后端必须验证
观看时长共用(2025-12-12)
问题: Mapper XML缺少coursewareId过滤 方案: 添加WHERE条件 教训: SQL查询必须明确过滤条件
异常数据清理(2025-12-12)
问题: duration<=0的脏数据影响统计 方案: 清理异常数据,代码中过滤 教训: 数据验证要在代码和数据库两层进行
注意事项
- 修改前先备份 - 重要文件修改前先备份
- 测试后再部署 - 本地测试通过再部署到服务器
- 保持代码风格 - 遵循项目现有代码规范
- 避免过度设计 - 简单问题简单解决
- 记录关键修改 - 重要修改需要记录在log目录
遇到问题时
- 先查看日志文件
- 使用grep搜索相关代码
- 查询数据库验证数据
- 尝试用命令诊断
- 最后才询问用户
最后更新: 2025-12-12