大屏部分,平台集成了开源免费的jiaminghi的datav组件。详见《datav》。平台的理念是开放和不重复造轮子。凡是各领域有优秀的开源组件,平台就集成,平台开发者集中有限的精力、财力在自己擅长的东西上。
集成的核心手段是封装。尤其是接口数据结构。为此,平台编写了
<groupId>org.qlm</groupId>
<artifactId>qlm-dto-dvchart</artifactId>
<version>1.0-SNAPSHOT</version>
后台按结构定义返回对应的dto,前台直接展示,无需转换。
这里吐槽下datav的设计,各个类型的图数据结构不同。相同的数据,前端切换图样式,不得不再申请下后台接口。
一种解决思路是,后台只返回数据本身,复杂的数据结构转换由前端完成。但是平台不选择这个思路,理由是前端做这种转换比较麻烦。