Commit Graph

22 Commits

Author SHA1 Message Date
peanut e23eb32c1d test: 集成测试验证 RestTemplate 运行时 User-Agent 为 Mozilla/5.0 2026-06-03 23:46:03 +08:00
peanut 2413b2bf58 feat(exception): GlobalExceptionHandler 新增 WechatApiException handler
解决问题:
- WechatApiException 抛出后未统一处理,会冒泡到 Spring 默认错误页(500 HTML)
- 前端拿不到结构化错误信息

改动:
- 新增 @ExceptionHandler(WechatApiException.class) 方法
- code=400 -> Result.badRequest()(微信业务错误)
- code=502 -> Result.error(502, message)(上游/网络错误)
- 其他(code=500) -> Result.error(message)(内部 JSON 解析错误)
- 日志记录 code 和 message(已确保不含敏感信息)
- 风格与现有 BusinessException handler 保持一致
2026-06-03 23:24:44 +08:00
peanut 76d4d7465c feat(wechat): 重写 code2Session 实现 5 步防御性处理
解决问题:
- 微信API返回 text/plain 时 JSONObject.parseObject 抛异常导致用户500
- 网络异常时 RestClientException 未被捕获
- 业务错误码(errcode != 0)未处理

实现 5 步防御:
1. 网络层:捕获 ResourceAccessException / RestClientException -> 502
2. HTTP 状态:手动检查 is2xxSuccessful(因 WechatResponseErrorHandler 让 4xx/5xx 不抛)-> 502
3. Content-Type:检查 isCompatibleWith(APPLICATION_JSON) -> 502
4. JSON 解析:try/catch 包裹 parseObject -> 500
5. 业务码:检查 errcode == 0 -> 400

TDD:先写 10 测试场景覆盖所有分支,再实现
- 正常 JSON 成功
- HTTP 4xx / 5xx
- Content-Type: text/plain / text/html
- JSON 解析失败
- 业务错误码 40029 / 40163
- 网络异常(ResourceAccessException)
- 响应缺少 session_key
2026-06-03 23:14:09 +08:00
peanut 4452d0301c feat(wechat): 新增 WechatApiLoggingInterceptor 拦截器(含脱敏单元测试)
- ClientHttpRequestInterceptor 实现
- URL/method/status/content-type 用 INFO 级别
- body 用 DEBUG 级别,MAX_BODY_LOG=2048 截断
- 脱敏正则覆盖 session_key/openid/unionid/access_token/refresh_token/secret/appsecret
- 配合 BufferingClientHttpRequestFactory 使用避免流被消费
- 4 个单元测试覆盖主要脱敏场景
2026-06-03 22:37:22 +08:00
peanut c289097ca0 feat: TTS 服务功能完善(任务管理、配置优化、客户端实现) 2026-05-26 20:49:58 +08:00
peanut d2e449ec4c feat: 日志保存时写入 userName 字段
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 22:34:29 +08:00
peanut 84af570841 test: AI 流式服务单元测试
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 18:39:31 +08:00
peanut 9838e7626b feat: 分析模块、接口管理及其他功能优化
- 后端: WebMvcConfig/拦截器/AnalyticsService/Mapper/测试优化,新增 Knife4jConfig、AnalyticsDictionary、数据库迁移脚本
- 前端: 分析仪表盘 UI 优化、接口管理列表及详情测试面板
- 小程序: analytics 服务优化、request 增强
- 文档: 分析模块中文标签设计文档、品牌重命名设计文档
- 部署: conf 配置优化、deploy.py 脚本更新

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 23:52:39 +08:00
peanut 89fc42819d feat: AI 场景路由、ASR 服务及前后端全链路同步
- 新增 AI 场景路由控制器和管理接口
- 新增 ASR 语音识别服务及前后端集成
- 同步 AI Runtime 客户端到 Web/小程序/Life-Script
- 完善 AI 配置测试修复和管理后台路由配置
- 新增数据库迁移脚本

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 13:25:21 +08:00
peanut 6b426c2b68 feat: add script tts backend 2026-05-17 16:36:06 +08:00
peanut 3decff526a feat: add analytics backend 2026-05-17 10:14:08 +08:00
peanut 7f89fd17d3 AI配置增加字段适配处理 2025-12-23 16:51:53 +08:00
peanut 180fe20347 Coze接口配置及调用变更 2025-12-22 18:02:35 +08:00
peanut bbe79ecffb 仪表盘功能完善 2025-10-31 14:33:57 +08:00
peanut 778f05daa5 仪表板功能完善 2025-10-31 14:23:38 +08:00
peanut 0016453f20 增加后台管理模块 2025-10-27 23:57:31 +08:00
peanut cc886cd4d5 feat: 完成情绪博物馆项目重构和功能增强 - 新增日记评论和帖子功能 - 重构前端架构,优化用户体验 - 完善WebSocket通信机制 - 更新项目文档和部署配置 2025-07-27 10:05:59 +08:00
peanut c09cbc3f01 fix: 修复API认证问题,统一使用request工具
- 修复JWT拦截器配置,添加情绪记录和消息API到公开接口列表
- 统一前端API调用,使用services/api.ts中的request工具替代直接fetch
- 确保所有API请求都能正确携带认证token
- 修复401未授权错误问题
2025-07-25 05:55:55 +08:00
peanut 86c2df4784 feat: 实现情绪记录功能和聊天历史查看
- 完成情绪记录生成功能,支持AI分析聊天内容生成情绪记录
- 实现聊天页面历史记录查看,支持分页和搜索
- 修改日记页面展示情绪记录而非普通日记
- 添加情绪记录的增删改查API
- 优化前端UI,添加情绪强度显示和详细信息展示
- 修复SCSS变量缺失问题
2025-07-25 01:11:01 +08:00
peanut 3292a74698 实现Coze API调用记录功能
- 在AiChatServiceImpl中添加完整的API调用记录功能
- 每次调用Coze API时自动记录请求和响应信息
- 支持聊天和总结两种类型的API调用记录
- 记录详细信息包括:
  * 请求信息:URL、请求体、请求头、用户消息
  * 响应信息:HTTP状态码、响应体、响应头
  * Coze信息:Bot ID、Workflow ID、Chat ID、Conversation ID
  * 用户信息:用户ID、客户端IP、User Agent、会话ID
  * 性能指标:开始时间、结束时间、耗时、轮询次数
  * 状态跟踪:调用状态、最终状态、错误信息
  * 追踪信息:唯一追踪ID
- 添加集成测试验证记录功能
- 支持错误处理和异常情况记录
2025-07-25 00:39:51 +08:00
peanut ca42a7d9a4 重构项目结构:迁移到单体架构并优化代码组织
- 删除分布式架构相关文件和配置
- 将backend-distributed重命名为backend保留分布式代码作为参考
- 优化backend-single单体架构实现
- 添加Coze API集成相关文档和测试
- 清理项目根目录的部署脚本和配置文件
- 更新WebSocket和消息服务实现
- 完善认证服务和密码加密功能
2025-07-24 22:16:27 +08:00
peanut 873b8e55da feat: 完善后端架构 - 标准化Controller层和Service层
 新功能:
- 创建了完整的Service层架构,包含所有业务实体的Service接口和实现类
- 新增8个标准化的Controller类,支持完整的CRUD操作
- 实现了统一的Request/Response模式和分页查询功能
- 创建了认证服务(AuthService)和令牌服务(TokenService)
- 添加了Redis配置和认证拦截器

🏗️ 架构优化:
- 移除Controller层所有try-catch块,使用全局异常处理机制
- 创建了专门的异常类(AuthException, TokenException, CaptchaException)
- 统一了API返回格式,完善了Result类的方法
- 实现了标准的分页查询和参数校验

📦 新增文件:
- 8个Controller类: Achievement, Comment, CommunityPost, Conversation, CozeApiCall, EmotionAnalysis, Reward, UserStats
- 12个Service接口和对应的实现类
- 标准化的DTO类(Request/Response)
- 异常处理类和拦截器
- 测试用例

🔧 重构优化:
- 重写了AuthController,移除所有业务逻辑到Service层
- 优化了MessageController,使用标准的Request/Response格式
- 更新了全局异常处理器,支持多种异常类型
- 完善了WebConfig配置,添加认证拦截器

📊 代码统计:
- 新增文件: 60+个
- 新增代码行数: 8000+行
- 重构代码行数: 1000+行
- 移除过时接口: 4个
2025-07-24 07:38:40 +08:00