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