← 技术博客

衍景:为什么一份配置就能生成一套界面

衍景:为什么一份配置就能生成一套界面

从一个常见需求说起

「加一列」「改个搜索」「调整表单顺序」——这些看起来很小的需求,在很多团队里却要排期等开发。原因不是改动本身难,而是每一次小改动都要经过「找开发 → 改代码 → 联调 → 发版」。当系统是用代码一行行堆出来的,任何界面变化都牵一发而动全身。

衍数平台对此有一个不同的答案:界面可以被配置描述,改动属于配置级,而不是代码级。这就是衍景(Derive-View)做的事。

界面的「结构」和「实现」,是两件事

传统开发把这两件事揉在一起:一个页面的样子(有哪些字段、怎么排)和它怎么运行(渲染、分页、权限校验)都是代码。而衍景把它们拆开:

  • 您只需要描述结构——这个页面有哪些字段、怎么搜索、列怎么展示;
  • 运行的部分交给通用组件——渲染、分页、筛选、权限,平台内置完成。

于是「做一个单据管理列表」不再是重写一遍界面,而是描述一份配置,页面就长出来了。

一份页面配置里,到底有什么

拿一段示意来看(实际配置由平台定义模型后自动生成,不必手写):

{
  "list": {
    "title": "订单列表",
    "search": ["order_no", "status"],
    "columns": [
      { "field": "order_no", "label": "订单号" },
      { "field": "status", "label": "状态", "type": "dict" }
    ]
  }
}

这里的 type: "dict" 值得多说一句:它告诉平台「这个字段是一个字典值」,于是平台自动把状态码渲染成中文标签,而不是让您为每个下拉框写一遍控件。字段的「语义」被平台理解后,很多重复工作自然省掉了。

同一个模型,可以有不同的视图

数据是同一份,看的人不同,需要的界面也不同。衍景里一个数据模型可以对应多个视图——给运营看统计口径的界面、给仓库看待办的界面,各自配置、互不干扰。改视图不影响数据,改模型则处处生效。

这对您意味着什么

  • 改动快:加列、调搜索这类调整,是配置级改动,不必等一轮开发排期;
  • 样式统一:界面风格由框架内置,而不是靠个人开发习惯——一整个系统的界面观感是统一的;
  • 能带走:页面配置作为平台资产随数据模型一起管理,可随项目迁移与复用。

常见疑问

是不是完全不能写自定义代码?

需要个性化交互时,可以在通用组件上扩展——平台允许在保持配置主路径的同时接入自定义实现。多数日常管理功能用配置就足够。

那这些页面配置到底存在哪?

配置与数据模型一起作为平台资产管理,可以随项目一起迁移与复用——它不是散落在某个工程师手里的代码片段。

延伸阅读

界面是表象,背后是「数据模型 → 视图」的完整链路。想理解界面配置与动态模型的运作方式,可以打开官网右上角「用户手册」,查阅「核心概念」分组下的《衍景》《衍枢》两篇,以及「使用指南」里的《定义模型并生成页面》。

这些实践都沉淀在衍数平台里

想了解怎么用在您的项目上?注册体验亲手搭建,或直接咨询 AI 客服。