当前位置: 首页 > news >正文

典籍知识问答重新生成和消息修改Bug修改

1.Bug:

{messageId: "temp-user-1747051925999",…} messageId : "temp-user-1747051925999" newContent : "关于选中的内容:\"The ancient people lived long by following natural laws\",我的问题是:翻译成法文是什么意思\n"  负载是这个

{ "timestamp": "2025-05-12T12:17:39.268+00:00", "status": 400, "error": "Bad Request", "path": "/api/qa/stream-edit" } 响应是这个

2.错误原因

用户消息的ID在创建时是临时的,但在流式响应中未正确更新为持久化ID。

3.修改代码

// 修改流式响应处理部分
while (true) {
  const { done, value } = await reader.read();
  if (done) break;

  buffer += decoder.decode(value, { stream: true });
  const lines = buffer.split('\n');
  buffer = lines.pop() || '';

  for (const line of lines) {
    // 捕获持久化ID事件
    if (line.startsWith('event: START')) {
      const persistedId = line.replace('event: START\ndata:', '').trim();
      // 更新临时消息ID
      const tempMsg = currentMessages.value.find(m => m.id === aiMsg.id);
      if (tempMsg) {
        tempMsg.id = persistedId; // 更新为真实ID
        tempMsg.temp = false;     // 移除临时标记
        currentMessages.value = [...currentMessages.value]; // 触发响应式更新
      }
    }
    // 原有内容
  }
}

// 修改编辑消息方法
const saveEdit = async (msgId) => {
  if (isSavingEdit.value) return;
  
  // 新增ID有效性检查
  if (msgId.startsWith('temp-')) {
    alert('请等待消息生成完成后再操作');
    return;
  }

  isSavingEdit.value = true;
  try {
    await qastore.editMessage(msgId, editingStates.value[msgId].editedContent);
    editingStates.value[msgId].editing = false;
  } finally {
    isSavingEdit.value = false;
  }
}

//原有内容

相关文章:

  • Linux `man` 指令终极指南
  • 【Python】UV:单脚本依赖管理
  • GitDiagram - GitHub 仓库可视化工具
  • WordPress 网站上的 jpg、png 和 WebP 图片插件
  • C++23 中的 views::stride:让范围操作更灵活
  • 5.5.1 WPF中的动画2-基于路径的动画
  • 用python清除PDF文件中的水印(Adobe Acrobat 无法删除)
  • python可视化:2025Q1北方游客量与客运流动分析3
  • 设计模式之中介者模式
  • 基于STM32、HAL库的CH342F USB转UART收发器 驱动程序设计
  • 人工智能时代:解锁职业新身份,从“认证师”到“工程师”的进阶之路
  • 电商物流管理优化:从网络重构到成本管控的全链路解析
  • 【Linux笔记】——进程信号的保存
  • JVM对象头中的锁信息机制详解
  • Linux 软件包|服务管理
  • ESP32开发入门(九):HTTP服务器开发实践
  • 请求参数:Header 参数,Body 参数,Path 参数,Query 参数分别是什么意思,什么样的,分别通过哪个注解获取其中的信息
  • 【Leetcode】系列之206反转链表
  • 需求变更控制不严,如何防止项目范围扩大
  • Express知识框架
  • 消费维权周报|上周涉手机投诉较多,涉拍照模糊、屏幕漏液等
  • 75万采购防火墙实为299元路由器?重庆三峡学院发布终止公告:出现违法违规行为
  • 瑞士联邦主席凯勒-祖特尔、联邦副主席帕姆兰会见何立峰
  • 丹麦召见美外交官,强调“不能容忍”美在格陵兰岛间谍活动
  • 东亚社会的“苦难诗学”:从《苦尽柑来遇见你》说起
  • 欧派家居:一季度营收降4.8%,目前海外业务整体体量仍较小