chore(root): 收纳根目录调试产物与项目级文件
**项目级文件**: - configs/mkdocs.yml mkdocs 站点配置 - jumpserver-webcli/ANALYSIS.md webcli 调试分析报告 - jumpserver-webcli/CHANGELOG.md webcli 变更日志 - jumpserver-webcli/deploy_0802_*.txt 0802 部署调试输出(4 个) - jumpserver-webcli/diag_0802_*.txt 0802 诊断输出(3 个) - jumpserver-webcli/diag_184715.txt 18:47:15 诊断输出 - tests/test_quick_rules.py quick_rules API 测试 - temp/ 临时调试脚本目录(5 个:check_tables + 调试 + rename_dzpc + ts-check + inspect_batch) **交付报告**: - overview.md 「结束会话失败」修复交付报告(2026-07-30,ChatPanel.vue 三件套修复) **会话调试上下文**: - dedup_context.txt / dedup2.txt 去重调试上下文 - pattern_check.txt / pattern_context.txt 模式检查 - option_button_context.txt / option_select_context.txt 选项按钮/选择上下文 - qid.txt 会话 ID 记录 - yixuan_context.txt 艺璇任务上下文 - final_check.txt 最终检查 **部署脚本输出**: - deploy_v11.txt / deploy_h5_v11.txt v11 部署命令输出 合计 27 文件(含 1 项目文档 + 22 调试上下文 + 4 jumpserver webcli 调试 + 1 mkdocs 配置 + 1 测试 + 1 temp/ + 2 部署输出)
This commit is contained in:
@@ -0,0 +1 @@
|
||||
lete(de)}}function re(A){var Y,de;if(P.value.has(A.message_id)){console.log(`[H5 WS去重] 跳过重复消息: ${A.message_id}`);return}if(console.log("[H5 WS] 收到 new_message:",{message_id:A.message_id,sender_type:A.sender_type,content:(Y=A.content)==null?void 0:Y.substring(0,40),msg_type:A.msg_type,lastSentOptionContent:$e.value,current_conv_id:(de=t.value)==null?void 0:de.conversation_id,data_conv_id:A.conversation_id}),A.sender_type==="employee"&&A.content===$e.value&&$e.value!==""){console.log(`[H5 WS去重] 跳过选项选择广播消息: ${A.message_id}, content: ${A.content}`),ae(A.message_id),$e.value="";return}ae(A.message_id),n.value.push({message_id:A.message_id,conversation_id:A.conversation_id,message_type:A.sender_type||"system",msg_type:A.msg_type||"text",content:typeof A.content=="string"?A.content:A.content?JSON.stringify(A.content):"",sender_name:A.sender_name||"",media_url:A.media_url,file_name:A.file_name,file_size:A.file_size,extra_data:A.extra_data,reply_to_id:A.reply_to_id,created_at:A.created_at||new Date().toISOString()}),f.value=A.message_id}async function ce(A,Y){await Rt().handleOAuthCallback(A,Y)}async function Re(){try{const A=Rt();A.employeeInfo&&(e.value={employee_id:A.employeeInfo.employee_id,employee_name:A.employeeInfo.employee_name,department:A.employeeInfo.department,position:A.employeeInfo.position,level:"",is_vip:A.employeeInfo.is_vip,avatar_url:A.employeeInfo.avatar});const Y=await Hw();e.value=Y,console.log("[Store] 获取用户信息成功:",Y.employee_name)}catch(A){throw console.error("[Store] 获取用户信息失败:",A),A}}async function ke(){try{const A=await Ww();t.value=A,i.value=(A==null?void 0:A.can_call_agent)??!1,y.value=(A==null?void 0:A.participants)||[],console.log("[Store] 获取当前会话:",A?A.conversation_id:"无活跃会话","参与者:",y.value.length)}catch(A){console.error("[Store] 获取当前会话失败:",A)}}async function oe(A,Y){var it,Mt,Gt,Jt;if(console.log("[Store] sendNewMessage 开始执行, content:",A,"options:",Y),!A.trim()){console.warn("[Store] content 为空,直接返回");return}const de=Rt(),xe=`temp_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,Ie={message_id:xe,conversation_id:((it=t.value)==null?void 0:it.conversation_id)||"",message_type:"employee",msg_type:(Y==null?void 0:Y.msg_type)||"text",content:A.trim(),sender_name:de.employeeName||"我",created_at:new Date().toISOString(),status:"sending"};n.value.push(Ie),console.log("[Store] 乐观更新:临时消息已添加到列表, tempMessageId:",xe),s.value=!0;try{const Ge={content:A.trim()};Y!=null&&Y.msg_type&&(Ge.msg_type=Y.msg_type,Ge.media_url=Y.media_url,Ge.file_name
|
||||
Reference in New Issue
Block a user