Pārlūkot izejas kodu

[Fix R4-M1] 点选解读 SSE 补 X-Access-Token(重放 fix/base-agent-token M1,保留令牌可选语义)

lizuo 2 nedēļas atpakaļ
vecāks
revīzija
dce7abdd65
1 mainītis faili ar 13 papildinājumiem un 1 dzēšanām
  1. 13 1
      src/views/ventAI/dataPicker/api.ts

+ 13 - 1
src/views/ventAI/dataPicker/api.ts

@@ -1,5 +1,7 @@
 import { consumeSse } from '/@/views/ventAI/manageAssistent/api/sse';
 import type { SSERawEvent } from './types';
+// [审计-第四轮 M1] 重放自我方 fix/base-agent-token(M1/M2/M3):取基座登录态的令牌(与对话链路 manageAssistent/api/client.ts 同源)
+import { getToken } from '/@/utils/auth';
 
 enum Api {
   clickTun = '/ventAI/api/interpret/click/tun',
@@ -40,7 +42,17 @@ async function ssePost(
 ): Promise<{ thread_id: string; session_id: string }> {
   const response = await fetch(url, {
     method: 'POST',
-    headers: { 'Content-Type': 'application/json' },
+    headers: {
+      'Content-Type': 'application/json',
+      // [审计-第四轮 M1] 重放自我方 fix/base-agent-token(M1/M2/M3)
+      // 原行为:点选解读不带令牌,是基座里唯一一条「匿名」调 TfAgents 的路径,
+      //         消耗只能记到兜底账号 click-anonymous,无法按登录人记账。
+      // 现行为:补上与对话链路同名的请求头(TfAgents 侧读小写 x-access-token,HTTP 头不区分大小写)。
+      // 为什么:恢复按登录人记账归因。
+      // ⚠️ 令牌是「可选」语义:getToken() 为空时仍照常发请求(TfAgents 侧有 click-anonymous 兜底),
+      //    禁止加「未登录就拦截/跳登录」的判断(我方 D5 决策)——那会把未登录场景直接变成不可用。
+      'X-Access-Token': getToken(),
+    },
     body: JSON.stringify(body),
   });