应用层
Umi Max 4 + React 19 + TypeScript 5.6。路由按业务域拆成 31 个文件集中治理,415 条路由不会散落在各处。
服务对象是有真实流转压力的渠道团队、助贷机构和服务商。系统只做 B 端协作, 不面向 C 端做公开导购,不承接资金与放款环节。
左列是源码里的目录名,右列是它实际管的事。不是规划清单,是已经写出来的东西。
客户与线索
| 模块 | 职责 |
|---|---|
| Customer | 客户档案、分组标签、公池规则、查重、风险规则、回收站 |
| Followup | 跟进记录与提醒 |
| Business | 商机推进 |
| Referral | 转介绍链路 |
渠道与伙伴
| Channel | 渠道档案与结算 |
| ChannelMobile | 渠道移动端运营 |
| ChannelWorkspace | 渠道工作台 |
| Partner | 合作方与结算台账 |
产品与订单
| Product | 产品中心、准入条件、审核与上下架 |
| ProductionData | 产品数据配置 |
| Order | 订单管理 |
| Provider | 服务商档案 |
| ProviderWorkspace | 服务商工作台 |
工单与流程
| Workorder | 工单协同、状态流转、补件反馈 |
| ProcessCenter | 流程定义、流程实例、表单设计与流程工作台 |
| ApplicationCenter | 可视化设计器、版本管理与灰度发布 |
| Todo | 待办中心 |
组织与权限
| Organization / Department / Position | 组织架构、部门与岗位 |
| Role / Permission | 角色与权限码 |
| architecture | 菜单权限与数据权限 |
| PermissionAudit | 权限审计与访问复核 |
| Identity / UserManagement / user | 身份中心、账号管理与登录入口 |
数据与系统
| DataCenter | 数据中心与数据库管理 |
| Dict | 数据字典与变更提案 |
| Settings / System | 系统设置、集成配置与品牌配置 |
| Operations / OperationLog | 运维与操作日志、合规审计 |
| Region / EthnicGroup | 区域与民族基础数据 |
协同与办公
| Message / Notification / IM | 消息中心、通知中心与即时沟通 |
| dashboard | 工作台与经营分析 |
| account | 个人中心、安全与通知偏好 |
| HrPerformance | 绩效 |
| HelpCenter | 帮助中心 |
只写现在实际在用的,以及当初为什么这么选。
Umi Max 4 + React 19 + TypeScript 5.6。路由按业务域拆成 31 个文件集中治理,415 条路由不会散落在各处。
antd 6,主题走 CSS 变量,组件里不散落硬编码色值;状态用 zustand + Umi initialState。
LogicFlow 画布 + 自研表单运行时。流程既要可视化编排,也要能版本化、灰度和回滚。
统一 /api 前缀,按 crm、product、process、system、dictionary、statistics、todo、form-center 分域。
堆页面不难,难的是改了不出事、出事查得到。
菜单权限和数据权限分开,权限码集中维护,可见范围按角色、组织和数据范围控制。改权限要过角色矩阵用例。
流程定义支持版本管理与灰度发布,发布前能预览差异,出问题能回滚,配置变更本身也在审计里。
操作日志与合规审计面板覆盖系统配置、流程设计和关键业务动作,可追溯到具体人和时间。
手机号、证件号等敏感字段走统一脱敏出口,对外披露按角色控制,避免出现两套实现给出两种结果。
socket.io 通道加轮询兜底,弱网或断连恢复后能收敛到一致状态,不依赖单一通道。
构建有产物体积预算,超出直接失败;发布前跑核心用例、路由菜单用例和无障碍用例。
下面两张是系统运行的截图,不是设计稿。