平台Web移动端
KYC Studio:基于 Schema 的流程
配置驱动的 UI 平台,配合基于 Git 的配置即代码,让合规变更在数小时内上线,无需前端发版。
- 角色
- Senior Frontend Engineer
- 时间
- 2025–至今
- 技术栈
- TypeScript · jsonform · Mini Program · Git · CI/CD · Schema validation
问题
100 多个国家和地区的验证流程意味着大量重复代码,而且每当合规或产品想修改某个地区的规则,就要开一张工程工单。
方案
- 根据 schema 渲染表单。 UI 通过 jsonform 读取 JSON 或 YAML 配置:由 schema 生成字段和校验规则。自定义动作,例如启动原生 NFC 桥接或活体检测,仍然保留在代码里。
- 同一个步骤,不同的结果。 配置决定某一步在每个国家和平台(Web、移动端或 Mini Program)上的行为。支持 NFC 的地方,这一步会显示扫描指引和“使用 NFC 扫描”按钮;否则显示普通表单字段和“继续”按钮。产品和合规人员在配置里修改,而不是改代码。
- 配置即代码。 合规和产品人员通过 Git 提交变更。每次变更都会自动创建 pull request,并运行 CI,用基于 TypeScript 类型的严格 schema 校验,格式有误的配置在到达生产环境之前就会失败。
两个值得解释的决定
用 jsonform 渲染,用代码执行动作。 完全由服务端驱动的 UI 如果运行服务端下发的任意逻辑,会带来远程代码执行风险和性能问题。数据驱动渲染,加上把动作绑定到预编译的处理函数,既保留了灵活性,又避免了这种风险。
用 Git,而不是管理后台表单。 缺乏治理的便捷编辑会搞坏生产流程。Pull request、类型检查和 CI 让每一次变更都可追溯、有人评审,并且易于回滚。
结果
配置发布不再依赖前端发版,多市场合规更新从数周缩短到数小时,各地区的重复代码也不再增长。