← 返回项目列表

政务一体化协同平台

多子系统共用的协同办公平台,统一底层组件与公共能力,减少各子系统重复建设。

前端开发

  • Angular
  • TypeScript
  • Ant Design
  • RxJS

做了什么

  • 平台下挂多个业务子系统,共享同一套底层组件和公共能力
  • 重构公共上传组件,统一各子系统的文件上传交互与错误处理
  • 沉淀底层组件封装,提高新子系统的搭建效率

背景

这是一个由多个业务子系统组成的一体化协同平台,涉及流程审批、事项流转、工作台等场景。各子系统的界面风格和基础能力需要保持一致,但由不同的人分头开发,很容易各写一套。

做了什么

统一公共上传组件。 原先各子系统各自实现文件上传,交互细节和错误处理都不一样 —— 同一个上传失败,有的地方弹 toast,有的地方静默失败。重构后收敛成一套公共组件,把上传中、失败重试、大小与格式校验这些状态统一处理掉,各子系统只管调用。

沉淀底层组件。 把跨子系统复用的表格、表单、弹窗、查询区封装成基础组件,新子系统接入时直接组合,不用再从零拼装。

技术栈是 Angular + TypeScript + Ant Design。 这个平台是我 Angular 项目经验的主要来源,和平时以 Vue 为主的技术栈形成了互补。

值得一提的

多子系统共存的项目里,「统一」和「灵活」始终是矛盾的 —— 底层组件封得太死,业务稍有差异就得绕过去;封得太松,等于没封。这里的做法是把变化的部分显式暴露成配置项,而不是让各子系统 fork 一份组件自己改。一旦出现 fork,后续所有修复都要重复做 N 遍。