华为云用户手册

  • 什么是Astro Bot 华为云Astro智能助手(Astro Bot)作为提高生产力的机器人工具,提供构建快捷指令一样的体验,通过语料导入和智能分析,轻松构建企业知识库,打造多渠道服务助手,提高企业智能服务能力,实现业务过程的自动化。 “华为云Astro智能助手(Astro Bot)”为白名单特性,请联系后台管理人员开通后方可使用。 图1 Astro Bot业务全景图 使用Astro Bot作为提高生产力的机器人工具,具备如下优势: 多渠道语义积累、多模型语料训练,配置化快速构建业务机器人 基于连接器开放框架,构建对外能力 协同Astro其他产品,提供Astro平台及华为云其他云服务的扩展功能 内嵌测试工具,验证识别准确率 支持语音智能助手 一个配置方案,满足多重配比需要 父主题: 初识Astro Bot
  • 操作步骤 参考如何登录经典应用设计器中操作,登录经典版应用设计器。 在左侧菜单栏中,单击。 在“已发布”中,选中包后单击“下载”,下载应用的zip包到本地。 图1 下载应用的zip包 可以用该zip包安装定制应用到其他AstroZero环境,zip包含的文件请参见表1。 图2 应用配置 表1 应用zip包文件说明 文件名 说明 data 应用涉及的实例化数据,在应用“配置”内创建的数据,以及该应用使用的连接器Connector(例如发送短信连接器、ROMA连接器、Redis连接器等),会自动归档到该目录下。不归档非应用内创建的实例化数据。 例如,在应用配置(如图2)中,创建的系统参数、选项列表等,应用内即便使用了它们,也不会自动归档,需要手动导出对象然后归档到该目录下。手动导出的方法,请参见如何导入导出数据。 flow 应用涉及的服务编排。 pageresource 标准页面的相关信息。 picklist 应用涉及的选项列表,只包含在应用内创建的选项列表。 schema 应用涉及的对象的元数据。 script 应用涉及的脚本。 website 高级页面的相关信息,例如,Widget、library和站点信息等。 CustomAPI.yaml 自定义接口的yaml文件。 packageinfo.json 软件包的元数据描述文件,主要包含应用的软件包名字、描述信息以及作者信息等。
  • 操作步骤 参考如何登录经典应用设计器中操作,登录经典版设计器。 在应用开发页面左侧,单击,选择“设置”。 包类型选择“资产包”,界面参数详细介绍,请参见如何将应用发布到“我的仓库”。 图1 编译设置 在应用开发页面左侧,单击,选择“编译”。 编译成功后,页面会显示“编译XXX成功”。 图2 编译资产包 在应用开发页面左侧,单击,选择“开天企业工作台”。 可将应用中的标准页面和高级页面,发布到华为开天企业工作台。 在弹出的页面,设置用户访问首页和管理后台首页,单击“发布”。 图3 发布开天企业工作台设置 页面显示“发布成功”,则表示应用已成功发布到开天企业工作台。 登录开天企业工作台管理后台,参考应用权限控制中操作,设置应用可见范围。
  • 操作步骤 参考如何登录经典应用设计器中操作,登录经典版应用设计器。 将鼠标放在某个文件夹上(如Logic),单击加号,选择“脚本”。 图1 选择脚本 设置脚本的名称,单击“添加”。 图2 新增一个空脚本 在脚本编辑器中,输入如下代码。 // Here's your code.import * as connector from "connector";let client = connector.newClient("LT927__test", "test1");let result = client.invoke("LT927__flapRefund", {});console.log(result) 其中,“LT927__test”表示连接器的名称,“test1”为创建Rest Service(自定义连接器)配置的认证信息名称,“LT927__flapRefund”为4中配置的动作名称。 单击脚本编辑器页面上方的,保存脚本。 脚本保存成功后,单击,运行脚本。 在页面底部“输入参数”页签中,输入请求参数,单击测试窗口右上角的。 在“日志”页签,查看打印的日志。
  • 操作步骤 在“故障单流程”应用开发工作台,单击左侧导航栏下方的,进入应用预览页面。 图1 进入应用预览页面 在左侧导航栏选择“故障上报”,在“故障上报录入”页面录入故障,单击“提交”。 例如部门选择“App Cube”,“简要描述”和“详细描述”中填写“前端页面调用后台接口不通。” 图2 录入故障 在左侧导航栏中,选择“待办事项”,在“我的待办”中单击“一线分析”。 图3 单击一线分析 在“一线分析”页面进行操作,可填写一线分析的内容,单击“完成”。 在该页面,还可以进行其他活动。 委托:将任务主动委托给其他人处理。A把任务委托给B,A、B均可以查询和处理该任务。 移交:将任务主动转移给其他人处理。A把任务转移给B,则仅有B可以查询和处理该任务。 完成:表示执行任务并办理完成。 可选活动:在该任务中,还可以进行其他活动,这些活动是在7.e中配置的。 后续在左侧导航栏选择“待办事项”,在“我的待办”中查看并处理待办任务,测试整个流程是否符合预期。
  • 操作步骤 在运行环境主菜单中,单击“业务配置中心”。 图1 选择业务配置中心 在“应用配置”页签的App下,单击具体的应用,例如“故障单流程”。 图2 单击故障单流程 在左侧导航栏中,选择“流程配置”,单击需要定制修改的业务流程,例如“事故处理场景”。 选择“业务模型”,显示该业务流程涉及的模型对象,单击“新建”,可添加自定义字段。 图3 添加自定义字段 选择“场景流程”,显示该业务流程涉及的场景流程。 (当需要新建场景流程时,可执行该步骤)单击“新建”,可基于模板新增场景流程。 图4 新增流程 (可选,当需要修改已有场景流程时,可执行该步骤)单击列表中的流程标签,进入流程配置页面,单击左上方禁用图标,可对已有的流程进行修改。 当前仅支持修改“定制”类型的场景流程,“预置”类型的流程场景不支持编辑修改,仅可以启用/禁用。 图5 选择场景流程 图6 修改已有流程 选择“页面”页签,可查看到被流程所引用的页面列表。 图7 查看被流程引用的页面
  • 场景说明 根据对象的数据生成资源列表数据,用于前台数据呈现,启用本脚本后,可实现数据导入模板使用。 创建脚本前,需要先创建脚本中操作的对象ApprovedResource,其字段如表1所示。 表1 对象说明 字段标签 字段名称 字段类型 取值 读写权限 含义 ownerId ownerId 文本 长度:255 全选 资源拥有者ID ResourceName ResourceName 文本 长度:255 全选 资源名称 Type Type 选项列表 枚举值如下: File Folder 全选 资源类型 SubmitDate SubmitDate 日期/时间 不涉及 全选 资源提交时间 ApproveDate ApproveDate 日期/时间 不涉及 全选 资源审批时间 Status Status 选项列表 枚举值如下: Waiting Submitted Approved 全选 审批状态
  • 响应式组件开发基本原则 组件的响应式设计,是高级页面适配多终端的重要前提。为确保自定义组件能够自适应不同分辨率设备,在组件开发中用户需要遵从响应式设计的基本原则。 根据内容设计。 不专注于特定屏幕宽度,而是专注于内容设计,当屏幕越小或浏览器窗口越窄时,内容所占的垂直高度越来越多,内容就要向下方自然延伸。建议从小屏幕开始,逐步设置断点(例如设备宽度320px、768px、1024px),针对不同设备进行设计,形成流动布局。 针对复杂情况,可以使用CSS3的@media查询。针对不同的终端类型和不同屏幕分辨率的设备,定义不同样式,选择应用不同的CSS规则。只有当该设定媒体查询与正在使用的设备匹配时,其对应的CSS规则才起作用。 CSS语法如下: @media mediatype and|not|only (media feature) { CSS-Code;} 其中,参数说明如表1所示。 表1 @media语法参数说明 参数 值 说明 mediatype all 用于所有设备。 screen 用于电脑屏幕、平板电脑、智能手机等。 print 用于打印机和打印预览。 media feature aspect-ratio 定义输出设备中,页面可见区域宽度与高度的比率。 max-width 定义输出设备中,页面最大可见区域的宽度。 max-height 定义输出设备中,页面最大可见区域的高度。 min-width 定义输出设备中,页面最小可见区域的宽度。 min-height 定义输出设备中,页面最小可见区域的高度。 设置示例:对页面宽度不同的设备,设定不同背景颜色。 /*媒体查询*//*页面宽度大于1200px 时,背景颜色为蓝色,主要用于大屏设备*/@media screen and (min-width: 1200px) { body { background-color:blue; }}/*页面宽度在992px和1200px之间,背景颜色为红色,用于中等屏幕PC端*/@media screen and (min-width: 992px){ body { background-color:red; }} 避免固定尺寸。 使用像px这样的绝对单位,来指定元素的宽高、边框和字体大小等,固定宽度容易破坏响应式布局。为了布局更加灵活,推荐使用百分比、em或rem等相对单位,这样可以保证浏览器字体大小调整和缩放时,能正常显示。常用相对单位,如表2所示。 表2 常用相对单位 单位 说明 em 在font-size中,使用相对于父元素的字体大小,在其他属性中使用相对于自身的字体大小,如width。 rem 相对根元素的字体大小。 ch 相对于数字“0”的宽度。 ex 相对于字符“x”的高度。 lh 相对于元素line-height计算值。 最大和最小值。 对于大屏页面和移动端,内容扩充占满整个屏幕宽度并不总是适用的。展示同样的内容,手机端可能更适宜充满屏幕宽度,而大屏则需要在宽度上留出一定边界,使得布局上更加美观。所以,设定最大值或最小值,可以帮助您设计更为合理的布局。例如,组件宽度设定100%,最大宽度设定1024px,那么内容扩充的最大宽度即为1024px,当屏幕宽度超出1024时,内容在宽度上不会再继续扩展。 嵌套对象。 对于关系紧密的多个元素,采用相对位置会使得元素难以控制。此时,可以考虑放置于同一容器中集中管理。在容器内部,可以考虑采用绝对单位固定其关系,这对于不需要扩展的按钮等元素来说非常有效。 图片的自适应。 自适应组件设计还需要满足图片的自适应,可以使用max-width,对图片宽度进行限制,确保图片宽度不会超过浏览器窗口或容器可视部分的宽度。 移动优先。 通常来说,移动端屏幕较小、视图简单,而大屏空间大、呈现更为复杂和多样。那么,从移动端小屏幕设计入手过渡到大屏幕设计,在开发中逐步增加CSS的复杂度,通过补充设计的方式逐步丰富布局。这样,通过移动优先,可以更轻松地开发响应式布局。
  • 什么是流程配置 了解流程配置前,我们先熟悉一下BPM的概念。BPM是Astro轻应用提供的图形化流程编排引擎,着重于构建带有用户交互行为的业务流程,例如审批流、工单派发流程、故障单处理流程等。 在开发环境开发好带有BPM资源的应用后,并将应用打包发布到运行环境。在运行环境中该BPM资源是受保护的,不能定制修改,但某些业务场景,用户希望能够在运行环境中基于已有的BPM流程进行复用、定制修改。在该背景下,Astro轻应用提供了流程配置功能。 流程配置是对BPM流程进行一定的封装,其中定义了流程的基本要素,使用户能够在运行环境的业务配置中心中对流程进行复用及定制。 下面以创建一个故障单处理流程为例,介绍如何在开发环境中创建流程配置,并打包发布到运行环境,以及如何在运行环境中进行复用和定制。 图1 创建流程配置流程图 父主题: 如何创建流程配置
  • 使用说明 在如下两个场景,可以基于已有脚本,创建新脚本: 场景1:在已有脚本基础上新建版本。 因业务需要,脚本要实现的能力变化,此时可以基于原有脚本修改,并保存为脚本的新版本。在此场景下,原有脚本作为老版本自动失效。 场景2:在已有脚本基础上新建脚本。 需要开发的新脚本与已有的某个脚本类似,此时可以基于原有脚本修改,再保存为新的脚本名称。在此场景下,原有脚本仍然有效。新脚本和老脚本也没有关联关系,各自独立。
  • 使用说明 页面间组件的交互,除了需要事件-动作机制,还需要用到低代码中的页面宏。本章节通过具体示例,为您介绍页面间组件交互的方法。如图1所示,高级页面Page1中包含示例组件widgetEventTemplate,高级页面Page2中包含示例组件widgetPageMacroTemplate,单击Page1页面中的OK按钮,输入框中的数据会通过页面宏传递给Page2。 图1 页面间组件交互场景示例 页面间的组件交互原理如下图所示,在配置事件时,选择“默认”类别中的页面跳转,并通过新增动作参数将事件的参数传给页面宏,在跳转的目标页面中读取页面宏数据。 图2 Page传值原理 主要实现原理如下: widgetPageMacroTemplate 在widgetPageMacroTemplate.editor.js文件中定义页面宏数据。 propertiesConfig: [ { config: [ { "type": "text", "name": "pageMacro", "label": "Page Macro", "value": "${pm.pageMacro}", "validation": { "rules": {} } }]}]; 表1 页面宏数据配置项说明 配置项 参数说明 propertiesConfig 配置组件的自定义属性。 type 配置项的数据类型,本例中配置为text(文本)。 name 配置项的变量名称,本例中设置为“pageMacro”。通过获取组件自定义配置属性的API,来获取该值。 label 配置项的展示标签。 value 配置项的默认值,本例中设置为${pm.pageMacro}。 其中,pageMacro为页面宏变量名,${pm.}为低代码平台定义的固定语法。 validation 无需关注此配置项。 在widgetPageMacroTemplate.js文件中读取页面宏数据,并将其显示到页面中。 var widgetProperties = thisObj.getProperties();//获取该组件自定义配置属性的API。...var pageMacro = widgetProperties.pageMacro || "";$("#macro",elem).html(pageMacro); 上述示例代码中widgetProperties.pageMacro的PageMacro,即表1中name配置项设置的变量名称。 widgetEventTemplate:关于widgetEventTemplate的介绍,请参见同页面内组件的交互。
  • 结果验证 单击,进入预览页面,查看commodityListWidget组件效果。 针对手机端视图,AstroZero在预览中提供手机端模拟视图,电脑端和手机端预览效果如图6所示。在电脑端视图中,商品列表单行商品数会跟随浏览器窗口的大小变化。在手机端视图中,商品列表单行商品数为1,始终为单列排布。 图6 商品列表组件电脑端和手机端预览效果 如果您在高级页面中拖入commodityListWidget组件后,再次上传更新了commodityListWidget组件,需要到应用的“页面设置”中进行版本更新操作新版本才可生效。如何更新组件,请参见管理高级组件版本。 使用谷歌浏览器开发者工具(F12),查看多个不同尺寸的终端中此页面的呈现效果。 按下“F12”,单击开发者工具中的,可以切换设备(手机、iPad等),查看组件响应式效果。多个终端(响应式模式、iPhone 6/7/8和iPad横屏)视图效果如图7所示,呈现出多终端适配的响应式效果。 在分辨率为1797x425的电脑端中,商品列表单行商品数为5。 在iPhone 6/7/8中,商品列表单行商品数为1。 在iPad(横屏模式)中,商品列表单行商品数为2。 图7 多个终端视图效果
  • 创建空白脚本 参考如何登录经典应用设计器中操作,登录经典版应用设计器。 将光标放在某个文件夹(例如Logic)上,单击,选择“脚本”。 图1 选择创建图标“+” 选择“创建一个新脚本”,设置脚本名称(如httpTest),单击“添加”,进入脚本编辑器。 图2 新增脚本 在脚本编辑器中,将以下脚本代码粘贴到代码编辑区。 import * as http from 'http' // 导入http库let client = http.newClient() // 实例化let resp = client.get("https://www.huawei.com/")// 请求网址console.log(resp.headers) // 打印返回headers 单击页面上方的,保存脚本。 运行测试脚本。 单击编辑器上方的,执行脚本。 在页面底部单击测试窗口右上角的,返回消息头信息。 { Age: [ '10309' ], Cache-Control: [ 'no-store' ], Content-Type: [ 'text/html; charset=utf-8' ], Date: [ 'Thu, 01 Dec 2022 03:41:39 GMT' ], Expires: [ 'Wed, 30 Nov 2022 22:01:57 GMT' ], Pragma: [ 'no-cache' ], Processtime: [ '0.049' ], Server: [ 'PAAS-WEB' ], Set-Cookie: [ 'HMF_CI=596020aa4dbe4b6***42343ba04a; Expires=Sat, 31-Dec-22 03:41:39 GMT; Path=/' ], Strict-Transport-Security: [ 'max-age=31536000' ], Ws-S2h-Acc-Level: [ '1' ], X-Content-Type-Options: [ 'nosniff' ], X-Download-Options: [ 'noopen' ], X-Frame-Options: [ 'SAMEORIGIN' ], X-Powered-By: [ 'ASP.NET' ], X-Via: [ '1.1 PSjsczsxga60:2 (Cdn Cache Server V2.0), 1.1 uzhoudianxin101:13 (Cdn Cache Server V2.0), 1.1 wdx18:10 (Cdn Cache Server V2.0)' ], X-Ws-Request-Id: [ '63882273_wdx18_41265-37840' ], X-Xss-Protection: [ '1; mode=block' ] } 以上步骤已完成了一个简单脚本的编写,如果后续其他脚本、服务编排、编译打包等需要继续使用该脚本,则必须单击页面上方的,启用该脚本。如果未启用,其他组件无法查询到该脚本,查询时会报错该脚本不存在或未启用。 后续在新版本功能中如果需要更新该脚本,可单击编辑器上方的,选择“新建版本”,在新建的版本中更改脚本并保存、测试及启用。单击编辑器上方的,选择对比版本,可将当前版本与历史版本进行比对。
  • 操作步骤 在AstroZero开发环境首页的“项目”页签下,单击“AI应用”。 单击“创建场景式AI服务”,设置AI应用名称、描述信息(可选),选择“目标检测”类型,单击“确定”。 选择希望训练模型的方式,单击“下一步”。 配置数据源,单击“下一步”。 配置数据存储位置和认证信息,“桶名称”是指用于保存图片数据的OBS桶,“原始图片目录”是指待标注图片在桶中的保存位置,“标注结果目录”是指图片标注后(连同标注文件)在桶中的保存位置(原始图片标注后会转移到标注目录中)。 设置标注数据,单击“下一步”。 请根据需要,设置检测的目标在页面右侧设置标签和对应颜色标识。 图1 标注数据 支持自动标注,请将所有待确认图片确认完后再启动自动标注。 图2 自动标注 可关闭自动标注任务页面,通过【我的AI服务】中任务【开发】操作可查看进度。任务过程中也支持取消自动标注。 单击图片,将进入对应的操作界面。 图3 图片标注设置 每张图片可以标注多类目标标签,每类标签需要标记至少100张图片才能进行标注训练。为每类标签标注200张以上的图片,会使训练得到的模型精度更高。 若待标注图片数量较多,建议每类标签标注100张图片后成功进行一次模型训练,并发布一个模型版本;然后可根据已发布版本对其余图片进行自动标记。 检查模型摘要是否正确,单击“开始训练”。 系统会根据数据训练目标检测模型,通常需要花费数小时,因数据量和标签数量而异。 图4 检查模型摘要 查看此训练相关的详细信息,单击“发布”。 如下图所示,状态为“已发布”,表示AI服务发布成功。 图5 已发布 如何在服务编排或脚本中使用AI应用,请参见在服务编排中使用AI服务、在脚本中使用AI服务。
  • 如何使用自定义错误码 自定义错误码创建完成后,可在脚本中使用。在脚本中,调用抛出错误信息的error函数I18nError('ErrorCodeName','变量1','变量2')。该函数中,输入参数为错误码名称"t__testErrorCode"和错误码信息中所携带的变量("val1"和"val2")。 创建脚本。 在经典版应用设计器中,将鼠标放在某个文件夹上,单击加号,选择“脚本”。 图3 选择脚本 设置脚本的名称,模板选择“空脚本”,单击“添加”。 图4 创建一个空脚本 在脚本编辑器中,输入如下代码。 // test custom error func , get diff language error by user langimport * as error from 'error';export class TestDemo { @action.method({ label: 'test', description: 'error code', input: 'No input', output: 'No output' }) public test() { //使用I18nError函数设定错误码和错误码信息携带变量 throw new error.I18nError('t__testErrorCode', ["val1", "val2"]); }} 其中,“t__testErrorCode”为自定义错误码名称,请根据实际情况配置。 单击,保存脚本后,单击,启用脚本。 按照如何开放API接口中操作,绑定上述开发的脚本,进行测试。 图5 自定义错误信息测试
  • 自定义错误码 参考如何登录经典应用设计器中操作,登录经典版应用设计器。 在页面左下方,单击“配置”。 图1 选择配置 在自定义错误码页签,单击“新建”,进入新建错误码页面。 也可以单击“导入”,选择系统中已创建的错误码进行导入。 设置错误码参数,单击“保存”。 图2 新建错误码 名称:自定义的错误码,建议以字母开头,长度不超过64个字节,包括命名空间。 类别:新建错误码所属的分类。 Http状态码:选择Http协议状态码。 语言:根据需要,选择所需的语言类型。单击“新增”,可添加多语言错误码。若待添加的语言不存在,可单击语言后的。在提示信息中,单击“翻译工作台”,跳转至翻译工作台配置页面进行添加。 格式:错误码的信息描述,支持使用{Number}表示变量名。例如 ,{0} 表示第一个输出变量,{1} 表示第二个输出变量,以此类推。
  • 操作步骤 本节以使用“健康码识别”优选服务为例进行说明。 在AstroZero开发环境首页的“项目”页签下,单击“AI应用”,选择“AI服务仓库”,查看预置的AI应用。 用户首次使用AI模板前,模板都是“未启用”状态,在服务编排或者脚本中使用后,界面会自动显示为“已启用”。 单击具体的AI应用,如“健康码识别”。 单击“立即上传”,上传健康码图片,查看识别结果。 图1 上传图片 在图1中单击“在低码中使用”,在服务编排或者脚本中使用AI应用,具体操作可参考在服务编排中使用AI服务、在脚本中使用AI服务。
  • 概述 AstroZero对内部数据提供了一种汇总方式的视图,即为报表。利用报表功能,可以让数据进行可视化的展示,并进行分析与洞察,更好地了解业务现存的问题与机遇。 AstroZero提供报表构建器,让您完成报表的开发。报表构建器由如下两个主要模块组成。 报表 报表定义了报表数据来源于哪些对象,以及对象的连接关系,支持创建一个带有多个对象连接起来的汇总报表,不必局限于单个对象。同时支持对已有的原始记录数据,进行归类、筛选、分组、公式计算以及数据汇总。 仪表板 仪表板是多张报表的可视化集合。通过仪表板,可以对一个主题对多张报表进行汇总,并以图表化的方式呈现。 报表构建器中的报表和仪表板既可以单独使用,也可以联合使用。仪表板则提供了丰富的图表功能,如下图所示。仪表板能够让用户高效地查看报表数据,有效洞察出当前系统存在的问题和机遇。 图1 仪表盘 在实际的应用开发过程中,需要先利用报表Widget创建一个报表展示页面,再调用本章节介绍的AstroZero创建报表或仪表板。 父主题: 报表和仪表板
  • 操作步骤 在AstroZero开发环境首页的“项目”页签下,单击“AI应用”。 单击“创建场景式AI服务”。 设置AI应用名称、描述信息(可选),选择“工单服务”类型,单击“确定”。 单击“选择数据文件”,选择已准备好有效的工单类数据文件,也可单击“下载模板”将模板文件下载到本地填充工单数据。单击“下一步”。 有效的工单类数据文件包括:工单内容、工单类别,工单数据至少50行。 图1 已上传工单数据文件 选择工单内容字段、类别ID字段、类别描述字段,单击“下一步”。 单击字段后的可查看字段含义。 请检查配置是否正确,单击“开始训练”。 系统将根据数据训练推荐项目模型,通常需要花费几分钟,请耐心等待。 查看此训练相关的详细信息。单击“发布”。 如下图所示,状态为“已发布”,表示AI服务发布成功。 图2 已发布 在服务编排或者脚本中使用AI应用,具体操作可参考在服务编排中使用AI服务、在脚本中使用AI服务。
  • AI分类 AI应用根据业务服务场景,分为如下几类: 数据预测 预测类AI应用采用预测分析方法,通过分析某业务场景相关对象的数据,对未来的业务数据做出预测,有助于更好地制定业务决策。 精准推荐 推荐类AI应用采用预置的推荐算法,通过分析相关对象数据,精确匹配出相似的对象,实现精准推荐。 工单分类 工单类AI应用通过融入AI智能机器学习和分析,全面提升工单类服务效率和质量。 目标检测 采用计算机视觉和图像处理的方法,发现图像或视频中的对象实例并定位标记出来。
  • 操作步骤 确认高级页面属性开关“合并并压缩资源”已关闭。 参考如何登录经典应用设计器中操作,登录经典版应用设计器。 在应用设计器下方,选择“页面设置”。 获取锁后,在“属性”页签,去勾选“合并并压缩资源”。 若勾选“合并并压缩资源”,会对所有高级页面涉及的css和js文件进行合并及压缩,使用单页面性能检查功能时,不要勾选该选项。 图1 关闭“合并并压缩资源”属性 设置完成后,单击,并单击,释放锁。 打开要进行性能检查的高级页面,在浏览器开发者工具中,勾选“Disable cache”属性。 在Chrome浏览器中,按下“F12”或者“Ctrl + Shift + I”,开启开发者工具。 在“Network”页签,勾选“Disable cache”属性(即禁用缓存)。 在进行页面性能检查时,如果不勾选该选项,性能检查会读取缓存中的数据,导致性能检查结果不准确。 图2 勾选“Disable cache”属性 在已发布的高级页面上方,单击“性能分析”,进入页面性能分析报告页面。 开发者工具请保持打开状态,关闭后“Disable cache”属性会自动不勾选。同时请确保高级页面已发布,若未发布,单击高级页面上方的,发布页面。 图3 查看性能分析报告 在页面性能报告中,单击各指标后的“展开”,可查看性能指标详情。 图4 查看性能指标详情
  • 操作步骤 参考如何登录经典应用设计器中操作,登录经典版应用设计器。 在需要设置水印的高级页面后,单击“...”,选择“设置”。 若页面已被锁定,请在编辑页面上方单击,先获取锁。 图1 选择“设置” 在“水印”页签,参考如何设置页面水印设置参数,单击“保存”。 图2 水印设置 图3 设置后效果 表1 参数说明 参数 说明 启用水印 是否给该页面启用水印。 重复渲染 当需要设置满页面水印时,开启该项。 水印内容 设置水印文本内容。 当前用户 当需要设置水印内容为当前用户名时,可开启该项。 开启后,“水印内容”中的文本不生效。 水印长度 水印矩形框的长度。 水印宽度 水印矩形框的宽度。 水平起始位置 当关闭“重复渲染”时,才可设置,表示单个水印在页面的水平起始位置。 垂直起始位置 当关闭“重复渲染”时,才可设置,表示单个水印在页面的垂直起始位置。 字体颜色 水印字体的颜色。 字体大小 水印字体的大小。 旋转角度 水印的旋转角度,取值范围-180~180,即逆时针或者顺时针旋转180度。 透明度 水印的透明度设置。
  • 背景信息 ModelArts Pro是为企业级AI应用打造的专业开发套件。基于华为云的先进算法和快速训练能力,提供预置工作流和模型,提升企业AI应用的开发效率,降低开发难度。同时,支持客户自主进行工作流编排,快速实现应用的开发、共享和发布,共建开放生态,实现普惠行业AI落地。ModelArts Pro包括自然语言处理套件、文字识别套件、视觉套件等,能够快速响应不同行业、不同场景的AI落地需求。更多关于ModelArts Pro的介绍,请参见ModelArts Pro官方网站。 在AstroZero中,通过配置ModelArts Pro连接器,可实现AstroZero与华为ModelArts Pro对接。对接后可使用ModelArts Pro提供的文字识别套件、自然语言处理套件提供的能力。
  • 在脚本中调用连接器 在脚本中,通过调用连接器,实现调用ModelArts Pro的接口。 参考开发一个简单脚本实例中操作,创建一个空白脚本。 图6 新建空白脚本 在脚本编辑器中,输入如下代码。 import * as modelartspro from 'modelartspro';export class Input { @action.param({ type: "String", required: false, description: "the image url" }) url: string; @action.param({ type: "String", required: false, description: "the base64 coded image" }) image: string; @action.param({ type: "Boolean", required: false, description: "" }) isMultiTemplate: boolean @action.param({ type: "String", required: false, description: "" }) modelId: string}export class Output { @action.param({ type: "string" }) result: string;}export class testModelartsPro { @action.method({ input: "Input", output: "Output", description: "modelartspro test case" }) run(input: Input): void { // 填写实例化的modelartspro连接器名称 let client = modelartspro.newClient("custom_defined_ocr") let result = null result = client.customOCRWithURL(input.url, input.isMultiTemplate, input.modelId); console.log(result) }} 代码modelartspro.newClient("custom_defined_ocr")中“custom_defined_ocr”为连接器的名称,如果连接器名称带有命名空间前缀,代码中也要携带。 单击脚本编辑器页面上方的,保存脚本。 保存成功后,单击,运行脚本。 在页面底部“输入参数”中,设置输入请求参数,单击测试窗口右上角的。 { "url": "https://XXXXXXXX/testModelArtsPro.jpg", "isMultiTemplate": true, "modelId": "0b7f0f28-27e2-11ec-8f30-0255ac100057"} 其中,“url”为图片的URL。 在日志页签,可查看到识别结果,表示执行脚本成功。 单击脚本编辑器页面上方的,启用脚本。
  • 前提条件 使用ModelArts Pro过程中,ModelArts Pro需要访问ModelArts服务的云资源。请先申请开通华为云ModelArts服务,具体操作请参见准备工作。 AstroZero对接ModelArts Pro,使用ModelArts Pro提供的文字识别套件、自然语言处理套件提供的能力。因此需要先申请文字识别套件和自然语言处理套件,具体操作请参见申请行业套件。 已参考获取AK/SK中操作,获取AK(Access Key ID)、SK(Secret Access Key),即访问密钥对。 本节场景是对行程码图片进行识别,需要在ModelArts Pro上创建并部署上线用于对行程码进行识别的模型。由于各省份行程码可能不一致,所以部署的为多模板,具体操作请参见使用多模板工作流开发应用。
  • 在脚本中调用连接器 在脚本中,调用连接器,实现调用ModelArts的接口。 参考开发一个简单脚本实例中操作,创建一个空白脚本。 图6 新建空白脚本 在脚本编辑器中,输入如下代码。 import * as modelarts from 'modelarts';export class Input { @action.param({ type: "String", required: false, description: "the image url" }) url: string; @action.param({ type: "String", required: false, description: "the base64 coded image" }) image: string; @action.param({ type: "String", required: false, description: "" }) apigCode: string @action.param({ type: "String", required: false, description: "" }) modelId: string}export class Output { @action.param({ type: "string" }) result: string;}export class testModelarts { @action.method({ input: "Input", output: "Output", description: "modelartspro test case" }) run(input: Input): void { // 填写实例化的modelartspro连接器名称 let client = modelarts.newClient("testArts") let result = null result = client.modelArtsWithURL(input.url, input.apigCode, input.modelId); console.log(result) return result }} 其中,代码modelarts.newClient("testArts")中“testArts”为连接器的名称。如果连接器名称中带有命名空间前缀,代码中也需要携带。 单击脚本编辑器页面上方的,保存脚本。 保存成功后,单击,运行脚本。 在页面底部“输入参数”中,设置输入请求参数,单击测试窗口右上角的。 { "url": "https://XXXXXXXXX/testmodelarts.jpg", "apigCode": "bec274062225485b95fbcd4d6e8f128a", "modelId": "5ecac550-eefe-4437-9767-57eca07fa91f"} 其中,“url”请设置为图片的URL。 在输出参数页签,可查看到识别的结果。 { "predicted_label": "roses", "scores": [ [ "roses", "0.947" ], [ "daisy", "0.050" ], [ "tulips", "0.002" ], [ "dandelion", "0.000" ], [ "sunflowers", "0.000" ] ]} 单击脚本编辑器页面上方的,启用脚本。
  • 背景信息 ModelArts是面向AI开发者的一站式开发平台,提供海量数据预处理及半自动化标注、大规模分布式训练、自动化模型生成及端-边-云模型按需部署能力,帮助用户快速创建和部署AI智能模型,管理全周期AI工作流。更多ModelArts的介绍,请参见ModelArts官方网站。 在AstroZero中,通过配置ModelArts连接器,可实现AstroZero与华为ModelArts对接,用于图像识别、文字识别等AI(人工智能)场景。
  • 操作步骤 参考如何登录经典应用设计器中操作,登录经典版应用设计器。 在高级页面开发界面,单击右上角的,定义全局状态。 定义全局状态使用JavaScript编程语言,不支持TypeScript。全局状态结构固定以MStore命名,每个页面仅包含一个全局状态实例,方便在组件调试的过程中轻易地取得整个当前页面状态的快照。全局状态的结构定义由以下三部分组成: state:定义页面所有组件的初始状态数据,即页面中所有组件共享状态的初始数据源。 mutations:状态变更的唯一方法是提交mutation。mutation以声明方式将state变化映射到视图。每次state的变更都需要定义一个mutation。mutation使用对象风格的提交方式,整个对象都作为载荷(payload)传给mutation函数。mutation都是同步事务。 actions:通过actions执行状态数据变更,用于衔接state和mutation。Action可以包含任意异步操作。通常用于绑定状态和组件。可以调用服务。 在页面的组件js文件中,使用预置的“this.$mstore.dispatch()”方法,修改状态数据。 系统还预置了onStateChanged(state) 方法,用于监听属性整个全局状态的变更。
  • 使用说明 页面组件之间,可以通过配置事件和动作进行信息交互。当页面组件较多,且需要进行信息交互时,频繁的给每个组件去定义事件或动作就比较繁琐了。此时,可以通过定义全局状态,来实现页面级所有组件中数据信息的更新。 低代码平台高级页面支持设置全局状态,通过页面级内存方式共享数据,即采用集中式存储管理页面所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。简单的理解就是全局状态,可理解为页面中所有组件的共享状态,不管组件在页面的哪个位置或层级,任何组件都能获取状态或触发状态改变的动作。全局状态相当于全局变量,属性是私有的,需要在组件的js文件中,使用预置的“this.$mstore.dispatch”方法,来修改状态数据。 思考:什么情况下,应该使用全局状态? 解惑:当页面组件构成比较简单,组件间不需要频繁的进行信息交互时,不需要设置全局状态。反之,则建议使用全局状态,通过设置并使用全局状态,可以帮助我们管理页面所有组件的共享状态。
  • 操作步骤 参考创建应用中操作,创建一个应用。 为应用添加一个自定义对象“visitorlnfo”。 在应用目录上,例如“Model”,单击 “+”,在弹出菜单中选择“对象”。 图2 创建对象 输入对象的标签为“visitorlnfo”,单击名称系统会自动生成该值,单击“添加”。 图3 设置对象名称 实际创建的自定义对象将会自动拼接命名空间前缀,以及对象标识后缀,即“CNAME__visitorlnfo__CST”。对象创建后,仅包含一些内置的标准字段,您可以继续以下步骤,使用模板批量创建自定义字段。 下载对象字段模板。 在已创建的对象中,选择“自定义字段”页签,单击“批量创建”,然后单击“下载模板”,将字段模板Excel下载到本地。 图4 下载模板 在本地打开3中下载的字段模板,单击左上角的“启用内容”,启用宏。 图5 启用宏 打开字段模板后,需要先单击“启用内容”,启用字段模板中的宏。如果不启用宏,字段模板将不校验字段属性,影响您使用。 如果是初次使用,请在“Note”页签阅读字段模板说明,其中包含命名空间配置。“Example”页签,提供了字段批量定义示例。 图6 模板说明 使用字段模板,创建字段。 选择“Data”表,进入字段编辑页面。 图7 进入Data表 创建字段即在“Data”表中,填写各字段属性值,包括字段类型、标签、名称、数据长度以及默认值等。其中,必填项单元格表头会有红色*号,背景置灰的单元格无法填写。 选中C列表头,显示当前列为“数据类型”。 C列用于设置字段类型,设置字段类型后,不是当前字段类型的其他属性将会置灰。 图8 查看C列标题中文描述 单击C列第一行,在下拉选项中,选中第一字段“CNAME__matter__CST”的字段类型为“Text Area”。 图9 设置字段类型 分别在A列设置字段的标签、在B列设置字段的名称。 其中,B列值需要唯一,即字段名不能重复。A列可以为中文,B列为字段名称不能是中文。 图10 设置字段标签及名称 A列B列分别对应AstroZero中自定义字段的标签、名称。 图11 AstroZero自定义字段 单击必填列的列名,查看该列属性值的中文描述,然后依次设置当前字段的其他属性值。 图12 设置字段属性值 设置完成后,保存表格。 单击下载链接,可下载示例模板,供您体验导入一个对象字段模板使用。 本步骤示例模板“字段类型中英文对照及说明”页,提供了字段类型中英文对应关系及字段类型说明。 图13 字段类型说明 在AstroZero中批量导入对象(例如visitorlnfo)的自定义字段。 在对象配置页面选择“自定义字段”页签,单击“批量创建”,选择“批量导入字段”。 图14 进入自定义字段页面 在弹窗中拖入编辑好的字段模板,单击“确定”。 图15 拖入字段模板 导入字段模板成功后,系统会自动批量创建已定义好的所有字段。 图16 导入后的字段
共100000条