Ver Fonte

docs(harness): 清点当前还在用老接口的功能,落成清单

用户问「当前项目还有哪些功能在使用老接口」。全仓库 grep 所有网络调用点后,
**逐个反查调用方**判断死活(判据:出现在 grep 里 ≠ 还在用),结论写进
docs/reference/current-api-call-sites.md(含可重跑的复核命令)。

仍在用老接口({VITE_API} = //qingpu-data-api.metamaker.cn):
- 企业登录 /enterprise/login、企业信息 /fta_ent_policy/enterprise_info
  (useEnterpriseAuth,分别走 ?access_token= 与 ?credit_code= 两条分支)
- 统计埋点 page_view / feedback(BusinessAssistant、BusinessRecord 双写)
- ASR(gen_auth + WebSocket,语音输入)
- OSS 上传(签名 + 直传)—— 代码活着但**入口被注释**,用户触发不到
- {VITE_MODEL_SERVER}/v1/policies —— **几乎不可达**(fetchPolicyList 前两档
  惠企政策库/卡片兜底几乎总能命中)
- openid_to_token(index.html 内联)—— **只在 .env.test**(唯一
  VITE_USE_KNOWLEDGE_API=false 的环境)

已无调用方的死代码(只标注、未删除):
- src/network/api/card/index.js 的 getMediaList / giveFeedback / appendHistory
  三个函数都没调用方(反馈切 DMS 后最后一个调用点消失);目前只剩
  useBusinessAssistantChat.ts:2 一个未使用的 import
- PolicyListUpdatedMatch.vue 仍挂在 BusinessRecord 上,但新协议不再产出
  policy-list-updated 块,只有旧历史内容可能触发

验证:每个「仍在用」条目都反查到了调用方与触发条件;validate-harness 通过。

Co-Authored-By: Claude Code <noreply@anthropic.com>
gongtianxiao há 3 dias atrás
pai
commit
f3239d77f4

+ 1 - 0
harness/docs/reference/README.md

@@ -13,6 +13,7 @@
 | `DMS_API.md` | 📄 **外部服务契约**(含实测结论) | 要调 DMS(数据管理服务)时 |
 | `DMS_API.md` | 📄 **外部服务契约**(含实测结论) | 要调 DMS(数据管理服务)时 |
 | `DMS_COLUMNS.md` | 📄 **栏目现状** | 查 DMS 五个栏目的 columnId / 字段时 |
 | `DMS_COLUMNS.md` | 📄 **栏目现状** | 查 DMS 五个栏目的 columnId / 字段时 |
 | `DMS_MAPPING.md` | 📄 **表→栏目映射** | 做数据迁移、核对字段映射时 |
 | `DMS_MAPPING.md` | 📄 **表→栏目映射** | 做数据迁移、核对字段映射时 |
+| `current-api-call-sites.md` | 📋 **现状清单** | 想知道「还有哪些功能在用老接口 / 哪些是死代码」时 |
 
 
 > **DMS 三份文档的来路**:它们出自**另一个项目**
 > **DMS 三份文档的来路**:它们出自**另一个项目**
 > `F:\yysk\AI_zhaoshang\DMS_Data_Migration\`(那边有 `harness/artifacts/dms_openapi.json`、
 > `F:\yysk\AI_zhaoshang\DMS_Data_Migration\`(那边有 `harness/artifacts/dms_openapi.json`、

+ 53 - 0
harness/docs/reference/current-api-call-sites.md

@@ -0,0 +1,53 @@
+# 前端当前的接口调用点(含老接口清单)
+
+> **核对时间**:2026-09-17(Session 036)
+> **怎么核对的**:全仓库 grep 所有 `fetch(` / `WebSocket` / `EventSource`,
+> 再**逐个反查调用方**判断是否还活着——「代码里写着」不等于「还在调用」。
+> 复核方法写在文末,可重跑。
+
+## 一、已经迁到新接口的(不用管)
+
+| 功能 | 接口 | 基址 |
+|---|---|---|
+| 对话(SSE) | `POST {VITE_CHAT_API}/api/chat` | `VITE_CHAT_API`(dev 走 `/chat-api` 代理) |
+| 会话列表 / 历史 / 改名 / 删除 | DMS 栏目 1887 / 1889 | `VITE_DMS_API`(dev 走 `/dms-api` 代理) |
+| 反馈(赞/踩) | DMS 1889 的 `c_feedback_*` | 同上 |
+| 惠企政策库数据 | 静态文件 `policies_public.v1.json` | `VITE_DOWNLOAD_URL` + 本地兜底 |
+| 政策卡片 / 协议内容 | 随 `POST /api/chat` 下发 | — |
+
+## 二、**还在用老接口**的(`{VITE_API}` = `//qingpu-data-api.metamaker.cn`)
+
+| # | 接口 | 调用方 | 什么时候走 |
+|---|---|---|---|
+| 1 | `POST /enterprise/login` | `useEnterpriseAuth.initAuth` | URL 带 `?access_token=` 时换 credit_code + token |
+| 2 | `GET /fta_ent_policy/enterprise_info` | `useEnterpriseAuth.initAuthWithCreditCode` | URL 带 `?credit_code=` 时拉企业信息 |
+| 3 | `POST /assistant_statistics/page_view`、`/assistant_statistics/feedback` | `BusinessAssistant.vue`(页面浏览)、`BusinessRecord.vue`(反馈) | 打开页面 / 点赞点踩时**双写**(DMS 与统计各写一份) |
+| 4 | OSS 上传:`POST /common/qp_signed_url` 取签名 + 直传 OSS | `useBusinessAssistantUpload` | **入口被注释**(上传按钮隐藏)→ 代码活着但用户触发不到 |
+| 5 | ASR:`{VITE_ASR}/api/human_asr/v2/asr/gen_auth` + WebSocket | `BusinessAssistantPC/Mobile` | 语音输入时 |
+| 6 | `{VITE_MODEL_SERVER}/v1/policies`(政策列表查询) | `PolicyMatch.fetchPolicyList` | **几乎不可达**:前面两档(惠企政策库 / 本轮卡片兜底)几乎总能命中,见 `PolicyMatch.vue` 的 `fetchPolicyList` |
+| 7 | `POST {modelServer}/open/openid_to_token` | `index.html` 内联脚本 | **仅 `VITE_USE_KNOWLEDGE_API=false` 时**——四份 env 里**只有 `.env.test` 是 false** |
+
+## 三、**已经没有调用方**的老接口代码(死代码)
+
+| 位置 | 内容 | 说明 |
+|---|---|---|
+| `src/network/api/card/index.js` | `getMediaList`(`GET /dialog/file_info`)、`giveFeedback`(`POST /chat/feedback`)、`appendHistory`(`POST /dialog|knowledge/append_history`) | **三个函数都没有调用方**:反馈切 DMS 后最后一个调用点消失。目前只剩 `useBusinessAssistantChat.ts:2` 一个**未使用的 import** |
+| `src/components/Chat/PolicyListUpdatedMatch.vue` | 组件内的 `fetch(cleanLink)` | 仍被 `BusinessRecord.vue:148` 挂载,但**新协议不再产出 `policy-list-updated` 块**,只有旧内容(老 localStorage 历史)才可能触发 |
+
+> ⚠️ 上面这些**没有删除**,只是标明「没人调」。要清理另开一轮,且需确认没有历史数据依赖。
+
+## 四、复核方法(可重跑)
+
+```bash
+# 1. 列出所有网络调用点
+grep -rn "fetch(\|new WebSocket\|new EventSource\|axios" src/ index.html \
+  --include=*.ts --include=*.vue --include=*.js --include=*.html
+
+# 2. 对每个点反查调用方(以 card/index.js 为例)
+grep -rn "getMediaList\|giveFeedback\|appendHistory\|network/api/card" src/ \
+  --include=*.ts --include=*.vue --include=*.js | grep -v "^src/network/api/card/index.js"
+```
+
+**判据**:出现在第 1 步 ≠ 还在用。必须做第 2 步——**没有调用方的就是死代码**。
+本清单第二节的「什么时候走」也是这么一个个查出来的(例如 modelServer 那条要看
+`fetchPolicyList` 前面的两档 return 才能判断它几乎走不到)。

+ 37 - 0
harness/progress.md

@@ -1573,3 +1573,40 @@
 - **下一步最佳动作**:无(本轮为文档整理)
 - **下一步最佳动作**:无(本轮为文档整理)
 - **补充**:同轮给 `validate-harness.mjs` 加了**正序校验**(会话编号必须升序),并**实测能抓到乱序**——故意把最新一条插到开头,校验器立刻报出「Session 035 之后跟了 Session 000」。测试后已恢复正序
 - **补充**:同轮给 `validate-harness.mjs` 加了**正序校验**(会话编号必须升序),并**实测能抓到乱序**——故意把最新一条插到开头,校验器立刻报出「Session 035 之后跟了 Session 000」。测试后已恢复正序
 
 
+## Session 036
+
+- **日期**:2026-09-17
+- **本轮目标**:用户问「当前项目还有哪些功能使用的是老接口」
+- **已完成**:
+  - 全仓库 grep 所有网络调用点,再**逐个反查调用方**判断死活
+    (判据:出现在 grep 里 ≠ 还在用,必须查有没有调用方)
+  - **结论落到仓库**:新建 `docs/reference/current-api-call-sites.md`,分三类列出
+    (已迁新接口 / 仍在用老接口 / 已无调用方的死代码),并在 `reference/README.md` 索引里登记
+- **主要发现**:
+  - **仍在用老接口(活)**:企业登录 `/enterprise/login`、企业信息 `/fta_ent_policy/enterprise_info`、
+    统计埋点(page_view / feedback)、ASR、OSS 上传(**入口被注释**,用户触发不到)
+  - **几乎不可达**:`{VITE_MODEL_SERVER}/v1/policies` —— `fetchPolicyList` 前面两档
+    (惠企政策库 / 本轮卡片兜底)几乎总能命中
+  - **只在 test 环境**:`openid_to_token`(四份 env 里只有 `.env.test` 的
+    `VITE_USE_KNOWLEDGE_API=false`)
+  - **死代码**:`src/network/api/card/index.js` 的三个函数
+    (`getMediaList` / `giveFeedback` / `appendHistory`)**都没有调用方**——
+    反馈切 DMS 后最后一个调用点消失;目前只剩 `useBusinessAssistantChat.ts:2`
+    一个**未使用的 import**
+  - `PolicyListUpdatedMatch.vue` 仍挂在 BusinessRecord 上,但新协议不再产出
+    `policy-list-updated` 块,只有旧历史内容可能触发
+- **运行过的验证**:
+  - 每个「仍在用」的条目都反查到了具体调用方与触发条件(写进了清单的「什么时候走」列)
+  - `node harness/tools/validate-harness.mjs` 通过
+- **已记录证据**:本文件 Session 036;`docs/reference/current-api-call-sites.md`(含可重跑的复核命令)
+- **更新过的文件或工件**:`harness/docs/reference/current-api-call-sites.md`(新增)、
+  `harness/docs/reference/README.md`、本文件
+- **已知风险或未解决问题**:
+  - ⚠️ 死代码(card/index.js 等)**没有删除**,只标明了「没人调」——要清理需另开一轮,
+    并确认没有旧数据/历史内容依赖
+  - ⚠️ 本清单是**快照**,接口会继续迁移;清单里写了可重跑的复核命令,别只信文档
+- **下一步最佳动作**:若要继续收敛老接口,优先级建议:
+  ①企业信息(1888)切 DMS(前端只用到 name/credit_code 两个字段,成本低)
+  ②统计埋点是否收口到 DMS(需产品定)
+  ③清理 card/index.js 死代码与未使用的 import
+