|
@@ -1,40 +1,87 @@
|
|
|
-# 前端当前的接口调用点(含老接口清单)
|
|
|
|
|
|
|
+# 还在用老接口的功能(按功能清点)
|
|
|
|
|
|
|
|
-> **核对时间**:2026-09-17(Session 036)
|
|
|
|
|
-> **怎么核对的**:全仓库 grep 所有 `fetch(` / `WebSocket` / `EventSource`,
|
|
|
|
|
-> 再**逐个反查调用方**判断是否还活着——「代码里写着」不等于「还在调用」。
|
|
|
|
|
-> 复核方法写在文末,可重跑。
|
|
|
|
|
|
|
+> **核对时间**:2026-09-17(Session 036/037)
|
|
|
|
|
+> **核对方法**:全仓库 grep 网络调用点 → **逐个反查调用方** → 再看它支撑了哪些
|
|
|
|
|
+> 用户能感知的行为。复核命令见文末,可重跑。
|
|
|
|
|
+
|
|
|
|
|
+老接口 = `{VITE_API}`(`//qingpu-data-api.metamaker.cn`)。
|
|
|
|
|
|
|
|
## 一、已经迁到新接口的(不用管)
|
|
## 一、已经迁到新接口的(不用管)
|
|
|
|
|
|
|
|
-| 功能 | 接口 | 基址 |
|
|
|
|
|
|
|
+对话(`POST /api/chat`,SSE)、会话列表 / 历史 / 改名 / 删除、点赞点踩的**落库**(DMS 1887/1889)、
|
|
|
|
|
+政策卡片与协议内容(随 `/api/chat` 下发)、惠企政策库数据(静态 json)。
|
|
|
|
|
+
|
|
|
|
|
+## 二、还在用老接口的功能
|
|
|
|
|
+
|
|
|
|
|
+### 1. 企业身份识别(登录 + 拉企业信息)—— **在用,且牵连最广**
|
|
|
|
|
+
|
|
|
|
|
+**用户看到什么**:右上角账号区。未登录显示「青浦区区内企业登录」(可点,跳一网通办),
|
|
|
|
|
+登录后显示**企业名 + 首字母头像 + 退出登录**,还会飘一个气泡「识别到您为我们区内企业,推荐登录」。
|
|
|
|
|
+
|
|
|
|
|
+**怎么走到老接口**:
|
|
|
|
|
+| 入口 | 接口 |
|
|
|
|
|
+|---|---|
|
|
|
|
|
+| 从一网通办带 `?access_token=` 跳回来 | `POST /enterprise/login` 换 `credit_code` + `authToken` |
|
|
|
|
|
+| 带 `?credit_code=` 跳回来 | `GET /fta_ent_policy/enterprise_info` 直接拉企业信息 |
|
|
|
|
|
+
|
|
|
|
|
+**这个身份一共被 5 处依赖**(所以它不只是"显示个名字"):
|
|
|
|
|
+1. 账号区显示企业名与头像
|
|
|
|
|
+2. 判断"是否登录"(`isEnterpriseLoggedIn`)
|
|
|
|
|
+3. **历史数据分家**:登录 → `ba_chat_history`;访客 → `ba_temp_chat_history`
|
|
|
|
|
+4. **会话列表**:登录后按 credit_code 拉远端会话(现走 DMS)
|
|
|
|
|
+5. **DMS 记录归属**:`c_credit_code` = 企业信用代码,未登录则 `访客_<访客id>`
|
|
|
|
|
+
|
|
|
|
|
+> ⚠️ 前端**只用企业信息的 `name` 与 `credit_code` 两个字段**(其余 19 个字段零引用)——
|
|
|
|
|
+> 所以真要用 DMS 的企业信息(栏目 1888)替换它,成本很低。
|
|
|
|
|
+
|
|
|
|
|
+### 2. 使用统计(页面浏览 / 回答反馈)—— **在用,且与 DMS 双写**
|
|
|
|
|
+
|
|
|
|
|
+| 埋点 | 用户什么时候触发 | 上报内容 |
|
|
|
|---|---|---|
|
|
|---|---|---|
|
|
|
-| 对话(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** |
|
|
|
|
|
-
|
|
|
|
|
-## 三、**已经没有调用方**的老接口代码(死代码)
|
|
|
|
|
-
|
|
|
|
|
-| 位置 | 内容 | 说明 |
|
|
|
|
|
|
|
+| 页面浏览 | 打开页面(`onMounted`) | `visitor_id`(localStorage 里的访客 id)、`business_code`(= policyMode)、`env`(= 构建 mode) |
|
|
|
|
|
+| 回答反馈 | **点赞 / 点踩 / 取消** | 同上 + 反馈内容 |
|
|
|
|
|
+
|
|
|
|
|
+- 接口:`POST {统计基址}/assistant_statistics/page_view`、`/assistant_statistics/feedback`
|
|
|
|
|
+- 基址取 `VITE_ASSISTANT_STATISTICS_BASE_URL`(**只有 `.env.qingpu` 配了**),否则回退 `VITE_API`
|
|
|
|
|
+- ⚠️ **点赞是双写**:既写 DMS 的 `c_feedback_*`(业务数据),又发统计接口(运营数据)
|
|
|
|
|
+
|
|
|
|
|
+### 3. 语音输入 —— **在用**
|
|
|
|
|
+
|
|
|
|
|
+- 触发:点输入框的麦克风
|
|
|
|
|
+- 接口:`{VITE_ASR}/api/human_asr/v2/asr/gen_auth` 取鉴权,再开 WebSocket 走识别流
|
|
|
|
|
+- 与对话协议无关,本轮迁移没碰它
|
|
|
|
|
+
|
|
|
|
|
+### 4. 图片 / 附件上传 —— **用户触发不到(入口被注释)**
|
|
|
|
|
+
|
|
|
|
|
+- 原设计:输入框的上传按钮(图片、pdf/doc/xlsx 等)→ `POST /common/qp_signed_url`
|
|
|
|
|
+ 取 OSS 签名 → 直传 OSS
|
|
|
|
|
+- 现状:新协议 `/api/chat` 只收 `{thread_id, question}`,附件传不上去,
|
|
|
|
|
+ **上传入口整块被注释**(`BusinessAssistantMobileInputShell.vue` 里有说明)
|
|
|
|
|
+- 但代码与 OSS 地址仍活着(地址还是**硬编码**在 `useBusinessAssistantUpload.ts` 里的),
|
|
|
|
|
+ 等后端定了附件契约才能接上
|
|
|
|
|
+
|
|
|
|
|
+### 5. 政策事项列表的「远端查询」—— **几乎不可达**
|
|
|
|
|
+
|
|
|
|
|
+- 原设计:列表数据本地都没有时,去模型服务查 `{VITE_MODEL_SERVER}/v1/policies`
|
|
|
|
|
+- 现状:`fetchPolicyList` 里前面两档(惠企政策库 262 条 / 本轮卡片兜底)**几乎总能命中**,
|
|
|
|
|
+ 第三档基本走不到
|
|
|
|
|
+
|
|
|
|
|
+### 6. `openid` 换 token —— **只在 test 构建**
|
|
|
|
|
+
|
|
|
|
|
+- 触发:页面初始化的内联脚本
|
|
|
|
|
+- 现状:只在 `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 历史)才可能触发 |
|
|
|
|
|
|
|
+| `src/network/api/card/index.js` 的 `getMediaList` | 卡片里的媒体文件信息(图片/附件的展示) | 无调用方 |
|
|
|
|
|
+| 同上的 `giveFeedback` | 点赞点踩**落库**(旧接口版) | 反馈改走 DMS 后,最后一个调用点消失 |
|
|
|
|
|
+| 同上的 `appendHistory` | 把每轮问答追加到服务端历史 | 早就注释掉了,历史改由接口的 `enable_history` 控制 |
|
|
|
|
|
+| `useBusinessAssistantChat.ts:2` 的 `import cardAPI` | — | **未使用的 import**,是上面这个模块唯一的引用 |
|
|
|
|
|
+| `PolicyListUpdatedMatch.vue` | 旧协议 `<policy-list-updated>` 卡片列表 | 仍被 `BusinessRecord` 挂载,但**新协议不再产出这种块**,只有旧历史内容可能触发 |
|
|
|
|
|
|
|
|
-> ⚠️ 上面这些**没有删除**,只是标明「没人调」。要清理另开一轮,且需确认没有历史数据依赖。
|
|
|
|
|
|
|
+> 清理这些要另开一轮,并先确认没有旧数据依赖。
|
|
|
|
|
|
|
|
## 四、复核方法(可重跑)
|
|
## 四、复核方法(可重跑)
|
|
|
|
|
|
|
@@ -49,5 +96,5 @@ grep -rn "getMediaList\|giveFeedback\|appendHistory\|network/api/card" src/ \
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
**判据**:出现在第 1 步 ≠ 还在用。必须做第 2 步——**没有调用方的就是死代码**。
|
|
**判据**:出现在第 1 步 ≠ 还在用。必须做第 2 步——**没有调用方的就是死代码**。
|
|
|
-本清单第二节的「什么时候走」也是这么一个个查出来的(例如 modelServer 那条要看
|
|
|
|
|
-`fetchPolicyList` 前面的两档 return 才能判断它几乎走不到)。
|
|
|
|
|
|
|
+第二节每条的「触发条件」也是这么查的(例如第 5 条要看 `fetchPolicyList` 前面两档 return
|
|
|
|
|
+才能判断它几乎走不到)。
|