2.1 KiB
2.1 KiB
前端源码重建方案
范围:当前 20261025 发布包的 52 个页面、4 个布局、104 个业务组件及其共享业务逻辑。新工程自包含,不引用历史发布目录,不替换线上发布指向。
最小设计检查:
- 结构:建立独立可构建源码工程,解决源码缺失,而非在压缩产物上继续打补丁。
- 调用负担:保持现有后端路径、请求字段及页面 URL,不要求后端新增协议。
- 可推导信息:路由和模块清单从当前有效构建清单提取,不让使用者手工选择旧版文件。
- 复杂度:沿用 Nuxt、Vue、PrimeVue;框架和组件库使用正式依赖,只恢复业务逻辑和现有样式。
- 适用范围:覆盖当前入口的完整模块图,不只复刻登录页或几个示例页面。
最小可行方案是保留已发布业务行为,将编译后的业务模块恢复为格式化、具有业务路径和显式依赖的 Vue 渲染函数源码,并重建应用入口、框架依赖、构建清单与测试。原始变量名、注释和模板排版已在构建中丢失,不能宣称逐字恢复原始工程。Vue 单文件组件允许使用 render/setup 返回的渲染函数;不把旧发布包作为运行时依赖。
缺陷类别:异步操作的等待没有统一的时间边界,界面生命周期被远端响应决定;通用规则是请求有明确截止时间,界面清理由本地状态所有者完成。另一类是完整搜索结果与当前页结果混用,规则是只由一处分页逻辑生成当前可见集合。
验证:构建新工程;使用本地 HTTP 后端替身验证登录、鉴权、SSH 搜索分页、注销、支付等待边界及页面路由加载。真实支付、供应商实例和生产反代不在离线替身中伪称验证通过。
第二轮按维护边界逐页改成手写 setup 与模板:登录、旧平台登录入口、SSH 密钥及公共认证布局。 保持原协议与样式,不运行一次性导入器、不覆盖历史发布产物。四个产品文件净减少 863 行; 新增/扩展真实页面回归后为 21 场景。其余恢复模块仍按需逐页改写,不将这一批等同于全站重写。