# 前端历史代码删除清单 > 生成方式:`python scripts/generate_frontend_removal_inventory.py`。本文件基于当前未提交删除集生成;合并前应再次生成并复核。 ## 1. 基线与恢复方式 - 原解析报告识别出 348 个前端未匹配调用,产品确认其主体为已下线后端服务遗留;本轮不重建这些旧接口。 - 当前 Git 删除集包含 174 个前端文件;一个文件可包含多个调用,因此文件数不等于 348 个调用数。 - 原始代码备份:`/Users/maxiaolong/Documents/Codex/2026-07-06/g-i/DataOps-platform-backup-before-cleanup-20260716-170321.tar.gz`。 - SHA-256:`866c6c4aff127f88497a5ddf39ac8d8da93008cc784ae6f276f80a7cd17d4ef0`。 - 恢复优先级:先从 Git 历史恢复单文件;若原始工作区未入库内容缺失,再从上述只读备份提取。禁止将整份备份直接覆盖当前工作区。 ## 2. 删除批次 | 批次 | 范围 | 处置依据 | |---|---|---| | C1 | Vanna、Airflow、模型训练、问卷薪酬、图表定制 | 产品确认整体下线 | | C2 | 数据资源、数据模型、数据指标和旧数据资产原型 | 静态引用与路由复核后确认没有保留链路 | | C3 | 旧数据工厂非 n8n 页面、执行/调度/节点管理 | 执行能力统一由 n8n 提供 | | C4 | 旧系统管理、自助注册、租户、升级管理 | 后续以管理员/编辑者/查看者重建 | | C5 | 不可达公共组件、API 封装和演示页 | 无活跃路由或 import 消费方 | ## 3. 明确保留例外 - n8n 适配页面和 `/api/datafactory/*` 后端代理接口;Workflow 保留为 n8n 原生概念。 - DataFlow 治理定义页面;后续新增一个 DataFlow 对多个 n8n Workflow 版本的映射。 - 数据治理知识库入口和工作台;当前为验收占位,下一阶段补齐真实能力。 - 数据安全入口;当前不宣称已实现安全治理能力。 - HOPMS 数据导入工具及其验收样例。 ## 4. 按目录统计 | 分组 | 删除文件数 | |---|---:| | `views/dataBook` | 22 | | `views/dataGovernance` | 21 | | `views/modelSystem` | 20 | | `views/systemManage` | 20 | | `views/home` | 16 | | `views/dataDiagram` | 15 | | `views/dataOrigin` | 12 | | `components` | 10 | | `views/dataFactory` | 10 | | `views/questionnaireInquiry` | 8 | | `api` | 7 | | `views/dataChart` | 5 | | `views/dataAsset` | 3 | | `views/knowledgeBaseResume` | 2 | | `views/login` | 2 | | `layout` | 1 | ## 5. 合并门禁 1. `npm --prefix frontend run build` 成功。 2. 路由表中不再出现已下线模块,活跃页面无失效 import。 3. `tests/test_cleanup_contract.py`、Docker 静态隔离测试与本地冒烟测试全部通过。 4. 数据安全、治理知识库、工作台、DataFlow 和 n8n 保留入口可访问。 5. 生产数据库不执行删表;仅提交代码和建库脚本清理。 ## 6. 完整删除文件清单 ### api - `frontend/src/api/chartCustomized.js` - `frontend/src/api/dataBook.js` - `frontend/src/api/dataChart.js` - `frontend/src/api/menu.js` - `frontend/src/api/productionLine.js` - `frontend/src/api/report.js` - `frontend/src/api/system.js` ### components - `frontend/src/components/AddToHome/index.vue` - `frontend/src/components/ChartTemplate/humanResource/index.vue` - `frontend/src/components/ChartTemplate/humanResource/showTable.vue` - `frontend/src/components/Common/editPage.vue` - `frontend/src/components/Common/featureSlide.vue` - `frontend/src/components/Knowledge/index.vue` - `frontend/src/components/Knowledge/talk.vue` - `frontend/src/components/TaskProcess/index.vue` - `frontend/src/components/UnifyExport/index.vue` - `frontend/src/components/phoneVerify/index.vue` ### layout - `frontend/src/layout/components/bellDrawer.vue` ### views/dataAsset - `frontend/src/views/dataAsset/components/edit.vue` - `frontend/src/views/dataAsset/details.vue` - `frontend/src/views/dataAsset/index.vue` ### views/dataBook - `frontend/src/views/dataBook/components/common.js` - `frontend/src/views/dataBook/components/mGraphCopy.vue` - `frontend/src/views/dataBook/components/mGraphList.vue` - `frontend/src/views/dataBook/components/mInfo.vue` - `frontend/src/views/dataBook/dataMetaData/components/metaDataTask.vue` - `frontend/src/views/dataBook/dataMetaData/components/metaDomain.vue` - `frontend/src/views/dataBook/dataModel/details.vue` - `frontend/src/views/dataBook/dataModel/dynamic/graph.vue` - `frontend/src/views/dataBook/dataModel/dynamic/info.vue` - `frontend/src/views/dataBook/dataModel/dynamic/lineGraph.vue` - `frontend/src/views/dataBook/dataModel/dynamic/metadata.vue` - `frontend/src/views/dataBook/dataModel/index.vue` - `frontend/src/views/dataBook/dataResource/details.vue` - `frontend/src/views/dataBook/dataResource/dynamic/ddl.vue` - `frontend/src/views/dataBook/dataResource/dynamic/graph.vue` - `frontend/src/views/dataBook/dataResource/dynamic/info.vue` - `frontend/src/views/dataBook/dataResource/dynamic/lineGraph.vue` - `frontend/src/views/dataBook/dataResource/dynamic/metadata.vue` - `frontend/src/views/dataBook/dataResource/index.vue` - `frontend/src/views/dataBook/indicator/details.vue` - `frontend/src/views/dataBook/indicator/dynamic/graph.vue` - `frontend/src/views/dataBook/indicator/index.vue` ### views/dataChart - `frontend/src/views/dataChart/dataChartConversation.vue` - `frontend/src/views/dataChart/dataChartEdit.vue` - `frontend/src/views/dataChart/dataChartEditChat.vue` - `frontend/src/views/dataChart/index.vue` - `frontend/src/views/dataChart/utils/options.js` ### views/dataDiagram - `frontend/src/views/dataDiagram/myChartDiagram/components/chartList.vue` - `frontend/src/views/dataDiagram/myChartDiagram/components/dataField.vue` - `frontend/src/views/dataDiagram/myChartDiagram/components/generalSettings.vue` - `frontend/src/views/dataDiagram/myChartDiagram/components/otherSetting.vue` - `frontend/src/views/dataDiagram/myChartDiagram/components/tableSettings.vue` - `frontend/src/views/dataDiagram/myChartDiagram/components/tableShow.vue` - `frontend/src/views/dataDiagram/myChartDiagram/components/utils/chartList.js` - `frontend/src/views/dataDiagram/myChartDiagram/components/utils/dataDeal.js` - `frontend/src/views/dataDiagram/myChartDiagram/components/utils/getFieldData.js` - `frontend/src/views/dataDiagram/myChartDiagram/edit.vue` - `frontend/src/views/dataDiagram/myChartDiagram/editChart.vue` - `frontend/src/views/dataDiagram/myChartDiagram/index.vue` - `frontend/src/views/dataDiagram/myChartDiagram/utils/chartInit.js` - `frontend/src/views/dataDiagram/teamSharingDiagram/getFieldData.js` - `frontend/src/views/dataDiagram/teamSharingDiagram/index.vue` ### views/dataFactory - `frontend/src/views/dataFactory/components/common/excelUpload/index.vue` - `frontend/src/views/dataFactory/components/graph.vue` - `frontend/src/views/dataFactory/components/logPage.vue` - `frontend/src/views/dataFactory/dispatch/components/dataDispatch.vue` - `frontend/src/views/dataFactory/dispatch/index.vue` - `frontend/src/views/dataFactory/logManage/index.vue` - `frontend/src/views/dataFactory/nodeManage/components/edit.vue` - `frontend/src/views/dataFactory/nodeManage/index.vue` - `frontend/src/views/dataFactory/productionLine/index.vue` - `frontend/src/views/dataFactory/productionLineMonitor/index.vue` ### views/dataGovernance - `frontend/src/views/dataGovernance/components/searchNodes.vue` - `frontend/src/views/dataGovernance/dataIndicator/components/dataList.vue` - `frontend/src/views/dataGovernance/dataIndicator/components/edit.vue` - `frontend/src/views/dataGovernance/dataIndicator/components/editBase.vue` - `frontend/src/views/dataGovernance/dataIndicator/components/indicatorList.vue` - `frontend/src/views/dataGovernance/dataIndicator/index.vue` - `frontend/src/views/dataGovernance/dataModules/components/dataList.vue` - `frontend/src/views/dataGovernance/dataModules/components/edit.vue` - `frontend/src/views/dataGovernance/dataModules/components/editBase.vue` - `frontend/src/views/dataGovernance/dataModules/components/editByDDL.vue` - `frontend/src/views/dataGovernance/dataModules/components/editMetadataAdd.vue` - `frontend/src/views/dataGovernance/dataModules/components/executeScript.vue` - `frontend/src/views/dataGovernance/dataModules/index.vue` - `frontend/src/views/dataGovernance/dataProcess/components/editCopy.vue` - `frontend/src/views/dataGovernance/dataResource/components/Database/index.vue` - `frontend/src/views/dataGovernance/dataResource/components/Structure/index.vue` - `frontend/src/views/dataGovernance/dataResource/components/Unstructured/index.vue` - `frontend/src/views/dataGovernance/dataResource/components/editBase.vue` - `frontend/src/views/dataGovernance/dataResource/components/editMateDataAdd.vue` - `frontend/src/views/dataGovernance/dataResource/components/editSelected.vue` - `frontend/src/views/dataGovernance/dataResource/index.vue` ### views/dataOrigin - `frontend/src/views/dataOrigin/rdbmsDataSource/components/edit.vue` - `frontend/src/views/dataOrigin/rdbmsDataSource/index.vue` - `frontend/src/views/dataOrigin/unstructuredData/autoCollection/dynamic/pageParsing.vue` - `frontend/src/views/dataOrigin/unstructuredData/autoCollection/dynamic/spiderManagement.vue` - `frontend/src/views/dataOrigin/unstructuredData/autoCollection/index.vue` - `frontend/src/views/dataOrigin/unstructuredData/manualCollection/components/MCamera.vue` - `frontend/src/views/dataOrigin/unstructuredData/manualCollection/components/ManualImportEdit.vue` - `frontend/src/views/dataOrigin/unstructuredData/manualCollection/components/imageImportEdit.vue` - `frontend/src/views/dataOrigin/unstructuredData/manualCollection/dynamic/excelImport.vue` - `frontend/src/views/dataOrigin/unstructuredData/manualCollection/dynamic/imageImport.vue` - `frontend/src/views/dataOrigin/unstructuredData/manualCollection/dynamic/manualImport.vue` - `frontend/src/views/dataOrigin/unstructuredData/manualCollection/index.vue` ### views/home - `frontend/src/views/home/components/chart/barChart.vue` - `frontend/src/views/home/components/chart/categoryChart.vue` - `frontend/src/views/home/components/chart/lineChart.vue` - `frontend/src/views/home/components/chart/pieChart.vue` - `frontend/src/views/home/components/chart/radarChart.vue` - `frontend/src/views/home/components/dynamic/barPackage.vue` - `frontend/src/views/home/components/dynamic/categoryPackage.vue` - `frontend/src/views/home/components/dynamic/dataPackage.vue` - `frontend/src/views/home/components/dynamic/datasetPackage.vue` - `frontend/src/views/home/components/dynamic/linePackage.vue` - `frontend/src/views/home/components/dynamic/listPackage.vue` - `frontend/src/views/home/components/dynamic/mapPackage.vue` - `frontend/src/views/home/components/dynamic/piePackage.vue` - `frontend/src/views/home/components/dynamic/radarPackage.vue` - `frontend/src/views/home/components/featureModule.vue` - `frontend/src/views/home/components/largeScreen.vue` ### views/knowledgeBaseResume - `frontend/src/views/knowledgeBaseResume/components/edit.vue` - `frontend/src/views/knowledgeBaseResume/index.vue` ### views/login - `frontend/src/views/login/components/forget.vue` - `frontend/src/views/login/components/register.vue` ### views/modelSystem - `frontend/src/views/modelSystem/backup/backupCreate.vue` - `frontend/src/views/modelSystem/backup/backupDetails.vue` - `frontend/src/views/modelSystem/backup/backupDetailsConfirm.vue` - `frontend/src/views/modelSystem/backup/index.vue` - `frontend/src/views/modelSystem/modelHistory/index.vue` - `frontend/src/views/modelSystem/modelHistory/modelDetails.vue` - `frontend/src/views/modelSystem/modelQa/index.vue` - `frontend/src/views/modelSystem/modelQa/modelQaEdit.vue` - `frontend/src/views/modelSystem/modelStatistics/index.vue` - `frontend/src/views/modelSystem/modelTrain/index.vue` - `frontend/src/views/modelSystem/modelTrain/modelTrainEdit.vue` - `frontend/src/views/modelSystem/modelTrain/modelTrainFiles.vue` - `frontend/src/views/modelSystem/modelTrain/modelTrainLog.vue` - `frontend/src/views/modelSystem/modelTrain/modelTrainStatus.vue` - `frontend/src/views/modelSystem/modelTrain/modelTrainTable.vue` - `frontend/src/views/modelSystem/modelTrain/modelTrainTableSubmit.vue` - `frontend/src/views/modelSystem/modelTrainManage/index.vue` - `frontend/src/views/modelSystem/modelTrainManage/modelTrainManageCombine.vue` - `frontend/src/views/modelSystem/modelTrainManage/modelTrainManageEdit.vue` - `frontend/src/views/modelSystem/modelTrainManage/modelTrainManageUpload.vue` ### views/questionnaireInquiry - `frontend/src/views/questionnaireInquiry/investigationReport/components/common/theCommon copy.vue` - `frontend/src/views/questionnaireInquiry/investigationReport/components/common/theCommon.vue` - `frontend/src/views/questionnaireInquiry/investigationReport/components/fileExport.vue` - `frontend/src/views/questionnaireInquiry/investigationReport/components/groupCompensation.vue` - `frontend/src/views/questionnaireInquiry/investigationReport/components/hotelSalary.vue` - `frontend/src/views/questionnaireInquiry/investigationReport/components/sampleStatistics.vue` - `frontend/src/views/questionnaireInquiry/investigationReport/details.vue` - `frontend/src/views/questionnaireInquiry/investigationReport/index.vue` ### views/systemManage - `frontend/src/views/systemManage/roleManage/components/DataPermission.vue` - `frontend/src/views/systemManage/roleManage/components/userEdit.vue` - `frontend/src/views/systemManage/roleManage/index.vue` - `frontend/src/views/systemManage/routeManage/components/edit.vue` - `frontend/src/views/systemManage/routeManage/components/list.vue` - `frontend/src/views/systemManage/routeManage/index.vue` - `frontend/src/views/systemManage/routeManage/workbenchManage/edit.vue` - `frontend/src/views/systemManage/routeManage/workbenchManage/index.vue` - `frontend/src/views/systemManage/safety/components/resetPassword.vue` - `frontend/src/views/systemManage/safety/index.vue` - `frontend/src/views/systemManage/systemIndividuation/index.vue` - `frontend/src/views/systemManage/tenantry/index.vue` - `frontend/src/views/systemManage/update/components/dynamic/logDetails.vue` - `frontend/src/views/systemManage/update/components/history.vue` - `frontend/src/views/systemManage/update/components/monitor.vue` - `frontend/src/views/systemManage/update/components/upload.vue` - `frontend/src/views/systemManage/update/index.vue` - `frontend/src/views/systemManage/user/components/editUser.vue` - `frontend/src/views/systemManage/user/components/resetPassword.vue` - `frontend/src/views/systemManage/user/index.vue`