peanut
|
4e79e2150b
|
docs: 详情页澄清选项卡显示不全修复设计
|
2026-07-26 22:34:52 +08:00 |
|
peanut
|
321246c96c
|
docs: 章节数展示修复设计文档
|
2026-07-26 18:18:14 +08:00 |
|
peanut
|
6f4d9ba0d8
|
docs:小说列表页/详情页展示改造设计文档
修复详情页重复展示问题,列表页增加大纲预览,后端保存澄清问答消息。
详情页复刻生成时 ScriptView 的 chat-bubble 展示结构。
|
2026-07-26 14:37:57 +08:00 |
|
peanut
|
644b8b9d2d
|
docs: 心愿实现小说保存与复现完整性修复设计
|
2026-07-26 11:34:26 +08:00 |
|
peanut
|
c64bb4285a
|
docs: H5 模式 stream 超时修复设计文档
|
2026-07-22 22:31:52 +08:00 |
|
peanut
|
235b08e01d
|
docs:ClarificationCard 选项切换修复设计
|
2026-07-22 21:49:21 +08:00 |
|
peanut
|
0c9ab9b974
|
docs:补充前端代码完整示例,移除占位符
|
2026-07-21 23:19:40 +08:00 |
|
peanut
|
461f993ab1
|
docs:SSE 流式传输与历史列表保存修复设计
|
2026-07-21 23:18:18 +08:00 |
|
peanut
|
8693b3febc
|
docs: 澄清卡片已回答显示修复设计(label 替代 value + 显示 AI 问题)
|
2026-07-20 21:15:36 +08:00 |
|
peanut
|
95ce23f172
|
docs: 心愿实现 chat 视图 loading 标识修复设计
|
2026-07-20 00:16:05 +08:00 |
|
peanut
|
bebb7f1667
|
docs: 收藏功能真实 API 化设计文档 v2(沿用独立收藏表架构)
|
2026-07-19 22:16:15 +08:00 |
|
peanut
|
ce9c9a8dc5
|
chore: 撤回旧收藏设计文档,改用独立收藏表方案
|
2026-07-19 22:13:17 +08:00 |
|
peanut
|
10d3c72082
|
docs: 收藏功能真实 API 化设计文档
|
2026-07-19 22:07:34 +08:00 |
|
peanut
|
8a2001af3d
|
docs: Chat 视图发送按钮等高修复设计文档
|
2026-07-19 21:04:04 +08:00 |
|
peanut
|
cafa8717ab
|
docs: Chat 视图底部遮挡架构层修复设计文档
|
2026-07-19 20:45:09 +08:00 |
|
peanut
|
0a9ea60795
|
docs: Chat 视图底部内边距修复设计文档
|
2026-07-19 19:57:57 +08:00 |
|
peanut
|
b2df7d4de0
|
docs:ScriptView 统一对话页改造设计
将澄清/大纲/小说生成从独立视图改为统一对话流消息。
viewState 简化为 home+chat,扩展 resultMessages 消息模型
支持 kind: text/card/outline/novel,novel_done 后切换旧接口
做后续对话修改。
|
2026-07-19 14:45:45 +08:00 |
|
peanut
|
99a3cb883e
|
docs:短篇小说服务接口迁移设计方案
- 后端 SSE 代理 + 前端多轮交互状态机改造
- 外部 short-novel-service 接口替代内部 AI Runtime
- 数据持久化改为小说完成后一次性保存
- 短信验证码修复(888888→123456)
|
2026-07-19 11:52:41 +08:00 |
|
peanut
|
3bb6716e0f
|
docs: ScriptView 简化为纯对话流模式设计文档
|
2026-06-30 22:45:29 +08:00 |
|
peanut
|
7fb90299d1
|
docs: ScriptView 对话模式按钮完整修复设计文档
|
2026-06-29 22:34:27 +08:00 |
|
peanut
|
6ae721eb89
|
fix: 回滚 ScriptView 临时 conversationId 正则保护(误伤历史剧本)
|
2026-06-28 23:33:29 +08:00 |
|
peanut
|
808a590b8d
|
fix: nginx 根路径 301 重定向到 /emotion-museum/(修复首页 404)
|
2026-06-28 23:21:03 +08:00 |
|
peanut
|
5b31845b33
|
docs:新增本地服务管理规则优化设计文档
- 强制使用 dev-services.py 控制本地服务
- 前端/H5 固定端口从 5178 开始累加
- 优化 restart 命令,避免无意义重启
|
2026-06-28 10:16:29 +08:00 |
|
peanut
|
f7dba6ba60
|
docs:新增 MessageCard 组件统一设计文档
- 提取 MessageCard.vue 独立组件
- 按 100 字阈值自动切换短消息/完整卡片模式
- story-card 和 result-chat-list 复用同一组件
|
2026-06-27 23:25:26 +08:00 |
|
peanut
|
e014450aa3
|
docs:新增 AI 消息卡片功能按钮统一设计文档
- 修复 story-card 展开失效 bug
- 为每条 AI 消息添加完整功能按钮组
- 采用方案 A:在现有单文件组件内修复 + 扩展
|
2026-06-27 20:40:37 +08:00 |
|
peanut
|
591f70a2f6
|
docs: 批量更新历史文档中的 backend-single 引用为 server
|
2026-06-27 17:27:27 +08:00 |
|
peanut
|
4b235fa5d3
|
docs:短信登录开关与通用系统配置设计文档
|
2026-06-27 10:09:24 +08:00 |
|
peanut
|
1900ba6efc
|
docs:添加标签按钮简化与自定义弹窗设计
|
2026-06-24 22:31:54 +08:00 |
|
peanut
|
1cdee47f3a
|
docs:小程序编辑资料页性格标签与兴趣爱好库扩展设计
|
2026-06-24 21:20:41 +08:00 |
|
peanut
|
6b6af757d0
|
docs:ScriptView 对话结果页 UI 调整设计文档
|
2026-06-23 22:49:15 +08:00 |
|
peanut
|
a00ce0bf95
|
docs:去除编辑资料页与剧本列表 mock 数据设计文档
|
2026-06-23 22:14:31 +08:00 |
|
peanut
|
41ed8257f6
|
docs:小程序编辑资料页昵称必填提示优化设计文档
|
2026-06-23 21:29:54 +08:00 |
|
peanut
|
49f73679d0
|
docs:个人信息组件合并设计文档
|
2026-06-15 10:43:42 +08:00 |
|
peanut
|
d710f529fc
|
docs:补充人生轨迹详情页操作区调整设计
|
2026-06-09 22:51:46 +08:00 |
|
peanut
|
55f06e8caf
|
docs: add user profile real data design spec
|
2026-06-04 00:39:50 +08:00 |
|
peanut
|
a6dcc0843d
|
docs: add mine view dynamic data design spec
|
2026-06-04 00:34:48 +08:00 |
|
peanut
|
8ded0cc3ad
|
docs: add login route fix design spec
|
2026-06-04 00:17:55 +08:00 |
|
peanut
|
82c308b40a
|
docs: 修复 spec 评审 Round 2 发现的 1 P0 编译错误 + 3 P2 一致性问题
P0 编译错误:
- MediaType.includesCompatibleWith() 不存在于 Spring Framework
改为 MediaType.APPLICATION_JSON.isCompatibleWith(contentType)
(避免实现阶段 mvn 编译直接阻塞)
P2 一致性:
- WechatResponseErrorHandler 类注释第 1 条错误('显式重写返回 true')
改为正确的 '委托父类 4xx/5xx 判断'
- hasError() 方法内联注释自相矛盾
改为正确的 '委托父类 DefaultResponseErrorHandler.hasError()'
- GlobalExceptionHandler.handleWechatApiException rawBody 日志未脱敏
(Interceptor 已脱敏响应 body,但 rawBody 字段在异常对象中再次传递会绕过脱敏)
新增 desensitizeForLog() 方法复用正则,覆盖 code 字段(authorization code 也需脱敏)
- 移除 @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
(与现有 BusinessException handler 不一致;HTTP 层统一返回 200,业务错误由 Result.code 表达)
|
2026-06-03 07:42:59 +08:00 |
|
peanut
|
13f773f3f0
|
docs: 修复 spec 评审 17 个问题(4 P0 阻塞 + 7 P1 重要 + 6 P2 次要)
P0(阻塞):
- BufferingClientHttpRequestFactory 解决响应体流被消费破坏其他 7 个使用点
- WechatApiException 显式 handler 避免泄露原始错误消息给前端
- LoggingInterceptor 脱敏 session_key/openid/unionid 解决敏感信息泄露
- WechatResponseErrorHandler 显式重写 hasError 避免流消费冲突
P1(重要):
- 包结构统一(LoggingInterceptor → interceptor 包,ErrorHandler → config 包)
- WechatApiException 用 HTTP 风格错误码(400/500/502)替代负数
- app-id/app-secret 一致性:都删除硬编码默认值
- WAF 验证改为后端日志验证 UA(不再用 Postman)
- 列出 7 个其他 RestTemplate 使用点逐一评估
P2(次要):
- body 日志改 DEBUG(生产 INFO 不打印)
- 统一 [WeChatAPI] 日志前缀便于 grep
- rawBody 不放在 DTO(保持纯 DTO)
- 增加回滚方案说明
|
2026-06-03 07:35:50 +08:00 |
|
peanut
|
5631f22566
|
docs: 修复微信小程序登录 text/plain 错误设计文档(WAF 拦截 + 凭据硬编码)
|
2026-06-03 07:28:30 +08:00 |
|
deploy-bot
|
85ba685bba
|
docs: 修复 spec 评审 3 发现的 3 个问题(步骤 3 两段式、domain 结构校验、步骤 4 warning+步骤 5 验证 default)
|
2026-06-02 21:52:04 +08:00 |
|
deploy-bot
|
78e97f6fee
|
docs: 修复 spec 评审 7 个问题(test 命令、失败短路、变量校验等)
|
2026-06-02 21:43:57 +08:00 |
|
deploy-bot
|
f6b3ba2d8c
|
docs: 添加 nginx 站点启用超时修复设计文档
|
2026-06-02 21:41:07 +08:00 |
|
peanut
|
2189ed24e6
|
docs: refine wechat auth design and plan
|
2026-05-31 23:37:02 +08:00 |
|
peanut
|
9f829acb0e
|
docs: add mini program wechat auth design
|
2026-05-31 23:22:25 +08:00 |
|
peanut
|
763e1df662
|
docs: 调用日志列表增加用户字段设计文档
|
2026-05-25 20:52:05 +08:00 |
|
peanut
|
6e5a379bef
|
docs: 补充 AI 打字机输出、小程序灵感卡片、脚本主页布局等设计文档和计划
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-24 18:39:26 +08:00 |
|
peanut
|
72faa34954
|
docs: 修复第四轮 spec review 问题,定稿设计文档
- 删除 LogQueryParams 重复定义
- JSON 高亮改为无依赖正则方案(highlight.js 未安装)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-24 11:38:20 +08:00 |
|
peanut
|
03dfdd13fa
|
docs: 修复第三轮 spec review 问题
- Service 返回 PageResult,内部做 Page 转换
- 修正展开行预览截断逻辑(lastIndexOf)
- PageResult 类型移至 types/common.ts
- 明确旧 GET 接口保留策略
- 弹窗增加响应式、ESC/遮罩关闭、错误信息格式
- 补充 keyword SQL 注入安全和大小写说明
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-24 11:37:13 +08:00 |
|
peanut
|
90fca4922e
|
docs: 修复第二轮 spec review 问题
- 分页返回类型改为 PageResult
- JSON 高亮改为 highlight.js
- 补充 Service 接口变更、前端类型定义、分页适配
- 修正展开行预览截断逻辑
- 明确旧接口共存策略、下拉数据来源、时间边界
- 补充 Request 存放路径、keyword 空值处理
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-24 11:35:26 +08:00 |
|