1.本发明涉及一种可视化开发方法,特别涉及一种基于组件和数据资产交易的可视化开发方法及系统,属于数据资产交易技术领域。
背景技术:2.随着信息化系统在各行各业的普及,软件系统也在方方面面进入了人们的生活,使用软件系统的人群越来越多;同时,人们使用软件系统过程中产生的数据也越来越大,催生了大数据存储技术的诞生。大数据存储技术为海量数据的存储提供了底层技术支撑,但存储海量数据并不是目地,用户最终想要的是从大数据中挖掘出有价值的信息;于是,基于大数据的批计算、流计算、算法建模、机器学习等大数据处理技术应运而生,通过这些技术,我们能够将用户真正关心的有价值的信息从庞大的数据中提取出来,供用户使用和继续分析。
3.经过大数据处理技术提取之后的价值信息如何快速、直观的让用户看到数据分析结果,看明白数据分析结果的意义,成为了重中之重的工作;因为用户只有清楚明白了数据分析结果所表达的实际意义,才能对后续的工作方向或者工作方法做出正确的选择和决策。
4.现有的各种bi可视化平台以下简称bi平台就是基于这种需求出现的,专门帮助用户对数据进行可视化分析的在线工具;用户使用bi平台可以通过拖拽组件、绑定数据、配置组件属性等方式就可以设计出一个数据分析大屏,能够一目了然的了解各种变化趋势、分布区域、指标占比等情况。
5.虽然bi平台已经能够方便的为用户提供数据图表分析能力,每个bi平台也都在平台上提供了一些内置组件供用户使用,但是组件类型有限,风格单一,用户不能根据自己的需要自定义组件;严重限制了用户对数据的分析方式和展现方式,同时,对于一些有一定开发能力的用户,除了使用组件和数据进行基本的数据分析和展示之外,还希望通过编写前端代码对组件进行更多的样式设置和行为控制,以及增加组件之间的关联交互;这些是现有bi平台无法提供的能力。
6.在使用bi平台的过程中,用户在很多场景是有多个大屏页面同时存在的,大屏之间根据某种关联逻辑可以进行自由切换,一是能够弥补单页大屏展示区域不足的问题;二是可以大屏为单位区分数据不同的展示维度,提供用户更多的视角,然而,现有的bi平台都是提供单页大屏进行设计,最终输出给用户的也是一个大屏页面,无法实现多页大屏的设计和交互。
7.另外,很多用户在使用bi平台设计实现了大屏展示效果后,有些时候还希望增加一些bi平台不具备的功能,进行二次开发;并且,出于安全和自身管理方便的目的,还希望将大屏应用部署在自己的服务器当中;这些需求都是实实在在存在而现有bi平台又不能满足的地方。
8.综上,现有的bi平台,全部或部分的都存在以下问题:有限的组件导致了用户设计
的大屏同质化严重;简单的拖拽配置限制了用户的深度定制能力;单页大屏局限了数据展示的空间和层次感;而必须通过bi平台访问不能独立部署更是严重限制了用户对安全性、灵活性以及自身品牌展示的需要。
技术实现要素:9.本发明的目的在于提供一种基于组件和数据资产交易的可视化开发方法及系统,以解决上述背景技术中提出的问题。
10.为实现上述目的,本发明提供如下技术方案:一种基于组件和数据资产交易的可视化开发方法,包括以下步骤:
11.s1:组件开发者和数据资产发布者均登录bi平台,启动开发者发布者申请流程,判断是否是企业类型,填写企业认证信息(公司名、营业执照、对公账户),若不是,填写个人认证信息姓名、身份证、手机号码,对申请的资质进行审核,审核通过则标识该登录账户为组件开发者;
12.s2:组件开发者根据组件规则自定义开发组件,将自定义组件代码和资源进行打包,判断是否组件开发者,若是组件开发者,将打包好的内容通过bi平台组件上传功能上传根据提示填写自定义组件名称、描述,提交自定义组件在组件表新建一条组件记录(包括创建人、组件信息),在组件使用权限表中增加一条使用权限记录(组件创建者默认对该组件具有使用权限);
13.s3:在我的组件找到需要发布的组件,选中组件并点击发布,根据是否为组件开发者的提示,输入发布价格信息,点击确定进行发布操作,更新组件表对应状态为已发布;
14.s4:在组件市场找到要购买的组件,选中组件进行购买,进行支付操作,支付成功后,在组件使用权限表中增加一条使用权限记录(包含购买者、组件信息);
15.s5:上传静态数据文件,设置数据上传后的名称保证唯一性),设置文件解析参数,设置文件解析参数标题、起始行、分隔符,根据解析参数解析上传的文件内容,调整解析结果(列名称、存储列,根据解析内容创建数据表,将解析内容存储到数据表,在数据资产表增加一条数据资产记录指向(通过名称、表名、类型、所有者)该数据资产,在数据资产权限表中增加一条使用权限记录(数据资产创建者默认对该资产具有使用权限);
16.s6:设置数据库连接参数,尝试连接数据库并返回数据库可用数据表,选择要使用的数据表,设置数据表查询条件,设置数据资产名称,在数据资产表增加一条记录指向(通过名称、类型、配置、所有者该数据资产在数据资产权限表中增加一条使用权限记录(数据资产创建者默认对该资产具有使用权限);
17.s7:设置api访问地址,配置api相关信息(签名、请求方式、参数),尝试请求api接口,为返回结果配置列信息(显示名称),设置数据资产名称在数据资产表增加一条记录指向(通过名称、类型、配置、所有者)该数据资产,在数据资产权限表中增加一条使用权限记录(数据资产创建者默认对该资产具有使用权限);
18.s8:在数据市场中搜索到需要的数据资产,数据资产是否免费使用,,不免费使用,则支付数据资产使用费,在数据资产权限表中增加一条使用权限记录(数据资产、购买人、使用期限);
19.s9:数据资产发布者登入bl平台进入数据资产管理页面,若是资产发布者,选中要
发布的数据资产,选中要发布的数据资产,设置发布参数(价格、时长),在数据资产发布表中存储一条发布信息(数据资产、发布参数),将该数据资产状态置为已发布;
20.作为本发明的一种优选技术方案,一种基于组件和数据资产交易的可视化开发方法的系统,所述系统包括前端展示、后端服务和数据库,所述系统与第三方数据资产以及本地数据资产双向连接,其中:
21.前端展示:用于提供用户大屏的设计开发和发布展示能力;
22.后端服务:用于存取用户设计的大屏内容以及相关数据资产的访问;
23.数据库:用于存储可使用的数据表。
24.作为本发明的一种优选技术方案,所述前端展示包括大屏列表、大屏模板、大屏设计、大屏发布、大屏导出、组件市场、数据管理和数据交易,其中:
25.大屏列表:大屏列表子模块是用户登录系统后的第一个功能页面,是用户的入口,在功能页面,用户可以查看已创建的大屏列表信息,提供用户按照大屏名称、创建时间或者更新时间进行排序;列表中显示大屏的缩率图,方便用户直接了解大屏内容;鼠标移动到缩略图上时,缩略图高亮显示,并在缩率图顶层突出显示快捷操作按钮,包括编辑、预览、发布、复制、删除,同时,在列表页面中提供新建空白大屏和进入大屏模板的功能,新建空白大屏需要通过点击“空白大屏”按钮,弹出新建大屏对话框,用户输入大屏的名字后,点击“确定”按钮,即可成功创建一个空白大屏;
26.大屏模板:由系统提供,帮助用户快速创建一个大屏的绿色通道,系统会自带一批典型的模板大屏,用户可以通过查看缩略图或预览实际效果,找到自己需要的模板或者和自己期望相似的模板,通过点击“使用”按钮,输入大屏名字后,便可以利用选定的模板创建一个新的大屏,新的大屏已经包含模板提供的内容,组件样式和整体布局都已经设计好,用户只需要进行细微调整,并将数据替换成自己的真实业务数据即可;
27.大屏设计:对大屏进行组件布局、数据绑定、行为事件控制的设计器;整个设计器划分为图层控制区、组件列表区、设计区、属性编辑器、工具栏等区域,为用户提供了组件设计、属性编辑、图层控制、事件编程、数据绑定、多屏管理、效果预览等能力;通过这些能力,用户可以根据业务需要设计出各种各样的大屏效果,展示各种的数据指标;并能够通过事件编程为组件和大屏增加更多的行为控制和交互效果;同时,多页大屏能力可以让用户创建多个大屏,按照指定规则或用户操作进行切换展示;
28.大屏发布:实现大屏效果的设计开发过程和手段,最终将设计好的大屏展示给用户,供用户查看和操作才是最终目的,大屏发布就是将大屏设计效果提供给用户使用的途径,通过大屏发布,可以将大屏页面发布成一个链接,用户通过该链接就可以看到大屏的展示效果,根据发布类型,大屏发布又可以分为私密发布和公开发布;
29.私密发布
–
私密发布是用户可以自定义访问口令的发布方式,通过该方式发布的访问链接,必须使用访问口令才能进入看到展示效果。在发布时,用户还可以进行发布有效期设置,一旦超过有效期限,即使使用访问口令也不能进行;
30.公开发布
–
公开发布是指只要知道发布链接地址就可以通过浏览器打开大屏页面看到大屏展示效果的方式,该方式只需要设置有效期限就可以进行发布;在有效期限内,所有人都可以打开该发布链接;
31.大屏导出:能够将设计好的大屏页面发布成一个链接供用户访问,这个链接是基
于bi平台的,依赖bi平台存在的;有些场景下,出于安全或者其他某些层面的考虑,用户希望将大屏页面部署在自己的服务器资源上,使用自己指定的域名链接;这时,就可以通过大屏导出功能将大屏页面的相关资源和代码导出到本地,用户可以根据需要自由进行部署;同时,大屏导出的内容包含完整的源码资源,有开发能力的用户可基于导出的源代码进行二次开发,在已完成的大屏设计基础上增加更多功能和效果,满足更多的用户需求;
32.组件市场:经包含了大量的系统组件可供用户使用,其中包括了丰富的图表组件、表格组件、地图组件;组件市场提供了用户自定义扩展组件和使用自定义扩展组件的能力,遵循前面描述的组件数据规范和定义格式,用户可以在本地开发测试自定义组件;测试无误后,用户可以将自定义组件打包上传到bi平台并进行发布,但在进行组件发布之前,用户需要先申请成为组件开发者才能获得组件上传发布的权利,同时需要遵守组件发布的相关规范和承担相关法律约束,发布之后,所有用户包括开发者自己都可以在组件市场找到该组件,并进行交易使用;
33.数据管理:用户所拥有的数据的管理和维护;此处所指的数据包括用户从本地导入的excel/csv数据、直接连接的数据库数据、引入的api接口数据、数据市场采购的数据4中类型,不同类型的数据都包含了添加、配置和删除的管理功能,添加和配置的内容根据类型不同有所差异;
34.数据交易:指数据资产的交易,用户可以根据需要将自己拥有或拥有者授权的数据在法律法规允许范围内发布到数据市场中,并为数据资产定义合适的价格,供其他人购买使用,为数据发布者赚取收益。
35.与现有技术相比,本发明的有益效果是:
36.基础的组件框架和大屏设计能力,平台自带常用的数据图表和展示组件,并支持完善的组件拖拽和属性面板编辑配置能力,可以让用户通过简单的操作就能快速设计开发出一个内容丰富的屏。
37.灵活的数据接入和绑定形式,组件支持丰富多样的数据绑定形式,用户可以根据需要和自己数据的存在形式选择合适的数据绑定形式,平台支持静态录入数据、excel/csv文件导入数据、数据库直连查询数据、api接口请求数据和数据资产市场采购数据;不同组件可以根据需要选择不同的数据绑定形式;让用户能够灵活方便的使用自有或第三方的数据。
38.多页复杂大屏的设计,该能力赋予平台更多可能,让平台本身跳出了只能设计单页简单逻辑大屏的设定;允许用户设计任意多个大屏,大屏之间可以互相关联、下钻上卷,满足更复杂、更体系业务需求的场景。
39.高阶自定义事件编程能力,高阶编程能力给有一定编码开发能力的用户提供了更开放的能力,用户能够表达更多的效果,实现更复杂的交互逻辑。
40.组件的自定义开发和交易,平台自带的系统组件只是有限常用的一部分,永远不能满足不断有新需求的用户;该能力支持用户自己或其他第三方开发者根据需要自定义开发组件,并将自己开发的组件发布到组件交易市场,需要的用户可以进行采购使用;这样就形成了一个产供销一体的组件生态圈,能够为平台提供源源不断的新组件,支持各种各样的新需求。
41.数据资产的发布和交易,该能力和组件开发和交易相类似,只不过主体对应的是
数据资产;对于平台来讲,数据是灵魂的存在,只有拥有了数据才能让大屏充实和有价值;然而,我们需要的数据未必就是自己拥有的数据;数据发布和交易市场就提供了一种给拥有数据的人发布数据赚取收益的渠道,而需要数据的用户只需要支付数据使用费就可以使用别人提供的数据;这样,对于数据使用方来说,能够很方便经济的找到和使用数据;对于数据发布者来说,能够从自己拥有的数据上获取收益,也提高了发布者的积极性,形成生态闭环。
42.二次开发和独立部署能力,平台所有的能力都是基于平台本身,即使是大屏发布成一个链接,该链接也是运行在平台的基础上,脱离了平台就无法存在。但为了满足很多用户对于安全和自有大屏品牌的需求,用户可以使用平台的导出功能,将自己设计的大屏完整导出成一个独立的项目,并可以在导出的项目中进行二次开发,而开发方式也像普通的编程开发一样简单,无需学习新的技能;对于导出的项目,用户可以进行独立部署,绑定到自己的品牌域名中,实现自己的完全管控
附图说明
43.图1为本发明系统的示意图;
44.图2为本发明操作撤销重做的流程逻辑示意图;
45.图3为本发明工作台选中组件切换的属性编辑器的处理流程逻辑示意图。
具体实施方式
46.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.请参阅图1
‑
3,本发明提供了一种基于组件和数据资产交易的可视化开发方法及系统的技术方案:包括以下步骤:
48.s1:组件开发者和数据资产发布者均登录bi平台,启动开发者发布者申请流程,判断是否是企业类型,填写企业认证信息(公司名、营业执照、对公账户),若不是,填写个人认证信息姓名、身份证、手机号码,对申请的资质进行审核,审核通过则标识该登录账户为组件开发者;
49.s2:组件开发者根据组件规则自定义开发组件,将自定义组件代码和资源进行打包,判断是否组件开发者,若是组件开发者,将打包好的内容通过bi平台组件上传功能上传根据提示填写自定义组件名称、描述,提交自定义组件在组件表新建一条组件记录(包括创建人、组件信息),在组件使用权限表中增加一条使用权限记录(组件创建者默认对该组件具有使用权限);
50.s3:在我的组件找到需要发布的组件,选中组件并点击发布,根据是否为组件开发者的提示,输入发布价格信息,点击确定进行发布操作,更新组件表对应状态为已发布;
51.s4:在组件市场找到要购买的组件,选中组件进行购买,进行支付操作,支付成功后,在组件使用权限表中增加一条使用权限记录(包含购买者、组件信息);
52.s5:上传静态数据文件,设置数据上传后的名称保证唯一性),设置文件解析参数,
设置文件解析参数标题、起始行、分隔符,根据解析参数解析上传的文件内容,调整解析结果(列名称、存储列,根据解析内容创建数据表,将解析内容存储到数据表,在数据资产表增加一条数据资产记录指向(通过名称、表名、类型、所有者)该数据资产,在数据资产权限表中增加一条使用权限记录(数据资产创建者默认对该资产具有使用权限);
53.s6:设置数据库连接参数,尝试连接数据库并返回数据库可用数据表,选择要使用的数据表,设置数据表查询条件,设置数据资产名称,在数据资产表增加一条记录指向(通过名称、类型、配置、所有者该数据资产在数据资产权限表中增加一条使用权限记录(数据资产创建者默认对该资产具有使用权限);
54.s7:设置api访问地址,配置api相关信息(签名、请求方式、参数),尝试请求api接口,为返回结果配置列信息(显示名称),设置数据资产名称在数据资产表增加一条记录指向(通过名称、类型、配置、所有者)该数据资产,在数据资产权限表中增加一条使用权限记录(数据资产创建者默认对该资产具有使用权限);
55.s8:在数据市场中搜索到需要的数据资产,数据资产是否免费使用,,不免费使用,则支付数据资产使用费,在数据资产权限表中增加一条使用权限记录(数据资产、购买人、使用期限);
56.s9:数据资产发布者登入bl平台进入数据资产管理页面,若是资产发布者,选中要发布的数据资产,选中要发布的数据资产,设置发布参数(价格、时长),在数据资产发布表中存储一条发布信息(数据资产、发布参数),将该数据资产状态置为已发布;
57.一种基于组件和数据资产交易的可视化开发方法的系统,系统包括前端展示、后端服务和数据库,所述系统与第三方数据资产以及本地数据资产双向连接,其中:
58.前端展示:用于提供用户大屏的设计开发和发布展示能力;
59.后端服务:用于存取用户设计的大屏内容以及相关数据资产的访问;
60.数据库:用于存储可使用的数据表。
61.前端展示包括大屏列表、大屏模板、大屏设计、大屏发布、大屏导出、组件市场、数据管理和数据交易,其中:
62.大屏列表:大屏列表子模块是用户登录系统后的第一个功能页面,是用户的入口,在功能页面,用户可以查看已创建的大屏列表信息,提供用户按照大屏名称、创建时间或者更新时间进行排序;列表中显示大屏的缩率图,方便用户直接了解大屏内容;鼠标移动到缩略图上时,缩略图高亮显示,并在缩率图顶层突出显示快捷操作按钮,包括编辑、预览、发布、复制、删除,同时,在列表页面中提供新建空白大屏和进入大屏模板的功能,新建空白大屏需要通过点击“空白大屏”按钮,弹出新建大屏对话框,用户输入大屏的名字后,点击“确定”按钮,即可成功创建一个空白大屏;
63.大屏模板:由系统提供,帮助用户快速创建一个大屏的绿色通道,系统会自带一批典型的模板大屏,用户可以通过查看缩略图或预览实际效果,找到自己需要的模板或者和自己期望相似的模板,通过点击“使用”按钮,输入大屏名字后,便可以利用选定的模板创建一个新的大屏,新的大屏已经包含模板提供的内容,组件样式和整体布局都已经设计好,用户只需要进行细微调整,并将数据替换成自己的真实业务数据即可;
64.大屏设计:对大屏进行组件布局、数据绑定、行为事件控制的设计器;整个设计器划分为图层控制区、组件列表区、设计区、属性编辑器、工具栏等区域,为用户提供了组件设
计、属性编辑、图层控制、事件编程、数据绑定、多屏管理、效果预览等能力;通过这些能力,用户可以根据业务需要设计出各种各样的大屏效果,展示各种的数据指标;并能够通过事件编程为组件和大屏增加更多的行为控制和交互效果;同时,多页大屏能力可以让用户创建多个大屏,按照指定规则或用户操作进行切换展示;
65.作为大屏设计的优选技术方案的补充:
66.组件列表:组件是系统的基础元素,是设计大屏的最小展示单元,每种组件都代表一种数据展示维度和效果,组件列表中显示了当前用户可以使用的所有组件(更多的组件用户可以在组件市场进行购买,购买后也会显示在组件列表中),用户可以根据自身业务的需要选用不同的组件构建大屏布局,形成最终展示效果,组件必须遵守组件规范,组件规范从组件内部数据、属性配置、组件注册3部分进行了定义,每个组件都需要将自己规范定义存储到一个json文件中供本发明使用;组件内部数据定义了组件本身所需要的全部样式定义和数据定义,如组件的位置、大小、名称、类型、配置项、默认数据等,该部分内容在json文件中命名定义为一个命名为data的对象。
67.属性配置:是组件内部数据和属性编辑器之间的桥梁,组件内部数据定义了组件的整体样式、数据内容以及组件的具体展示效果;而属性编辑器是提供给用户编辑修改组件内部数据的界面窗口;属性配置就是用来定义哪些数据用户可以编辑、数据在属性编辑器上展现的形式是什么(比如是一个输入框、还是一个下拉列表、还是一个复选框等)、属性在什么时候可以编辑、属性在什么时候可以见到等;该部分内容在json文件中命名定义为一个命名为props的数组;
68.组件注册:将已经定义好的组件放到本发明的运行体系中,使得用户可见、可用、可展示,组件的注册统一定义在一个index.js文件中;
69.通过上述3个方面的规范,定义了组件从定义到注册、用户使用整个生命周期的接口规则,遵照这3中规则,用户可以在本发明基础上灵活的扩展增加一个或多个组件,丰富大屏设计中的效果,组件定义开发完成,并且进行注册之后,在组件列表中就会显示出来,根据其配置信息进行加载到合适的组里;此时,用户可以将其拖拽到设计区进行设计。
70.组件加载到组件列表中的流程如下所示:
71.第一步:遍历组件定义目录取得组件定义信息;
72.第二步:遍历组件定义信息获得系统组件列表,通过接口查询当前用户拥有使用权限的自定义组件列表;
73.第三步:将系统组件列表和自定义组件列表合并,根据组件配置对合并列表进行分组和排序,对分组和排序的数据进行前端渲染并挂接拖拽事件。
74.设计区:是提供给用户自由设计的区域;整个区域包括标尺区域、工作台、缩放区3个部分;
75.标尺用于辅助大屏设计,帮助用户进行组件定位,当鼠标悬停在水平标尺或者垂直标尺上时,设计区会出现坐标提示线(虚线);用户可以在标尺上的合适位置进行点击,此时在设计区会出现一条垂直的或水平的坐标定位线(实线),组件在拖动到定位线附近时,会对组件进行吸附,保证多个组件间的水平对齐或垂直对齐;定位线可以设置任意多条,为了避免定位线太多影响组件设计,可以通过左上角的坐标定位线开关控制定位线的隐藏和显示;
76.工作台:大屏设计的主要区域,也是大屏展示的内容区域;用户可以从组件列表中拖动组件到设计区,根据需要进行布局排列形成大屏的整体展示效果;通过鼠标点击可以选中指定组件,配合属性编辑器可以修改组件的具体样式和数据内容;选中组件上支持右键菜单,通过右键菜单可以对选中组件进行删除、复制和图层控制;通过按住鼠标左键拖动选择框或者按住ctrl键点击组件可以完成对多个组件的选择;当选中多个组件后,用户可以通过右键菜单对选中组件进行组合,转换成一个组合组件,此时,可以对组合后的多个组件进行统一的操作,如移动、复制、删除等,就像操作一个组件一样;在工作台中进行设计的过程中,操作都是可以进行撤销和重做的,防止用户发生误操作;
77.从组件列表拖动到工作台的流程逻辑如下所示:
78.第一步:在组件列表中点击要放到工作台上的组件,根据点击组件的标识找到组件的定义信息和配置数据;
79.第二步:将组件数据复制一份添加到工作台组件列表数据中,工作台根据组件列表数据重新渲染所有组件;
80.选中组件的流程逻辑如下所述:
81.点击要选中的组件,从工作台组件列表数据中找到点击组件对应的数据,将找到的数据复制一份存储到工作台选中组件数据列表,组件状态变更为选中状态,工作台重新渲染所有组件;
82.多选的流程逻辑如下所示:
83.按住ctrl键点击组件,从工作台组件列表数据中找到点击组件对应的数据,将找到的数据复制一份添加到工作台多选组件数据列表,将点击组件状态变更为选中状态,工作台重新渲染所有组件;
84.多组件组合的流程逻辑如下所示:
85.将准备组合的组件通过多选操作进行选中,通过右键菜单触发组合操作,创建并初始化组合容器组件,多选组件列表中是否还存在组件数据,按照图层的显示顺序取出多选组件列表中的一条最顶部组件数据为取出的组件数据,增加parentld和容器组件进行关联,将取出的组件数据添加到容器组件的chilcren效组中,根据取出的组件数据计算容器组件的位置和大小,在多选组件列表中将该组件数据删除,根据最终计算结果设置容器组件大小和位置,重新渲染所有组件;
86.操作撤销重做的流程逻辑如下图2所示:
87.图层控制:是指组件之间的上下层关系,当两个组件在同样大小并且在相同的位置时,上层的组件会遮盖住下层的组件,使用户不能看到下层组件的内容。图层控制区就是用于显示当前设计区内所有组件的上下层级关系,图层控制区域的列表中显示的项目和设计区的组件时一一对应关系。用户并可以通过拖动或者箭头控制调整图层控制区域的列表项目的上下层级,对应设计区内的组件图层也会进行相应变更;同时,在图层控制区域通过点击层列表项可以切换设计区对应的选中组件;反之,设计区的选中组件发生变化,图层控制区的列表选中项也会发生变化;对于设计区选中组件变化的响应,图层控制区域是通过监听多选组件列表数据变化来进行的,当设计区选中组件发生变化,导致多选组件列表的数据发生变化后,会触发图层控制区,具体内容如下:
88.取消图层控制列表区内所有列表项的选中状态,多选组件数据列表是否为空,初
始化编号为0,编号小于多选组件数据列表项个数,获取多选组件数据列表中对应编号位置的组件数据,找到组件数据在图层控制区域列表中的对应列表项,将找到的列表项置为选中状态,编号+1;
89.图层控制区域调整组件显示层级的逻辑流程如下所示:
90.在图层控制区域通过鼠标拖动列表项到合适位置放开,根据鼠标释放位置将列表项移动到新的位置,根据拖动的列表项在工作台的组件数据列表区域找到对应组件数据,将找到的组件数据移动到图层控制区域对应列表项指示的索引位置,工作台重新渲染所有组件;
91.属性编辑器:用于提供设置组件样式、绑定组件数据的能力,是用户和组件进行交互重要窗口,属性编辑器会实时监控工作台组件的选中变化,当有某个组件被选中时,属性编辑器会根据选中组件找到对应的组件数据以及对应组件类型的属性配置信息,根据属性配置信息属性编辑器会将配置的属性进行展示并渲染合适类型的编辑控件,同时,从组件数据中获取对应属性的数据进行初始化;当用户在属性编辑器中的编辑控件中编辑修改数据时,修改后的数据会实时反映到选中组件身上,能够马上看到修改效果;
92.工作台选中组件切换时,属性编辑器处理流程逻辑如图3所示:
93.用户在属性编辑中通过编辑控件修改属性值后的流程逻辑如下所示:
94.修改属性编辑器中某个属性编辑控件内的值,根据编辑控件对应的属性配置信息找到属性对应选中组件数据对应json路径,使用编辑控件修改后的值配合json路径修改当前选中组件的对应属性的数据,工作台重新渲染所有组件;
95.数据绑定:用来解决展示什么内容的问题;从绑定数据的加载方式来说,可以分为静态数据和动态数据资产(简称数据资产);
96.静态数据设置是用户在大屏设计过程中直接在属性编辑器面板中对选中组件的数据进行手工输入编辑,最终数据替换到组件配置信息的指定位置,并随组件配置信息一起存储和加载的形式;该形式在大屏加载组件列表和相应配置信息后即可正常展示,无须另外请求数据接口获取组件数据。
97.动态数据资产指获取数据时需要请求指定的数据接口,根据请求参数返回特定的数据内容的形式。动态数据资产从数据来源讲又分为4类;一是从本地上传的excel/csv文件导入的数据,二是直接连接数据库查询的数据,三是通过api接口请求返回的数据,四是通过数据交易市场购买的数据。
98.excel/csv文件导入数据是用户将自己经常使用的数据内容在excel或者csv文件内进行录入,然后在平台内通关文件上传的方式进行提交和解析,之后在平台数据库内会存储一份解析后的数据资产,用户可反复使用该数据内容。
99.数据库直连,是用户在大屏设计时,用户为组件设置数据库连接的服务器、账号、密码以及连接的数据表和查询条件,将按照此设置查询到的数据作为组件展示内容进行绑定的方式。
100.api数据是指用户设计大屏时,通过接入自己提供的api接口的方式为组件提供展示内容的方式;该方式要求用户提供的api接口返回数据格式符合组件展示内容的格式要求,
101.数据交易市场数据,是用户通过在数据交易市场通过购买或免费的方式获得其他
用户提供的数据的使用权,然后将通过数据交易市场接口获取到的数据绑定到组件上进行展示的方式;
102.事件编程:具有一定开发能力的用户提供了对大屏和各种组件的行为进行操控的时机和能力,不同组件具有不同的事件,也会在事件中提供不同的输入参数,用户可根据需要对需要的事件进行编程,通过代码并结合事件的输入参数对组件或者大屏进行样式设置或者行为操作;
103.多页大屏:多页大屏的能力支持是为了将bi平台传统的单纯数据分析展示,扩展成能够支持下钻上卷,用户行为交叉互动,页面关联跳转等复杂逻辑的完整业务流程设计能力。
104.大屏发布:实现大屏效果的设计开发过程和手段,最终将设计好的大屏展示给用户,供用户查看和操作才是最终目的,大屏发布就是将大屏设计效果提供给用户使用的途径,通过大屏发布,可以将大屏页面发布成一个链接,用户通过该链接就可以看到大屏的展示效果,根据发布类型,大屏发布又可以分为私密发布和公开发布;
105.私密发布
–
私密发布是用户可以自定义访问口令的发布方式,通过该方式发布的访问链接,必须使用访问口令才能进入看到展示效果。在发布时,用户还可以进行发布有效期设置,一旦超过有效期限,即使使用访问口令也不能进行;
106.公开发布
–
公开发布是指只要知道发布链接地址就可以通过浏览器打开大屏页面看到大屏展示效果的方式,该方式只需要设置有效期限就可以进行发布;在有效期限内,所有人都可以打开该发布链接;
107.大屏导出:能够将设计好的大屏页面发布成一个链接供用户访问,这个链接是基于bi平台的,依赖bi平台存在的;有些场景下,出于安全或者其他某些层面的考虑,用户希望将大屏页面部署在自己的服务器资源上,使用自己指定的域名链接;这时,就可以通过大屏导出功能将大屏页面的相关资源和代码导出到本地,用户可以根据需要自由进行部署;同时,大屏导出的内容包含完整的源码资源,有开发能力的用户可基于导出的源代码进行二次开发,在已完成的大屏设计基础上增加更多功能和效果,满足更多的用户需求;
108.组件市场:经包含了大量的系统组件可供用户使用,其中包括了丰富的图表组件、表格组件、地图组件;组件市场提供了用户自定义扩展组件和使用自定义扩展组件的能力,遵循前面描述的组件数据规范和定义格式,用户可以在本地开发测试自定义组件;测试无误后,用户可以将自定义组件打包上传到bi平台并进行发布,但在进行组件发布之前,用户需要先申请成为组件开发者才能获得组件上传发布的权利,同时需要遵守组件发布的相关规范和承担相关法律约束,发布之后,所有用户包括开发者自己都可以在组件市场找到该组件,并进行交易使用;
109.数据管理:用户所拥有的数据的管理和维护;此处所指的数据包括用户从本地导入的excel/csv数据、直接连接的数据库数据、引入的api接口数据、数据市场采购的数据4中类型,不同类型的数据都包含了添加、配置和删除的管理功能,添加和配置的内容根据类型不同有所差异;
110.数据交易:指数据资产的交易,用户可以根据需要将自己拥有或拥有者授权的数据在法律法规允许范围内发布到数据市场中,并为数据资产定义合适的价格,供其他人购买使用,为数据发布者赚取收益。
111.在本发明的描述中,需要理解的是,指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
112.在本发明中,除非另有明确的规定和限定,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
113.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。