# 互换模块长期改进方案——从"一个需求改一周"到"可预测交付" > 基于 EQD-6838(债券三字段互算)从 0aad4c80 到 ffa51c6a 共 106 次提交、 > 7 天开发周期、50 次 fix/revert(47%)的惨痛教训,提炼出的长远改进路线。 > 不是一次性重构方案,而是"每个迭代都往前走一步"的渐进式改善。 --- ## 〇、项目架构现状(接手必读) ### 0.1 整体技术栈 ``` ┌─────────────────────────────────────────────────────────────┐ │ 宿主应用 (zszq-trs / YLErpWeb) │ │ ├── 后端: ASP.NET Core 6 MVC + Razor Views (600 个 cshtml) │ │ ├── 前端: jQuery 3.5 + Vue 2 + Bootstrap + JqGrid │ │ ├── 规模: 2450 个 C# 文件, 289 个 JS 文件, 67 个 new Vue() │ │ └── 微前端: qiankun v2.10.5 (加载 otcdms-ui v3 子应用) │ │ └── Vue3 独立项目,部署在 /otcdms-ui/ 路径 │ │ 宿主通过 /v3 路由激活微应用 │ │ 通信: qiankun.initGlobalState (logout/查看交易等) │ └─────────────────────────────────────────────────────────────┘ ``` ### 0.2 两套 Layout + 两套 Bundle 项目有**两套独立的页面布局**,各自加载不同的 JS/CSS bundle。一个页面只会加载其中一套,互不冲突。 #### bundle.js — 交易管理主站 | 属性 | 值 | |------|-----| | 加载者 | `_MainLayout.cshtml` / `_InfoLayout.cshtml` / `_LayoutMini.cshtml` | | 用在哪 | 互换交易、期权交易、风控、客户管理等业务页面 | | 文件大小 | 823 KB | | 包含 main.js? | ✅ (第 49 行) | | 包含 fastVue? | ✅ (fastVue.base.js + fastVue.components.js) | | UI 框架 | Bootstrap 3 + JqGrid 4 + jquery-confirm | | 日期库 | dayjs + 插件 | `_MainLayout.cshtml` 的加载顺序: ```html ← 样式