Browse Source

fix(sse): 修复 SSE 鉴权头覆盖问题并同步测试用例文档

- sse.ts authHeaders 仅当调用方未显式提供 Authorization 时才注入管理后台 token,避免覆盖测试面板传入的 SDK Token
- client/README.md、client/CLAUDE.md 同步测试用例数量 22 → 10
master
wanghanlin 6 days ago
parent
commit
b9f91d0903
  1. 2
      client/CLAUDE.md
  2. 8
      client/README.md
  3. 3
      frontend/src/utils/sse.ts

2
client/CLAUDE.md

@ -26,7 +26,7 @@ npm run dev
- 构建工具:Rollup + `@rollup/plugin-typescript` + `@rollup/plugin-terser`,配置见 `rollup.config.js`
- TypeScript 配置:`tsconfig.json`,`target: ES2017`,`strict: true`,`rootDir: ./src`,不生成 `.d.ts`
- 产物双份:`chatbot-sdk.js`(未压缩 + sourcemap,~93KB)和 `chatbot-sdk.min.js`(压缩,~45KB)
- **无测试框架**:验证通过后端的 `http://localhost:9090/sdk/test.html` 运行 22 个浏览器端用例(见 README 第十四节),本工程内没有可运行的自动化测试
- **无测试框架**:验证通过后端的 `http://localhost:9090/sdk/test.html` 运行 10 个浏览器端核心用例(见 README 第十四节),本工程内没有可运行的自动化测试
## 运行时依赖

8
client/README.md

@ -418,10 +418,10 @@ client/
访问 `http://localhost:9090/sdk/test.html` 运行自动化验证。
测试覆盖(22 个用例):
测试覆盖(10 个核心用例):
| 编号 | 阶段 | 功能 |
|------|------|------|
| T1-T13 | P0 | 全局挂载、参数校验、DOM 创建、open/close、默认值、主题色、位置、destroy、缓存、API 对话 |
| T14-T19 | P1 | Markdown 样式、知识库分类切换、RAG 来源样式、RAG SSE 接口、RAG 来源接口、分类树接口 |
| T20-T22 | P2 | 多语言国际化、会话管理面板、会话列表接口 |
| T1-T6 | P0 | 全局加载、参数校验、DOM 创建、open/close、destroy 清理、实际对话 |
| T7-T9 | P1 | SSE 流式接口、RAG 引用来源、知识库分类切换 |
| T10 | P2 | 多语言国际化 |

3
frontend/src/utils/sse.ts

@ -11,7 +11,8 @@ import { getToken } from '@/utils/token'
function authHeaders(extra?: Record<string, string>): Record<string, string> {
const token = getToken()
const base: Record<string, string> = extra ? { ...extra } : {}
if (token) base['Authorization'] = `Bearer ${token}`
// 仅当调用方未显式提供 Authorization 时才注入管理后台 token,避免覆盖调用方传入的鉴权头(如测试面板的 SDK Token)
if (token && !base['Authorization']) base['Authorization'] = `Bearer ${token}`
return base
}

Loading…
Cancel
Save