# 搭建系统:大量的低价值需求应该如何应对? 你好,我是winter。 不知道你在工作中有没有遇到过这样的事情:一个运营找过来说,有一个紧急又简单的临时活动页面要做,希望打断现有的产品开发节奏临时插入。 这类页面技术难度不高,业务上通常属于“紧急不重要”的事情。 这些需求技术上没挑战,线上存在时间短,上线时间紧又没有任何调整空间,它们往往会成为前端团队里人人都不喜欢的“垃圾需求”,谁要是接了这种需求,就只能自认倒霉。 但是,这些真的是垃圾需求吗?换个视角来看,我认为它反而是宝藏。 所谓工程师,就是为了解决这些问题而存在的岗位,我们从工程的视角来看,“大量紧急不重要的页面”,才是真正的需求,现在需求有了,我们就应该按照工程的方式,定目标、设计方案、做实施、拿结果来解决问题。这就是我们今天要讲的搭建系统。 ## 搭建系统的目标 搭建系统的目标是解决大量的简单页面生产问题。衡量这个目标的指标应该是生产页面的数量,这部分非常的明确,你如果要做搭建系统,可以根据业务的体量和服务的范围来决定具体的指标要求。 ## 搭建系统的设计 搭建系统设计大概有几种流派,这里我介绍几种常见的搭建系统的设计。 第一种,是模板化搭建,由前端工程师生产页面模板,再由运营提供数据来完成页面,可以用以下公式来理解: > 模板 + 数据 = 页面 模板化搭建是一种简单的思路,它的优点是整个系统实现简单。 第二种思路是,模块化搭建,由前端工程师生产模块,由运营把模块和数据组织成页面。 第三种思路,是数据驱动界面,这是一种比较新的思路,即数据中包含了展现自身所需要的模块相关的信息,本身决定了界面。 但是不论何种流派,都可以认为是数据、模块、模板、页面几种实体的相互作用,下面我就来详细讲解一下这几样实体。 ### 数据 数据是用于展现界面所需要的信息。 我们按照数据用途,可以分成界面配置数据和内容数据。 * 界面配置数据:决定了页面上颜色、尺寸、位置、图片、文字等展现形式的数据,通常是以页面为单位的配置。 * 内容数据:页面要展示的信息,如电商活动页面的商品信息、文章的文字信息等。 按照数据来源,我们又可以分成运营人员手工填写的数据和来自API产生的数据。 * 运营手工填写固定数据:运营人员依靠自己的专业技能决定的数据,可能包含线下招商信息、商品选品、文章等。 * 来自API的数据: * 固定数据,由服务端逻辑到指定存储处获取的数据; * 用户相关数据,由算法系统或者服务端逻辑,根据用户信息或者用户喜好推荐的数据。 搭建系统本身是个产品,我们针对数据这个实体,要设计增、删、改、查的能力,根据我们以上的分析,搭建系统的数据部分有两个难点。 第一个难点是数据的手工编辑能力,现在一般的数据都会采用JSON格式,JSON格式中有数字、字符串、数组、对象、布尔等数据类型,我们需要根据数据的格式定义为每一种类型设计编辑器。 但是仅仅是基本类型还不够,我们实际开发中,还需要跟实际业务结合来设计编辑器,下面,我就把我在之前的工作中设计的数据编辑器列一下。 * 整数:整数编辑器,可用HTML原生输入框``实现。 * 数字:数字编辑器,可用``实现 * 字符串:字符串编辑器,可用``实现。 * URL:URL编辑器,可用``配合格式校验。 * 图片:图片编辑器,需要自研图片上传功能。 * 固定字段对象:对象和字段编辑器,可用多个``和`