华为云用户手册

  • 服务编排与模块间调用关系 服务编排将平台提供的部分功能模块进行了封装,并提供了平台其他模块调用服务编排的能力,下面介绍其他模块与服务编排是如何进行相互调用的。 脚本 在服务编排中可以通过配置脚本图元,选择当前应用中的脚本进行脚本的调用。 在脚本中可以通过引入sys库,然后执行sys.invokeFlow({Flow_Name}),进行服务编排的调用。其中,Flow_Name为服务编排的名称。 对象 在服务编排中,可以通过配置记录创建、查询、更新、删除图元,对当前应用中的对象记录进行增删改查的操作,详情请参考如何使用服务编排开发数据的增删改查。 标准页面 在标准页面的模型视图中新建服务模型,能够绑定服务编排,进行服务编排的调用。 BPM 在BPM中可以通过配置“调用服务编排”活动,选择相应的服务编排进行服务编排的调用。 API接口 在新建接口时选择资源类型为“服务编排”,并选择相应的服务编排,即可将服务编排绑定到服务接口上,通过API接口进行服务编排的调用。 BO 在服务编排中调用BO(BO是封装了完整的数据模型、业务逻辑、页面展现的软件单元)进行使用,详情请参考BO图元。 连接器 在服务编排中调用与第三方系统对接的接口,如对接短信发送、云存储、系统中已定义的Action等,详情请参考连接器图元。
  • 服务编排基本能力 拖拉拽式编排流程 以往的传统编程,需要进行变量的声明并编写相应逻辑代码进行服务的开发。使用服务编排进行服务开发,能够通过拖拉拽的方式,将配置项创建的变量以及服务编排中提供的各种功能进行编排,并以流程的方式将服务所要实现的功能展现出来。整个开发过程中无需进行代码的编写,简单快捷,并能够图形化展示服务的逻辑。 逻辑处理 服务编排中提供了逻辑处理的图形化元件,包括赋值、循环、跳出循环、决策和等待。通过这些图元能够实现基本的逻辑处理,并图形化展示,便于开发者理解,详情可参考操作步骤中对逻辑处理图元的使用。 对象处理 服务编排中提供了对象处理的图形化元件,包括记录创建、记录查询、记录更新和记录删除。通过这些图元能够对通过平台创建的自定义对象或标准对象进行相应的增、删、改、查操作,简化处理对象数据的流程,提高开发效率,详情可参考如何使用服务编排开发数据的增删改查中对象处理图元的使用。 服务单元组合脚本、原生服务、BO、第三方服务 服务编排中提供了服务单元组合的图形化元件,包括脚本、子服务编排、原生服务、BO和连接器。通过这些图元能够将平台中已开发完成的服务集成到服务编排中,并重新进行组合,快速扩展出更丰富的业务功能。
  • 规则7:SELECT语句中严禁使用“select from...”形式查询语句 严禁使用“select ...”形式查询语句,请指出select的具体字段。 错误代码示例 import * as db from 'db';let errorDemo = db.sql().exec("select from object_demo where object_name = 'test'") 正确代码示例 import * as db from 'db';let correctDemo = db.sql().exec("select id, object_type from object_demo where object_name = 'test'")
  • 属性 在属性中,设置翻牌器组件的位置、边框、背景等。 图2 属性 基础 组件标题:设置组件的标题。 组件名称:设置组件的名称。 位置 距离左端:组件到页面左侧的距离,单位为px。 距离顶端:组件到页面顶部的距离,单位为px。 宽度:组件的宽度,单位为px。 高度:组件的高度,单位为px。 堆叠顺序:设置组件层叠显示顺序。组件的堆叠顺序默认都是“1”,数字越大,显示越靠前。当需要让组件置底时,可设置堆叠顺序为“0”。 自适应高度:组件的高度是否随宽度改变。 边框:设置组件的边框样式,如全边框或角边框。 背景 样式:设置背景的样式,如普通、居中、拉伸等。 图片链接:背景图片URL。 颜色:设置背景的颜色。
  • 规则4:SELECT语句中查询字段不在表的索引库中 如果SELECT语句where条件中,查询字段并未创建索引,请判断该字段是否需要创建索引,以提高代码查询效率。 错误代码示例 import * as db from 'db';let errorDemo = db.sql().exec("select object_name from object_demo where object_id = ?") 表“object_demo”中的“object_id”并没有创建索引。 正确代码示例 import * as db from 'db';let correctDemo = db.sql().exec("select object_name from object_demo where id = ?") 表“object_demo”中的“id”创建了索引。
  • 规则6:SELECT语句中聚集函数必须增加别名 SELECT语句中,聚合函数必须使用别名方式存储查询结果,以免因聚合函数返回的结果不一致,导致存在兼容性问题。 错误代码示例 import * as db from 'db';let errorDemo = db.sql().exec("select count(*) from object_demo where object_name = 'HuaWei'") 正确代码示例 import * as db from 'db';let correctDemo = db.sql().exec("select count(*) as count from object_demo where object_name = 'HuaWei'") 推荐代码示例 ***聚合函数示例 ****select count(*) as count_res,select max(*) as max_res,select min(*) as min_res,select avg(*) as avg_res,select sum(*) as sum_res
  • 规则8:SELECT语句中拼接的参数值请谨慎使用入参变量 SELECT语句中,拼接的参数值请谨慎使用入参变量,以免引起SQL注入的风险。 错误代码示例 import * as db from 'db';let errorDemo = "select id,name from object_demo where id = ";errorDemo += input.parameter let errorDemoResult = db.sql().exec(errorDemo) 其中,“input.parameter”为脚本入参。 正确代码示例 import * as db from 'db';let correctDemo = "select id,name from object_demo where id = ?";let correctDemoResult = db.sql().exec(correctDemo, { params: [input.parameter] }) 其中,“input.parameter”为脚本入参。
  • 规则10:SELECT语句中谨慎使用order by SELECT语句中,请谨慎使用order by。如果需要使用order by,请为排序字段增加索引,以提高查询效率。如果无法增加索引,需要关注是否存在查询性能低下的风险。 错误代码示例 import * as db from 'db';let errorDemo = db.sql().exec("select object_name from object_demo where object_id = 'HuaWei' Orde by createdDate") 表“object_demo”中的“createdDate”,并没有创建索引。 正确代码示例 import * as db from 'db';let correctDemo = db.sql().exec("select object_name from object_demo where id = 'HuaWei' Order by createdDate") “object_demo”中的“createdDate”,创建了索引。
  • 操作步骤 参考如何进入经典开发环境中操作,进入经典版开发环境。 单击对应的应用(如App、BO或Addon App),进入应用设计器。 在左侧菜单列表中,单击,进入自动保存恢复页面。 在自动保存恢复页面,可查看到AstroZero自动保存的数据。 注意数据不是实时刷新的。 单击“查看”,可查看每次自动保存的数据。 系统默认每15分钟自动保存一次,如果用户打开的服务编排等没有修改,则不会再自动保存一次而占用15次限额。 图1 查看自动保存的数据 单击“恢复”,提示“恢复操作将会另存一个新的标准页面/新版本,确认执行?”,单击“确定”,可将自动保存的数据另存为新页面或新版本。 图2 将自动保存的数据另存为新页面或新版本
  • 测试场景下创建证书和私钥的操作方法 该方法创建的证书通常只适用于测试场景。 执行如下命令生成密钥文件tls.key。 openssl genrsa -out tls.key 2048 命令执行后将在当前目录生成一个tls.key的私钥文件。 生成的密钥格式必须为: ----BEGIN RSA PRIVATE KEY-----……………………………………………..-----END RSA PRIVATE KEY----- 用此私钥去签发生成自己的证书文件tls.crt。 openssl req -new -x509 -key tls.key -out tls.crt -days 3650 根据提示输入国家、省、市、公司、部门、申请人和邮箱,按回车键确认。 生成的证书格式必须为: -----BEGIN CERTIFICATE-----……………………………………………………………-----END CERTIFICATE-----
  • 前提条件 已下载之前设计的Chart包。 在AstroZero开发环境的Native Service配置页面,选择“导航”。 在“Chart设计”页签版本列表区域,单击需要导出的Chart后的导出按钮。 图1 导出Chart包 操作列按钮分别提供编辑Chart包、修改Chart包状态(单击后,Chart包状态是“Published”,无法再编辑该Chart包。单击后,Chart包状态是“Draft”,可编辑该Chart包。该界面不提供发布功能,实际发布要去CCE部署和发布)、预览Chart配置、导出Chart包、克隆已有Chart包配置和删除功能。
  • 相关概念 由于Native Service涉及的概念比较多,在做Native Service配置前,建议先提前了解如下相关概念。部分概念说明源于Kubernetes官网介绍,若需要了解更多Kubernetes相关内容,请参考Kubernetes资料。 Native Service 将租户已有的一些服务(服务为租户线下开发,运行在Docker容器中,并非在AstroZero上开发)的API集成到AstroZero上,供上层应用调用,帮助租户更加高效的构建应用。 Chart 在部署Native Service前,需要配置Chart,用于生成kubernetes(简称“K8s”)资源配置文件。配置Chart,其实是配置部署Docker容器时需要的资源、存储、网络等一系列参数,为容器的部署、服务的运行提供支撑。 Kubernetes(简称“K8s”) Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容和维护等功能。 节点(Node) 每一个节点对应一台服务器(可以是虚拟机实例或者物理服务器),容器应用运行在节点上。节点上运行着Agent代理程序(kubelet),用于管理节点上运行的容器实例。 实例(Pod) 实例(Pod)是 Kubernetes 部署应用或服务的最小的基本单位。一个Pod 封装多个应用容器(也可以只有一个容器)、存储资源、一个独立的网络 IP 以及管理控制容器运行方式的策略选项。 图1 实例(Pod) 容器 一个通过Docker镜像创建的运行实例,一个节点可运行多个容器。容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。 图2 实例Pod、容器Container、节点Node的关系 Docker Docker在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等,极大的简化了容器的创建和维护。使得Docker技术比虚拟机技术更为轻便、快捷。Docker是Kubernetes Pod中最常用的容器运行时,但Pod也能支持其他的容器运行时。若需要了解更多Docker相关内容,请参考Docker官网。 Docker镜像 Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。 镜像(Image)和容器(Contianer)的关系,像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。 云容器引擎(Cloud Container Engine,简称“CCE”) 云容器引擎提供高可靠高性能的企业级容器应用管理服务,支持Kubernetes社区原生应用和工具,简化云上自动化容器运行环境搭建。 密钥(Secret) 密钥是一种用于存储工作负载所需要认证信息、密钥的敏感信息等的资源类型,内容由用户决定。资源创建完成后,可在容器工作负载中作为文件或者环境变量使用。 ConfigMap ConfigMap是一种用于存储工作负载所需配置信息的资源类型,内容由用户决定。配置项创建完成后,可在容器工作负载中作为文件或者环境变量使用。允许您将配置文件从容器镜像中解耦,从而增强容器工作负载的可移植性。 无状态负载 等同于Kubernetes中的“Deployment”概念,所有Pod实例之间是对等的,互不依赖,少了任意一个Pod实例,并不影响整个工作负载的功能。 有状态负载 等同于Kubernetes中的“StatefulSet”概念,是用来管理有状态应用的工作负载API对象。和“无状态负载”相同的是,“有状态负载”管理了基于相同容器定义的一组Pod,和“无状态负载”不同的是,“有状态负载”为每个Pod维护了一个固定的ID。这些Pod是基于相同的声明来创建的,但是不能相互替换。无论怎么调度,每个Pod都有一个永久不变的ID。 Service 可以理解为使用标签选择器(selectors)标识的一组Pod,通过Service可以访问到这组Pod。 Ingress Ingress是对集群中服务的外部访问进行管理的API对象,访问方式是HTTP或者HTTPS。
  • 使用原生服务具备哪些优势 面向第三方技术开发人员,原有资产不用重新开发,复用原有的业务和技术能力,可快速接入AstroZero,实现与现网系统快速集成,提升系统粘性。 提升微服务构建能力,优化应用系统架构,助力伙伴基于AstroZero构建重量级行业应用。 自有资产可基于AstroZero资产市场,实现共享、共建合作生态。 使用CCE/CCE敏捷版部署,接入AstroZero,投资小、成本低。传统的IT实现,客户如果要构建应用系统,必须从硬件和软件全部一次性购买。使用AstroZero,像住酒店一样,按需入驻,不需要关注酒店的建筑、运营和维修。初始投资少、成本低、减少投资风险。
  • 如何使用原生服务 租户线下开发了一些服务,服务运行在Docker容器中。租户希望可将线下开发的这些服务集成到AstroZero上,供AstroZero内部应用或者其他第三方系统调用。 Native Service在AstroZero内的使用场景包括但不限于: 在服务编排内部进行调用 租户线下开发的服务集成到AstroZero上,可以作为Native服务,被服务编排调用。 外部系统通过Restful接口调用 通过下面的REST接口,调用原生服务,输入参数在body中填写。 https://AstroZero域名/native/NativeService1/0.1.0/health 其中,“AstroZero域名”为AstroZero对外提供的默认域名,“/native/NativeService1/0.1.0/health”为该服务开放接口的URL,可以在开放接口详情中获取。该调用方式,只适用于外部接口。 图3 查看接口URL 在脚本中调用 租户线下开发的服务集成到AstroZero上,且在AstroZero上自定义该服务的开放接口后,可以在脚本中内部调用开放接口。 脚本部分示例如下: let resp3 = httpClient.post("https://AstroZero域名" + "/native/NativeService1/0.1.0/health", callOptions3);console.log(context.getHost())console.log(resp3.body);if (resp3.body.resCode == "0" && resp.body.result) {console.log('auth success, currrent user is: ', resp3.body.result.name)} 其中,“AstroZero域名”为AstroZero对外提供的开发态默认域名,“/native/NativeService1/0.1.0/health”为该服务开放接口的URL。该调用方式,只适用于外部接口。 在页面中调用 在高级页面的Widget代码中,调用原生服务的开放接口。标准页面则可在事件代码中直接调用原生服务的开放接口或通过定义服务模型,关联调用原生服务的服务编排,再在页面事件代码中,调用服务模型,从而来调用原生服务。 在标准页面上传组件中,还可以调用原生服务的自定义接口实现上传功能。标准页面中上传组件功能介绍,请参见上传。 在工作流中调用 在服务编排中调用原生服务后,向工作流设计页面的泳道中,拖入“调用服务编排”图元。选择,在服务编排配置页面,选择需要调用的服务编排。 在触发器中调用 在服务编排中调用原生服务后,在触发器中可调用该服务编排,当满足触发器规则时,系统会执行该服务编排。
  • 配置Chart时的规则约束 规则1:在配置Chart时,Chart中应尽量避免包含密码等敏感信息。若需要配置敏感信息,用户需要自行对敏感信息进行加密,且Chart中不能包含解密敏感信息需要的密钥。 规则2:将Chart中的易变参数定义为全局变量,可避免因为参数变更时,修改并重新生成Chart包。 全局变量将用于生成Chart包中的“values.yaml”文件。在华为云CCE上部署Chart时,“values.yaml”文件的内容可以通过界面进行修改。因此,应将和环境相关的信息或其他易变参数定义为全局参数,例如镜像地址、pod实例数等。 规则3: 必须要为Ingress资源配置注解,注解中键为“nginx.ingress.kubernetes.io/ssl-redirect”,值为“false”。 华为云CCE的Kubernetes集群默认部署Nginx控制器,需要在Ingress上添加注解。如何添加注解,请参考Kubernetes资料。 AstroZero平台在调用Native服务的接口时,无法处理重定向的响应,必须给Ingress添加表1中的注解。 表1 注解1 注解中键 注解中值 nginx.ingress.kubernetes.io/ssl-redirect false Nginx控制器默认后端service使用http协议,如果后端service使用的是https协议,请添加表2中的注解。 表2 注解2 注解中键 注解中值 nginx.ingress.kubernetes.io/backend-protocol HTTPS nginx.ingress.kubernetes.io/secure-backends true 建议1:保持Chart简洁,建议一个Chart中工作负载不超过3个。 保持Chart简洁,可以降低部署、升级失败的概率,在升级时能更有效地控制升级的范围。 建议2 :同一个Chart中,为所有图元的名称定义相同的前缀。 例如,某Chart中所有图元以“template-”为前缀,无状态负载的名称可以命名为“template-deployment”,ConfigMap的名称可以命名为“template-dbconfig”等。使用相同的前缀,可以使用户更方便识别Kubernetes资源的归属,同时降低命名冲突的可能性。 建议3:当全局变量的值是多行文本时,文本中出现的空行应不含任何空格字符。 全局变量将用于生成Chart包中的“values.yaml”文件,在yaml文件中,通过缩进表达层次关系,而空行中的空格字符会影响yaml文档的缩进排版。例如,当全局变量名为“dbConfig”,变量值为: jdbc.url: jdbc:mysql://127.0.0.1:3306/testdbjdbc.username: adminjdbc.password: {XXXXXXXX}jdbc.driver-class-name: org.mariadb.jdbc.Driver 生成的values.yaml内容为: dbConfig: |- jdbc.url: jdbc:mysql://127.0.0.1:3306/testdb jdbc.username: admin jdbc.password: {XXXXXXXX} jdbc.driver-class-name: org.mariadb.jdbc.Driver 当全局变量名为“dbConfig”,变量值为(第4行中包含一个空格字符)。 jdbc.url: jdbc:mysql://127.0.0.1:3306/testdbjdbc.username: adminjdbc.password: {XXXXXXXX} jdbc.driver-class-name: org.mariadb.jdbc.Driver 生成的values.yaml内容为: dbConfig: "jdbc.url: jdbc:mysql://127.0.0.1:3306/testdb\njdbc.username: admin\njdbc.password:\ \ changeit\n \njdbc.driver-class-name: org.mariadb.jdbc.Driver" 通过流水线部署Chart时,第一种格式的“values.yaml”文件,更容易通过脚本进行修改。
  • 配置API时的规则约束 规则:在“API设计”页签,单击“开始设计API”,创建API时,API的命名空间应选择“局部命名空间”。 在创建API时,“命名空间”支持选择“局部命名空间”和“全局命名空间”。使用“局部命名空间”,可保证API的名称不会和其他Native服务的API名称出现冲突。而“全局命名空间”,是为了版本向前兼容而保留的。在AstroZero 1.2.10及之前的版本中,API无命名空间的概念,相当于API定义在全局名称空间中,因此,不同Native服务的API命名出现冲突的可能性比较大。
  • 镜像开发中的规则约束 用户可自行开发镜像,并上传到CCE华为云容器中或使用第三方镜像仓库的镜像。在进行镜像开发时,需要遵循如下的规则约束: 规则1:容器镜像必须使用,1.11.2或以上版本的Docker客户端进行制作。 如何制作Docker镜像,请参考如何编写高效的Dockerfile。 规则2:Native服务向AstroZero平台开放的接口,必须是“application/json”格式的restful接口。 开放给AstroZero应用调用的Native服务接口,请求消息和响应消息的“Content-Type”都必须是“application/json”。 规则3:Native服务开放的接口应使用HTTP消息头进行认证,不要依赖于Cookie。 AstroZero会丢弃Native服务返回的Cookie信息,因此,Native不能使用Cookie来维持状态。 Native服务示例代码如下: LOG.info("Authentication begin.");String auth = request.getHeader("Authorization");// next: verify auth 建议:服务的日志建议输出到一个独立的目录,且日志文件命名以“.log”、“.trace”或“.out”后缀结尾,方便后续使用华为云的应用运维管理(简称AOM),采集日志文件,并将日志展示在AOM的界面上。
  • 如何设置应用 除了定义应用包含的页面、对象、后台处理逻辑,还支持定义应用的页面布局、导航等。 系统参数、选项列表、错误码这类配置的删除操作都属于全局范围的操作,如果是多个应用同时使用的配置项,建议不要在某一应用内随意删除。 设置布局与颜色 设置视图 自定义导航条 设置页面 设置宏 自定义选项列表 设置系统参数 设置定时任务 自定义错误码 设置字段多语言资源 配置数据导入模板 配置翻译任务 配置业务权限凭证 配置主题 管理运营配置 配置应用 父主题: 应用
  • 如何编译发布应用 在AstroZero低代码平台中,编译发布应用主要包括如下三步。 属性设置。 在应用中,单击左下角的,选择“设置”。 图2 编译前属性设置入口 请根据实际用途,设置需要编译的应用包类型(资产包、源码包)以及相关组件的属性(例如,是否组件代码受保护、是否只读可写等)。 图3 软件包设置 编译。 设置完成后,单击左下角的图标,选择“编译”,启动应用编译。如果编译错误,则需要对错误组件进行修复,完成后才可进行下一步。 图4 编译成功页面 打包发布。 编译(资产包)完成后,单击,会出现如图5所示页面。请根据实际需要,选择发布方式。例如,发布到AstroZero下的“我的仓库”,也可以发布到其他平台。其中,发布到“我的仓库”主要用于后续的沙箱环境测试和生产环境运行。发布到其他平台主要用于应用分享和商业用途。编译发布应用更多介绍,请参见应用打包发布。 编译类型为“源码包”时,只有发布到“我的仓库”一种发布方式。 图5 发布应用
  • 场景描述 本章节以开发网站中常用的标签切换页面为例,向您介绍如何基于组件模板在线开发组件。标签切换效果如图1所示,页面中主要包含标签栏和详情展示模块两部分,可以通过切换标签来控制详情展示模块中的展示内容。 图1 标签切换效果 本章节主要在高级页面中,通过两个组件(标签页组件、信息展示组件)复现上述场景。其中,标签页组件包含产品类别(手机、笔记本、平板等),信息展示组件用于展示不同产品类别的图片信息。两个组件通过事件-动作机制实现交互,在标签页组件中注册标签切换事件,此事件绑定信息展示组件中切换产品图片的动作。 本章节使用的示例组件开发过程中,使用了前端开发框架Vue及组件库Element。事件-动作机制的详情介绍,请参见如何实现组件交互。
  • 属性 在属性中,设置雷达图组件的位置、边框、背景等。 图2 属性 基础 组件标题:设置组件的标题。 组件名称:设置组件的名称。 位置 距离左端:组件到页面左侧的距离,单位为px。 距离顶端:组件到页面顶部的距离,单位为px。 宽度:组件的宽度,单位为px。 高度:组件的高度,单位为px。 堆叠顺序:设置组件层叠显示顺序。组件的堆叠顺序默认都是“1”,数字越大,显示越靠前。当需要让组件置底时,可设置堆叠顺序为“0”。 自适应高度:组件的高度是否随宽度改变。 边框:设置组件的边框样式,如全边框或角边框。 背景 样式:设置背景的样式,如普通、居中、拉伸等。 图片链接:背景图片URL。 颜色:设置背景的颜色。
  • 属性 在属性中,设置基本饼图组件的位置、边框、背景等。 图2 属性 基础 组件标题:设置组件的标题。 组件名称:设置组件的名称。 位置 距离左端:组件到页面左侧的距离,单位为px。 距离顶端:组件到页面顶部的距离,单位为px。 宽度:组件的宽度,单位为px。 高度:组件的高度,单位为px。 堆叠顺序:设置组件层叠显示顺序。组件的堆叠顺序默认都是“1”,数字越大,显示越靠前。当需要让组件置底时,可设置堆叠顺序为“0”。 自适应高度:组件的高度是否随宽度改变。 边框:设置组件的边框样式,如全边框或角边框。 背景 样式:设置背景的样式,如普通、居中、拉伸等。 图片链接:背景图片URL。 颜色:设置背景的颜色。
  • 属性 在属性中,设置仪表盘组件的位置、边框、背景等。 图2 属性 基础 组件标题:设置组件的标题。 组件名称:设置组件的名称。 位置 距离左端:组件到页面左侧的距离,单位为px。 距离顶端:组件到页面顶部的距离,单位为px。 宽度:组件的宽度,单位为px。 高度:组件的高度,单位为px。 堆叠顺序:设置组件层叠显示顺序。组件的堆叠顺序默认都是“1”,数字越大,显示越靠前。当需要让组件置底时,可设置堆叠顺序为“0”。 自适应高度:组件的高度是否随宽度改变。 边框:设置组件的边框样式,如全边框或角边框。 背景 样式:设置背景的样式,如普通、居中、拉伸等。 图片链接:背景图片URL。 颜色:设置背景的颜色。
  • 如何设置数据系列 选中基本饼图组件,单击鼠标右键选择“高级设置”。 展开数据系列配置,单击旁边的“+”,添加数据系列。 在右侧“数据”页签,配置该数据系列的数据。 例如,在使用系统预置的静态数据基础上,添加如下加粗代码,配置新增数据系列的数据。也可以使用“动态数据”调用后台接口URL返回如下结构模型数据。 图6 两个数据系列不用圆心坐标设置 {"resCode": "0","resMsg": "成功","result": [{"dataValue": [{"name": "关键事件","value": [{"value": 635,"name": "工程管理"},{"value": 310,"name": "社会环境"}]},{"name": "类别","value": [{"value": 435,"name": "计算机"},{"value": 210,"name": "文学"}]}]}]} 配置添加的数据系列圆心坐标,如果不配置,两个数据系列会重叠。 设置完成后,单击“确定”。
  • 属性 在属性中,设置散点图组件的位置、边框、背景等。 图2 属性 基础 组件标题:设置组件的标题。 组件名称:设置组件的名称。 位置 距离左端:组件到页面左侧的距离,单位为px。 距离顶端:组件到页面顶部的距离,单位为px。 宽度:组件的宽度,单位为px。 高度:组件的高度,单位为px。 堆叠顺序:设置组件层叠显示顺序。组件的堆叠顺序默认都是“1”,数字越大,显示越靠前。当需要让组件置底时,可设置堆叠顺序为“0”。 自适应高度:组件的高度是否随宽度改变。 边框:设置组件的边框样式,如全边框或角边框。 背景 样式:设置背景的样式,如普通、居中、拉伸等。 图片链接:背景图片URL。 颜色:设置背景的颜色。
  • 属性 在属性中,设置基本柱图组件的位置、边框、背景等。 图2 属性 基础 组件标题:设置组件的标题。 组件名称:设置组件的名称。 位置 距离左端:组件到页面左侧的距离,单位为px。 距离顶端:组件到页面顶部的距离,单位为px。 宽度:组件的宽度,单位为px。 高度:组件的高度,单位为px。 堆叠顺序:设置组件层叠显示顺序。组件的堆叠顺序默认都是“1”,数字越大,显示越靠前。当需要让组件置底时,可设置堆叠顺序为“0”。 自适应高度:组件的高度是否随宽度改变。 边框:设置组件的边框样式,如全边框或角边框。 背景 样式:设置背景的样式,如普通、居中、拉伸等。 图片链接:背景图片URL。 颜色:设置背景的颜色。
  • 如何设置数据系列 选择基本柱图组件,单击鼠标右键选择“高级设置”。 展开数据系列配置,单击旁边的“+”,添加数据系列。 图5 配置数据系列 在右侧“数据”页签,配置该数据系列的数据。 例如,在使用系统预置的静态数据基础上,添加如下加粗代码,配置新增数据系列的数据。也可以使用“动态数据”调用后台接口URL返回如下结构模型数据。 {"resCode": "0","resMsg": "成功","result": [{"order": {"dataX": ["保洁","安管","工程","绿化","消杀","特约"],"dataValue": [{"title": "工单总数","value": [411,965,427,630,85,800]},{"title": "费用","value": [500,1065,327,730,185,1000]}]}}]} 配置添加的数据系列柱状条颜色、柱状条宽度、柱条边框圆角、数值是否显示,柱状图上显示的数值对应上述静态数据中的数值。 设置完成后,单击“确定”。
  • 属性 在属性中,设置基本折线图组件的位置、边框、背景等。 图2 属性 基础 组件标题:设置组件的标题。 组件名称:设置组件的名称。 位置 距离左端:组件到页面左侧的距离,单位为px。 距离顶端:组件到页面顶部的距离,单位为px。 宽度:组件的宽度,单位为px。 高度:组件的高度,单位为px。 堆叠顺序:设置组件层叠显示顺序。组件的堆叠顺序默认都是“1”,数字越大,显示越靠前。当需要让组件置底时,可设置堆叠顺序为“0”。 自适应高度:组件的高度是否随宽度改变。 边框:设置组件的边框样式,如全边框或角边框。 背景 样式:设置背景的样式,如普通、居中、拉伸等。 图片链接:背景图片URL。 颜色:设置背景的颜色。
  • 如何设置数据系列 选中水位图组件,单击鼠标右键选择“高级设置”。 展开数据系列配置,单击旁边的“+”,添加数据系列。 在右侧“数据”页签,配置该数据系列的数据。 例如,在使用系统预置的静态数据基础上,添加如下加粗代码,配置新增数据系列的数据。也可以使用“动态数据”调用后台接口URL返回如下结构模型数据。 图4 新增数据系列 {"resCode": "0","resMsg": "成功","result": [{"dataValue": [{"name": "报警处理率","value": [{"value": 0.65,"name": ""}]},{"name": "命中率","value": [{"value": 0.15,"name": ""}]}]}]} 配置添加的数据系列图表位置、图表形状等。 设置完成后,单击“确定”。
  • 属性 在属性中,设置基本饼图组件的位置、边框、背景等。 图2 属性 基础 组件标题:设置组件的标题。 组件名称:设置组件的名称。 位置 距离左端:组件到页面左侧的距离,单位为px。 距离顶端:组件到页面顶部的距离,单位为px。 宽度:组件的宽度,单位为px。 高度:组件的高度,单位为px。 堆叠顺序:设置组件层叠显示顺序。组件的堆叠顺序默认都是“1”,数字越大,显示越靠前。当需要让组件置底时,可设置堆叠顺序为“0”。 自适应高度:组件的高度是否随宽度改变。 边框:设置组件的边框样式,如全边框或角边框。 背景 样式:设置背景的样式,如普通、居中、拉伸等。 图片链接:背景图片URL。 颜色:设置背景的颜色。
共100000条