华为云用户手册

  • 操作场景 在 MRS 管理控制台,按照集群维度,在集群信息页面的告警页签中能够提供选择是否使能通知服务,只有对应集群开关开启以后,才能实现以下场景的功能: 在用户订阅了通知服务之后,当集群出现扩容成功/失败、缩容成功/失败、删除成功/失败、弹性升缩成功/失败的场景下,由MRS管理面通过邮件或短信方式通知对应用户。 管理面检查大数据集群的告警信息,如果大数据集群的告警信息影响到服务的使用,其告警级别达到致命时,则发送信息通知给对应租户。 在用户集群的E CS 机器被删除、关机、修改规格、重启、更新OS的行为,会导致大数据集群异常,当检测到用户的虚拟机出现以上状态的时候,发送通知给对应用户。
  • 步骤6:编译发布应用 在应用开发完成后,应用需要编译、打包和发布,既可以发布到当前租户的运行环境,也可以共享给其他租户,在其他租户的开发环境或运行环境下安装。 AstroZero支持多种发布方式,本示例中使用的是将应用发布到“我的仓库”进行发布,后续将会通过“我的仓库”再部署到运行环境。 应用包编译类型 在AstroZero经典版应用设计器中,支持编译资产包和源码包两种类型的应用包。如何在AstroZero新版设计器中,编译发布应用包,请参见如何一键部署应用。 源码包:包中的所有组件都不受保护和限制。在其他环境安装后可编辑包中组件,即在原有基础上可进行再开发。如果后续其他用户在开发环境安装后,会显示在开发环境首页的“项目”页签下。 编译类型为“源码包”时,只有发布到“我的仓库”一种发布方式。 资产包:支持设置包中的组件是否受保护。打包时不做编译设置,默认打出的包都是资产包,包中组件都为只读保护模式,将包安装到其他环境时,只能运行和预览,不可编辑包中组件。如果后续其他用户在其他开发环境安装资产包后,应用会显示在开发环境首页的“库”页签下。 发布方式 AstroZero应用(资产包)发布方式,如图47所示。本示例中使用的是将应用发布到“我的仓库”,后续将会通过“我的仓库”再部署到运行环境。 图47 应用发布方式 登录AstroZero经典版开发环境,在首页,单击“我的应用”下的“HelloWorld”,进入应用。 在应用开发页面左侧,单击,选择“设置”。 在包类型中,选择“资产包”,单击“保存”。 图48 设置包类型 在应用开发页面左侧,单击,选择“编译”,进行编译。 编译前,还可以单击进行一些自定义的编译设置,详细设置请参考编译设置。 编译完成后,单击左下角,选择“我的仓库”,将应用程序安装包发布到我的仓库。 填写版本信息,单击“发布”。 图49 填写版本信息 发布成功后,页面显示“程序包已经被成功上传到我的仓库。”。 【思考】应用发布之后的包可以下载吗?其他租户可以看到吗? 在应用的“包管理”页面,可以查看已发布的应用包,也可以单击下载,如图50。不同租户之间,“我的仓库”里面的应用是不可见的。 图50 查看发布到“我的仓库”下的应用包
  • 步骤5:开发应用-预览验证 在页面开发时,单击,可进入开发环境的预览页面,跟实际效果稍有差距。本节将介绍如何在应用的预览环境中,预览应用效果。这里预览效果跟实际在运行环境中基本一致。在应用配置下,还可以更改应用框架的样式和颜色。 进入“HelloWorld”应用经典设计器。 将页面挂载到导航条上,作为应用菜单。 如果没有将页面挂载到导航条上,预览应用时,是无法找到应用的相关页面和对象等信息的。 在应用左侧导航下方,单击“配置”。 图42 配置 在“导航条”页签,单击“菜单树”右侧的“+”,选择“添加页签”。 图43 导航条添加页签 在导航条上的页面较多时,您可以添加目录。添加目录可以更方便区分页面类型,方便导航使用。目录添加之后,会在应用导航中直接显示,目录下可以添加页签。另外,应用配置中还可以设置应用选项列表,系统参数等信息,您可以在设置应用中查看。 在“添加页签”页面中,设置表6信息,单击“保存”。 表6 页签信息 参数名 参数说明 本示例需要填写的值 页面类型 当前要添加的页面类型。 主页页签:用于展示个人任务相关的信息。 对象页签:关联一个对象的布局,将展示指定对象的某个布局页面。 标准页面页签:用于关联并展示一个标准页面。 高级页面页签:用于关联并展示一个高级页面。 BPM页签:用于关联并展示一个BPM。 Web页签:用于关联一个URL,将展示URL对应的网页或页面。 状态机页签:用于关联并展示一个状态机。 报表页签:用于关联并展示一个报表。 标准页面页签 显示区域 导航页签的显示区域。 主页菜单:按照布局样式进行显示,例如显示顶栏区域或者右上角。 自定义菜单栏:选择该方式后,在应用的运行态Portal中,单击右上角用户名,会在下拉选项中显示导航页签。 主页菜单 打开方式 导航页签的打开方法。 当前窗口:选择该导航页签后,在当前窗口打开页面。 新窗口:选择该导航页签后,在新窗口打开页面。 当前窗口 标签 显示在应用导航的名称。 HelloWorld 名称 用于唯一标识页签的名称。 helloPage 图标 导航页签的展示图标。 这里可以不设置,如果有,可以选择一个图标直接上传。 页面 需要添加的页面 helloPage(CNAME__helloPage)。 描述 当前页面的描述信息,用于了解当前页面的主要内容。 不设置。 图44 我的应用 在“导航条”页面,删除菜单树下的Home页签。 在应用左侧导航下,单击,进入应用预览页面。 图45 查看应用 单击右侧“HelloWorld”,在右侧页面中,输入词条名和词条描述,单击“新增”,查看表格中新增的词条记录。 图46 新增词条 (可选)如果词条未能创建成功,按键盘“F12”,调测页面调试窗,重新输入词条,进行页面调试。
  • 步骤3:开发应用-创建服务编排 【思考】什么是服务编排? 服务编排功能是AstroZero的核心功能之一,即是在可视化、模板化的服务编排页面,通过拖拽图元,并配置图元,再拖拽相关参数,就可以实现特定的业务逻辑的一种开发方式。 服务编排类似于编程中一段有流程、条件处理、判断逻辑的程序。这段程序有输入参数和输出参数,可以独立成为一个对外调用的方法。同时,在服务编排内部,也可以调用其他的方法。 本示例中,创建服务编排目的是操作一个存放词条的自定义对象,实现将服务编排中获得的入参信息,分别以“词条名”、“词条描述”字段写入到词条对象helloObject中。如果您还没有创建,请查阅创建存放词条的自定义对象章节,进行创建。 在规划存放服务编排的目录“Logic”下,创建服务编排。 将光标放在“Logic”目录上,单击右侧“+”。在弹出的菜单中,选择“服务编排”。 图13 创建服务编排 在对话框中,输入服务编排的“名称”为“helloFlow”,单击“标签”的输入框后,系统将自动生成名称为“helloFlow”,再单击“添加”。 图14 添加服务编排 表4 服务编排基本信息 参数名 参数说明 本示例需要填写的值 创建一个新的服务编排 创建一个新的服务编排流程。 保持默认,选中“创建一个新的服务编排”。 使用已有的服务编排 基于已有的服务编排创建。方便用户快速继承已有服务编排的配置,提高效率。 不设置。 标签 服务编排用于展示的名称,创建后可修改。 helloFlow 名称 服务编排在系统内的唯一标识,创建后不可修改。 系统会自动在该名称前添加命名空间__。当其他功能调用服务编排时,调用的是服务编排的“名称”,而不是标签。 helloFlow 说明: 实际创建的服务编排名为:CNAME__helloFlow 类型 服务编排的类型。 Autolaunched Flow:自启动服务编排,在接口调用后会立即执行服务编排模型定义的逻辑。 Event Trigger:事件触发的服务编排,在事件触发时才会开始执行服务编排模型定义的逻辑。选择该类型时,需要配置具体的事件以及条件规则。 保持默认类型:Autolaunched Flow 定义变量,作为后续获取前端页面的输入值,同时也是操作词条对象helloObject的字段。 单击,展开“全局上下文”,再单击“变量”后的“+”,修改“variable0”为“name”;再次单击“+”,创建变量“detail”。这里创建的“name”、“detail”分别对应词条对象helloObject中的“词条名”、“词条描述”字段。 “全局上下文”是定义服务编排中使用到的变量列表区域,服务编排中支持定义变量、变量集、常量、结构体等参数,具体变量创建方式及变量说明请参见配置服务编排变量以及输入输出参数。 图15 新增变量 在服务编排中,添加并配置“记录创建”图元。 “记录创建”图元是通过关联当前应用(HelloWorld)中已存在的一个对象(词条对象helloObject),然后通过设置对应的操作字段(name、CNAME__detail__CST),实现向这个对象中增加记录的功能。AstroZero预置了多种逻辑图元,详细图元分类及功能介绍,请参见图元介绍。 在左侧图元列表中,单击“基本”,拖拽“记录创建”图元到画布中,“标签”修改为“创建记录”,“名称”保持默认。 图16 拖拽创建记录 单击,配置“记录创建”图元。 先单击“对象”下拉框,选中词条对象“CNAME__helloObject__CST”。对象设置后,“赋值”下自动显示对象下可以被赋值的字段(name、CNAME__detail__CST);再单击“全局上下文”,然后从全局上下文中,分别拖拽变量“name”、“detail”到对应“源”输入框中。关联之后,变量从前端获取到值后,将会传给对象中的字段。 图17 拖拽需要修改对象字段 定义输入参数,并保存服务编排。 这里的入参、出参指的是整个服务编排的入参、出参,具体参数需要从“全局上下文”列表中拖拽。 在画布上,把鼠标放在起点图元上,从“+”拖动鼠标,在起点图元和“创建记录”图元间增加连线。 图18 连接图元 鼠标在画布空白处点一下,单击右侧,设置服务编排的输入参数。 图19 拖拽服务编排的输入参数“name”、“detail” 单击服务编排界面上方的,保存服务编排。 测试服务编排能否正常执行。 单击服务编排编辑器上方的,进入执行服务编排页面。 在输入参数中,输入测试数据,单击“运行”。 { "name": "helloWorld", "detail": "helloWorld 是我的第一个应用" } 执行成功,界面上会返回设备对象中的全部信息,样例如下: { "interviewId": "002N000000edyfrHJiLV", "outputs": {} } 启用服务编排:测试成功,单击服务编排编辑器上方的,启用服务编排。 如果服务编排创建完成后,未启用默认是属于编辑状态,不能被页面调用。 图20 服务编排启用后高亮状态
  • 步骤2:开发应用-创建对象 【思考】什么是对象? 对象是AstroZero的核心功能之一,对象相当于传统数据库里的一张表,用于持久化业务数据。AstroZero中有内置的标准对象,也有租户开发者创建的自定义对象。 租户角色的开发者,创建一个自定义对象后,可在前端页面使用页面模型绑定此对象,并使用表格组件,直接展现对象数据。也可以使用脚本、自定义JS代码、服务编排等,对对象中的信息进行增删改查(AstroZero中常用的使用方式)。 根据HelloWorld应用设计的功能,首先您需要先创建一个存放词条的对象helloObject,用于保存词条名、词条描述、创建日期信息。对象helloObject中使用到的字段,如表2所示。 表2 自定义对象helloObject字段详情 字段标签 字段名称 数据类型 是否唯一 是否必填 建议长度 词条名 name(预置的标准字段) 说明: 自定义对象具体预置了哪些标准字段,请在了解自定义对象中系统预置的标准字段查看。 Name 是 是 - 创建时间 createdDate(预置的标准字段,不需要修改) 日期/时间 - 是 - 词条描述 detail 文本 否 是 255 在“HelloWorld”应用中,在规划存放对象的目录下,创建对象。 将光标放在“Model”目录上,单击,选择“对象”。 本示例中,使用默认“Model”目录存放对象,因此需要在“Model”目录下进行创建对象操作。对象添加完成后,系统默认会将对象放在“Model”目录下,您也可以根据个人喜好选择其他目录创建。 图7 创建对象 输入对象的“标签”为“helloObject”,单击“名称”的输入框后,系统将自动生成名称为“helloObject”,再单击“添加”。 图8 添加对象 对象创建完成后,自动进入对象详情页面。 【技巧】如果输入“标签”的值,首字符为英文字母,单击“名称”的输入框,系统会自动生成与“标签”对应的“名称”,也可以根据需要修改这个自动生成的“名称”。 表3 创建对象的相关信息 参数名 参数说明 本示例需要填写的值 创建新对象 添加对象的方式。 保持默认,选中“创建新对象”。 标签 对象展示的名称,为了区分不同对象的描述信息,创建后可修改。 helloObject 名称 对象在系统内的唯一标识。 对象创建后,系统会自动在“名称”增加租户命名空间前缀,以及增加“__CST”后缀,“__CST”是AstroZero中对象的后缀标识。 对象创建完后,“名称”不可以修改。 helloObject 说明: 对象创建后,系统自动为对象名称添加前后缀,实际创建的对象名为CNAME__helloObject__CST。 查看并修改对象的标准字段。 查看标准字段,了解自定义对象中系统预置的标准字段。 自定义的对象创建后,系统将自动创建一些标准字段,供您使用。您可以在“自定义对象”的详情页面中,单击“标准字段”页签,查看自定义对象的标准字段。标准字段如图9所示,其中“name”和“createdDate”两个字段,在后续开发中将会用到。 图9 标准字段 修改标准字段“name”。 单击“name”字段右侧的,如图9所示,进入字段编辑页面。在“name”字段编辑页面中,修改“标签”为“词条名”,并勾选“是否唯一”,“是否必填”,然后单击“保存”,如图10所示。 图10 修改name字段 【思考】为什么要修改“name”字段,其他标准字段可以修改吗? 因为“name”的默认属性,没有完全符合HelloWorld应用对“词条名”的要求,例如“标签”,“是否唯一”这些字段属性,因此需要自定义修改一下,修改后“name”作为存放“词条名”的字段。 标准字段中目前只有“name”字段支持修改,而“createdDate”字段直接使用,不能修改。 创建一个自定义字段“词条描述”,作为应用中存放词条描述信息的字段。 在“自定义字段”页签,单击“新建”,进入创建字段页面,设置字段类型为“文本”,单击“下一步”。 图11 新建自定义字段 自定义字段可以手动创建,也可以批量导入自定义字段,具体操作请参见如何使用对象的字段模板批量创建自定义字段章节。 输入新字段详细信息,单击“下一步”。 设置字段“标签”为“词条描述”、“名称”为“detail”、字段长度“255”,并勾选“是否必填”、“大小写敏感”、“是否可搜”。 图12 定义“设备编码”详细信息 字段“名称”为“detail”,实际创建的字段,系统将自动添加前后缀“CNAME__detail__CST”,“CNAME__”前缀由租户命名空间决定,“__CST”后缀代表是自定义字段。 设置字段级的访问权限,即选中“读取”和“编辑”复选框,为所有预置profile配置能编辑和读取本字段的权限,单击“下一步”。 在AstroZero中,预置了一些权限集,并提供了自定义对象中字段级的安全控制,这些权限配置是由管理员预置的,权限集及设置的更多详细介绍,请参见了解权限配置。 将字段添加到对象的页面布局:选中“添加本字段到该页面布局”,单击“保存”。 在AstroZero中,如果某个自定义字段在创建时,设置了添加到页面布局,那么在该对象的页面布局的页面表格中,将可以对该字段进行增删改查等操作。 【技巧】自定义对象的页面布局,可以直接操作对象,进行增删改查等操作,更为方便的是可以作为前端页面直接使用,对象页面布局更多详细介绍,请参见编辑对象的页面布局。
  • 如何创建一个应用 在使用AstroZero前,您需要先了解在AstroZero创建一个应用的大致开发流程,如图2所示。 图2 在AstroZero中创建应用流程 在开发环境中,创建应用。 如何创建应用,请参见创建应用。 在开发环境中,开发应用。 开发应用包括开发模型、开发逻辑层以及开发前端UI层。应用开发后,您还可以根据自身需求设置应用。 如何开发应用,请参见《用户指南》中相关章节(开发模型、服务编排、标准页面和设置应用等)。 在开发环境中,编译发布应用。 应用开发完成后,可以编译并发布应用,相关操作请参见发布应用。 在沙箱或运行环境中,部署运行应用。 可根据自身需求,将应用发布到沙箱或运行环境。在沙箱环境中测试应用、在运行环境中部署运行应用,相关操作请参见安装应用。
  • 业务场景 当前支持通过扫码绑定AstroZero与 WeLink 后,将AstroZero中开发的应用快速发布到WeLink上,实现企业业务的高效率、低成本创新。 发布WeLink轻应用是将已开发好的应用或全新开发的Web页面发布到WeLink,用户在WeLink APP中即可打开应用。发布WeLink轻应用适用于简单的应用场景。 本示例以创建“调查问卷轻应用”为例,介绍如何把AstroZero上开发的应用发布成WeLink(蓝标)轻应用。 调查问卷模板为企业和个人提供调查问卷应用模板,用于收集资料或管理问题记录。该模板以对AstroZero开发者展开调查问卷为例,可基于该应用模板快速自定义调查问卷内容。 图1 开发者调查问卷 使用模板创建调查问卷时,会自动创建如下目录: Logic:用于存放业务中的后台逻辑,例如服务编排、脚本等。本示例不涉及。 Model:用于存放数据对象。示例应用中会自动创建“命名空间__MyWelinkApp_qR__CST”,用于存放调查问卷数据。 Page:用于存放前端页面。示例应用中会自动创建如下3个前端页面 命名空间__MyWelinkApp_questionnairePage:问卷提交页。 命名空间__MyWelinkApp_ManagementPage:问卷记录管理页。 命名空间__MyWelinkApp_submitPage:问卷提交成功页。 Internal dependencies:存放内部依赖文件。本示例不涉及。
  • 操作步骤 选中“page”文件夹下的问卷调查页面“命名空间__轻应用名_questionnairePage”,如果是锁定状态,请单击页面上方的,获取锁。 查看并修改页面预置的数据模型。 AstroZero的标准页面是通过数据模型驱动的,页面所有的逻辑都是围绕数据模型展开的。在将模型与前台页面组件(例如输入框)或者后台逻辑绑定后,开发者只需要关注模型数据的实例化和处理,不需要关注页面的渲染和展示。 如下图所示,在标准页面编辑器下侧,从“设计视图”切换到“模型视图”,单击“form_1”后的。 图1 模型视图 勾选添加的对象字段,单击“下一步”。 该字段是在(可选)步骤2:自定义调查问卷项中,创建的自定义字段。 图2 勾选字段 保持默认配置,单击“确定”。 切换到“设计视图”(页面编辑区域左下角),从左侧组件区域拖拽“下拉框”组件到“设计视图”中。 图3 拖入下拉框 选中下拉框组件,在右侧配置下拉框组件属性。 图4 绑定数据 图5 设置属性 图6 设置标签 表1 下拉框属性说明 属性 说明 数据绑定 如图4所示,设置组件绑定的数据模型,在下拉框“属性”页签单击数据绑定后的齿轮图标,选择2中添加的模型字段“form_1.nasc__questionCode10__CST”。 设置属性值绑定,在属性值后单击“+”,添加“禁用”属性,模型字段选择“editFlag”。目的是填写问卷后,查看调查问卷时,不可编辑。 标签 下拉框的显示名称,只有下拉框放在表单form中才生效。 支持国际化配置,在配置该属性时,可选择已有多语言、创建或更新多语言。此处创建的多语言会保存在租户的多语言库中。 如图6所示,单击标签后的,选择“创建或更新多语言”,设置多语言名称和多语言内容,例如“名称”设置为“item”,中文设置为“您最常使用的功能或者您最感兴趣的功能有哪些?”。 占位符 下拉框未选择时,展示给用户的提示信息。 支持国际化配置,在配置该属性时,可选择已有多语言、创建或更新多语言。此处创建的多语言会保存在租户的多语言库中。 本示例不用配置。 选项 下拉框单击后可选择的选项内容。 设置如图5所示选项。其中选项值支持国际化配置,在配置该属性时,选择“创建或更新多语言”,设置多语言名称和多语言内容。 选项列表 单击齿轮图标,支持选择系统中配置的选项列表。 选项和选项列表只能配置其中一种。这里不用再配置选项列表。 是否多选 配置下拉框是否提供多选的能力。 本示例选择打开此开关。 可清空 是否在选择下拉框显示一个删除图标,来删除选择框的内容。 未选中“是否多选”时,才显示此配置项,本示例不用配置。 弹层独立 选项值区域展示不全,部分内容隐藏时,开启后,可显示完整选项值。 本示例不用配置。 可过滤 配置下拉框是否提供过滤的能力。 本示例不用配置。 远程搜索 是否根据输入的关键字调用自定义的接口查询数据。和事件“on-remote-search”配合使用。 本示例不用配置。 是否初始加载 配置下拉框是否初始加载。 本示例不用配置。 必填 是否设置为必填。 本示例不用配置。 必填错误信息 在绑定了对象模型且下拉框放置于表单组件的情况下,当设置为必填时,如果输入值为空,会提示此处设置的错误提示信息。 支持国际化配置,在配置该属性时,可选择已有多语言、创建或更新多语言。此处创建的多语言会保存在租户的多语言库中。 本示例不用配置。 单击页面上方的,保存页面,并单击,释放锁。 单击页面上方的,即可查看页面配置效果。 图7 预览配置效果
  • 前提条件 只有华为账号或具有“Astro Zero Instance ManageAccess”权限的 IAM 用户,才能开通AstroZero。如何给用户配置权限,请参见创建用户组并授权。如果以IAM用户开通AstroZero,其对应的华为账号也会同时开通AstroZero服务。 图1 给IAM用户所在用户组赋权(选择策略) 图2 给IAM用户所在用户组赋权(设置最小授权范围) 表1 权限说明 权限 作用范围 权限说明 Astro Zero Instance ManageAccess 区域级项目 Astro轻应用实例管理权限,拥有订购、退订、查看和升级AstroZero实例的权限。 Astro Zero Instance ViewAccess 区域级项目 Astro轻应用实例查看权限,只拥有查看AstroZero实例的权限,不可进行退订、升级等操作。 如果IAM用户登录AstroZero服务控制台,查看不到AstroZero实例,请按照如下两种方式中的一种进行处理: 给IAM用户所在的用户组,添加“Astro Zero Instance ViewAccess”权限。 不要将IAM用户添加到任何用户组中。 Astro Zero IAM User QueryAccess 全局服务 Astro轻应用IAM用户查询权限,只有华为账号或具有“Astro Zero IAM User QueryAccess”权限的IAM用户,才能执行添加开发者账号的操作。 本章节以华为账号,购买AstroZero标准版、专业版和专享版实例为例向您介绍。
  • 入门导读 Astro轻应用(简称AstroZero)是华为云为行业客户、合作伙伴、开发者量身打造的一款零代码和低代码应用开发平台。通过AstroZero可轻松构建专业级应用,创新随心所欲、敏捷超乎想象。 初次使用AstroZero的您,如果对AstroZero还不太了解,不知道从何处入手,请仔细阅读该入门导读。通过入门导读可帮助您由浅入深的学习AstroZero,轻松完成专业级应用的构建。 图1 入门指引 表1 阶段分解 阶段 任务 内容说明 难易程度 初学入门AstroZero 注册租户 AstroZero提供免费版、标准版、专业版和专享版四种规格套餐,各规格说明可参见规格说明。 说明: 开通AstroZero免费版、标准版和专业版实例时,会同步创建一个Astro工作流基础版实例。Astro工作流(Astro Flow,简称AstroFlow)可帮助开发者快速构建业务流程及自动化工作流,轻松实现人财物事的调、转、入、离、审、评和批等任务的数字化需求。更多关于Astro工作流的介绍,请参见Astro工作流 AstroFlow。 - 添加开发者账号 在同一华为账号下,可通过添加开发者账号实现多人协同开发。 - 创建业务用户 业务用户是应用的使用者,在业务配置中心,可根据需要创建业务用户。 - 认识AstroZero 初次使用AstroZero时,通过阅读本章节,初步了解AstroZero。 - 零代码应用开发示例 使用零代码应用模板(培训报名)创建一个零代码应用,快速体验在AstroZero中开发一个零代码应用的大致流程。 ★ 交通管理大屏开发示例 使用Astro Canvas中预置的模板构建一个交通管理大屏,快速体验在Astro Canvas中构建可视化页面的大致流程。 ★ 探索示例应用 使用低代码应用模板(调查问卷)创建一个示例应用,快速体验在AstroZero中开发一个轻应用的大致流程。 ★ 简易出差审批应用开发(BTA) 使用AstroZero的BPM功能,快速创建一个简易版的出差审批应用。 ★ 创建HelloWorld应用 从空白应用开始,带您一步步创建一个HelloWorld轻应用。HelloWorld轻应用着重带您了解创建应用每一步的原理及概念。 ★★ 进阶实战 设备维修管理应用开发 如果您已经有一定AstroZero开发基础,可以挑战该应用,从场景规划、开发步骤、以及开发能力发现AstroZero更多能力。 ★★★ 告警监控大屏应用开发 通过自由拖拽组件到画布区域,创建一个告警监控大屏应用。 ★★ 高阶实战 发布WeLink We码应用 WeLink是华为云的一款智能办公云服务平台,AstroZero支持将开发完成的应用发布成WeLink小程序。 We码应用:运行在WeLink APP中的小程序。其提供了丰富的API,开发者可以利用前端技术写出接近原生体验的应用。 轻应用:采用H5方式开发的应用,企业可快速将已有系统或自己全新开发的Web页面接入到WeLink。 ★★★★ 发布WeLink轻应用 ★★★★ 发布微信小程序 AstroZero允许将标准页面或高级页面发布到微信小程序。本示例带您了解如何将AstroZero上的应用发布到微信小程序。 ★★★★★
  • 操作步骤 在应用开发页面左侧,单击,预览调查问卷应用。 在调查问卷页面填写问卷信息,单击“提交”。 图1 填写调查问卷应用 在弹出的“提交成功”页面,单击“继续提交”。 如果需要查看调查问卷详情信息,请单击“查看详情”。 图2 调查问卷应用提交成功页面 在“调查问卷管理”页面,可查看到已提交的问卷记录。 单击操作列的“查看”、“删除”按钮,可查看或删除问卷记录。 图3 调查问卷管理 在3的提交成功页面,按“F12”或者“Ctrl + Shift + I”,开启调试工具。 在“Console”页签,可查看日志相关信息。在“Network”页签,可查看网络请求信息。 图4 开启调试工具
  • 了解应用 【技巧】本小节旨在为您简要介绍应用中的目录结构、前端页面、数据对象相关概念知识,并不是创建应用中的必要步骤,如果想尽快体验创建应用,请跳过本节,直接阅读(可选)步骤2:自定义调查问卷项。 认识应用目录 如图5所示,当前应用有4个默认目录。默认目录是AstroZero推荐使用的应用文件目录结构,轻应用在创建后,默认已自动创建应用目录,目录中的文件组成了完整的应用。后续需要开发其他应用时,这些元素则需要您自己设计并创建。您也可以根据自己的开发习惯,单击应用名右侧的“+”,添加新的应用目录,自定义放置应用资源,如图6。 图5 应用目录及导航栏图标 图6 添加自定义应用目录 表2 应用目录介绍 文件夹名 说明 Logic 用于存放业务中的后台逻辑,例如服务编排、脚本等。业务功能复杂时,需要创建后台逻辑完成。本应用中未涉及。 Model 用于存放数据对象。 数据对象相当于数据库中的一张表,根据业务功能不同,您可以在应用中创建各种数据对象,用来存储业务数据。本应用中的问卷记录对象“Questionnaires_qR__CST”,是用于保存前端页面获取的“问卷记录”中的数据,实际创建的数据对象名为“CNAME__Questionnaires_qR__CST”,命名规则对应是“命名空间__应用名_qR__CST”,单击数据对象名,即可查看或编辑数据对象。 Page 用于存放前端页面。示例应用中有3个前端页面,分别是问卷提交页、问卷记录管理页以及问卷提交成功页。其中页面名称命名规则对应是“命名空间__应用名_页面名”。 Internal dependencies 存放内部依赖文件,例如BO、原生服务,本应用中未涉及。 External dependencies 存放导入的外部依赖文件,例如BO、原生服务,本应用中未涉及,单击“+”可以添加BO或原生服务。 了解应用设置 页面设置:应用中页面的相关设置,本应用不涉及。 配置:用于配置应用中,各种应用公共参数(运营配置、导航条、布局与颜色、选项列表、系统参数等)。 本应用中,仅用到“导航条”的相关功能,即在导航条页签下,设置应用导航菜单。 本应用中,预置了2个导航菜单页面,即问卷提交页、问卷记录管理页。后续开发其他应用或页面时,可以在“配置”中新增、编辑导航菜单。 图7 配置应用导航 服务:应用中服务的相关设置,本应用不涉及。 帮助信息 使用应用模板创建的应用,默认提供了帮助信息。即通过视频操作的方式,向您介绍如何在前端页面中新增问卷问题等。 图8 模板帮助信息 如果帮助信息未显示,请单击界面右下角,即可再次显示。 标准页面编辑区 首次进入应用,默认显示调测问卷首页,调查问卷首页是一个标准页面,关闭帮助信息后,可以看到完整的标准页面编辑区,如图9所示。 图9 标准页面编辑区 标准页面是在AstroZero开发应用常用的页面形式,以调查问卷页面“命名空间__Questionnaires_questionnairePage”为例,带您初步了解前端页面、页面模型与后端数据对象之间的关系。 在调查问卷页面中,选中“表单”组件,右侧属性区域自动显示表单组件的相关属性,在“数据绑定”下,系统自动为“表单”组件绑定了一个“form_1”。 其中,“form_1”是一个页面对象模型,页面对象是在“模型视图”中定义的,本应用中默认已经创建。 图10 选择表单组件查看组件属性 单击页面底部“模型视图”,可以查看到当前页面中的2个页面模型form_1、editFlag。 前端页面模型根据绑定的后端资源不同,分为自定义对象、对象模型、服务模型和事件模型四种,详细介绍请参见标准页面。 图11 页面的模型视图 form_1为页面对象模型,在当前页面中,form_1映射绑定了后端数据对象“命名空间__Questionnaires_qR__CST”。同时,在前端页面中form_1又被表单组件进行了数据绑定,当用户输入问卷信息后,单击“提交”按钮,触发按钮的“点击”事件,即可将这些数据存入到后端数据对象,完成数据传递,三者关系如图12、图13所示。 图12 数据传到页面模型“form_1”最终存入到数据对象 图13 页面查询时从数据对象查询获取展示到组件 editFlag为页面自定义模型。 当用户提交问卷后,单击“问卷详情”,页面on-load事件,先通过editFlag判断当前页面类型,如果不可编辑,则将查询的对象数据展示到页面中。 了解标准页面与后端数据对象的关系后,可以打开其他页面,尝试分析一下页面逻辑,也可以查看帮助信息中的视频,学习如何在应用中修改标准页面。
  • 步骤4:创建工作流 基于工作流中HR类流程模板,创建工作流,并设置各泳道责任人。 创建工作流。 在BTA新版应用设计器,选择“流程”。 单击工作流后的,进入新建工作流页面。 在添加工作流页面,单击“基于模板”,设置标签、名称和描述信息。 图12 添加工作流 单击“选择模板”,选择“HR”中的“出差申请”模板后,单击“创建”。 图13 选择出差申请模板 设置工作流,配置各泳道处理人。 在进行工作流设计前,请先参照初识工作流中内容对工作流设计界面进行全面的了解。 在工作流开发页面,单击“Process Owner”泳道,配置工作队列为“Employee”。 图14 配置员工为申请人 单击“Reviewer”泳道,配置工作队列为“Manager”。 图15 配置主管为审批人 单击泳道“Process Owner”上的“重新填写请求”用户任务元素,设置任务标题为“待重新提交”。 执行该操作的目的是,后续在“我的待办”中可以看到“待重新提交”的任务状态。 图16 配置为待重新提交 单击泳道“Reviewer”上的“申请审批”用户任务元素,设置任务标题为“待主管审批”。 执行此操作的目的是,后续在“我的待办”中可以看到“待主管审批”的任务状态。 图17 配置为待主管审批 单击,保存工作流。 单击,启用工作流。
  • 步骤3:创建空白轻应用 创建应用是在AstroZero开发环境开发项目的第一步,也是端到端构建软件应用的入口。此处创建一个空白轻应用的目的是在应用的Logic目录下创建BPM。 以华为账号登录AstroZero服务控制台。 在实例列表中,单击“进入首页”,进入应用开发页面。 在左侧导航栏中,单击“应用”,进入低代码应用页面。 单击新建空白应用后的,进入新建空白应用页面。 图9 进入创建轻应用入口 设置应用标签和名称,此处均设置为BTA。 图10 设置轻应用标签和名称 图10名称前模糊掉的内容为命名空间,在AstroZero中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改,请谨慎定义。 单击“新建”,进入BTA新版应用设计器。 图11 BTA新版应用设计器
  • 进入AstroZero开发环境 开通AstroZero服务后,可以使用华为账号,登录华为云网站,从控制台进入AstroZero开发环境。 使用华为账号,登录华为云网站,在顶部导航栏右侧单击“控制台”,进入华为云控制台。 在左侧导航栏上方,单击,选择服务实例所在的区域项目。 单击,在查找框中搜索“Astro轻应用”,单击查找到的结果,进入AstroZero服务控制台。 图2 搜索Astro轻应用 在AstroZero服务控制台实例页面,单击“进入首页”或“旧版入口”,即可进入AstroZero开发环境。 免费试用版本无运行环境权限,请以实际界面为准。 在AstroZero中,开发低代码应用时,可以根据自身喜好,选择进入经典设计器或新版设计器。
  • 新版首页说明 在AstroZero服务控制台中,单击“进入首页”,进入AstroZero新版首页。 图3 AstroZero新版首页 表1 功能区域说明 区域 说明 工作台 AstroZero零代码应用构建平台入口。 AstroZero零代码应用构建平台,无需任何编程语言,只需通过拖、 拉、拽,即可快速搭建应用程序,畅快创作,量身定制,让想法秒变应用。更多关于零代码的介绍,请参见《用户指南(零代码)》。 应用开发 低代码应用开发页面,在该页面可以快速构建多种类型的低代码应用。 主页:在主页中,可快速构建多种类型的应用,并直接在线发布使用。 低代码应用:呈现当前用户最近创建、访问和收藏的应用。 学习中心:提供了AstroZero的功能操作和介绍视频,方便您更直观地了解AstroZero。 模板中心:预置了AstroZero零代码和低码应用模板,可以直接使用这些预置的应用模板快速创建应用。 产品动态:AstroZero通知公告/升级公告。 应用:在应用页面,可开发并管理所有低代码应用。低代码平台提供了经典设计器和体验新版设计器两种应用开发界面,更多介绍请参见《用户指南(低代码)》。 资产:在资产页面,可管理环境中的所有组件资产,包括可复用的BO资产、传统语言开发的原生服务和BO2.0资产。 业务大屏:Astro Canvas大屏应用开发入口,Astro Canvas是AstroZero提供的可视化大屏、小屏页面构建服务。Astro Canvas提供了丰富的可视化组件、灵活的数据接入和AI识别页面布局构建能力,支持多屏适配,帮助开发者快速构建和发布专业水准的实时可视化大屏、小屏页面。更多关于Astro Canvas的介绍,请参见《用户指南(Astro Canvas)》。 学习中心:提供了AstroZero的功能操作和介绍视频,方便您更直观地了解AstroZero。 模板中心:AstroZero内置了丰富的零代码和低码应用模板,您可以直接使用这些预置的应用模板快速创建应用。 右上角区域 :微信扫一扫,可关注AstroZero公众号。 :单击可切换语言。 :华为 云消息 中心入口。消息中心是华为云为更好的建立与客户的联系而建设的服务平台,可以为用户提供各类通知消息的接收和管理,用户可以及时快捷的接收消息,从而避免信息遗漏造成不必要的损失。 :AstroZero帮助文档入口。 用户名:显示当前登录账号的名称,单击账号名称,可查看系统版本信息、退出系统等。
  • 经典首页说明 在AstroZero服务控制台,单击“旧版入口”,进入经典版开发环境首页。 图4 经典版开发环境首页 表2 经典版开发环境首页 区域 域说明 首页 为您推荐:为您推荐有价值的内容。 项目:项目包括轻应用、行业应用、业务大屏和移动小程序四类,详细分类说明请参见应用场景。“我的应用”中,展示了正在开发的所有应用项目。 库:显示租户订购并安装的资产,包括应用App、Addon应用、BO、Native Service等,这些应用类型为资产包,内部组件受保护。 学习中心:提供一些AstroZero的功能操作和介绍视频,方便您更直观的了解AstroZero。 实战演练:供您进行实际演练,解锁后,可按照提示进行操作,完成典型应用的开发。 管理 租户层级的管理配置能力,例如用户权限管理、公司设置、数据管理等,更多介绍请参见应用环境配置。 资产中心 ROMA资产中心入口。 右上角区域 工单:我的工单和新建工单入口,当遇到问题时请提交工单联系华为云客服为您解答。 简体中文:单击可切换语言。 用户名:显示当前登录账号的名称,单击账号名称,可切换环境、查看系统版本信息、退出系统等。 :AstroZero通知公告/升级公告页面入口。在该页面中,可以查看当前华为云官网上线的AstroZero版本号及各个版本上线/优化的特性。 说明: 此处展示的版本为AstroZero正式商用版本,商用版本包括免费版、标准版、专业版和专享版。登录环境一致,仅功能规格不同,详细规格及收费标准请参见规格说明。 :华为云消息中心入口。消息中心是华为云为更好的建立与客户的联系而建设的服务平台,可以为用户提供各类通知消息的接收和管理,用户可以及时快捷的接收消息,从而避免信息遗漏造成不必要的损失。 :AstroZero帮助文档入口。
  • 前提条件 只有华为账号或具有“Astro Zero Instance ManageAccess”权限的IAM用户,才能开通AstroZero服务。如何给用户配置权限,请参见创建用户组并授权。如果以IAM用户开通AstroZero服务,其对应的华为账号也会同时开通AstroZero服务。 图1 给IAM用户所在用户组赋权(选择策略) 图2 给IAM用户所在用户组赋权(设置最小授权范围) 表1 权限说明 权限 作用范围 权限说明 Astro Zero Instance ManageAccess 区域级项目 Astro轻应用实例管理权限,拥有订购、退订、查看和升级AstroZero实例的权限。 Astro Zero Instance ViewAccess 区域级项目 Astro轻应用实例查看权限,只拥有查看AstroZero实例的权限,不可进行退订、升级等操作。 如果IAM用户登录AstroZero服务控制台,查看不到AstroZero实例,请按照如下两种方式中的一种进行处理: 给IAM用户所在的用户组,添加“Astro Zero Instance ViewAccess”权限。 不要将IAM用户添加到任何用户组中。 Astro Zero IAM User QueryAccess 全局服务 Astro轻应用IAM用户查询权限,只有华为账号或具有“Astro Zero IAM User QueryAccess”权限的IAM用户,才能执行添加开发者账号的操作。 本章节以华为账号,申请免费试用AstroZero服务为例。
  • 限制和说明 AstroZero免费版不收费,但最多支持添加10个用户(包括业务用户),且可使用的资源有限。 对于低代码应用,AstroZero免费版仅提供低代码应用开发环境,不提供将低代码应用发布至运行环境的能力。如果需要将应用部署到运行环境,请参考购买商用租户中操作,购买专业版。 免费版提供零代码应用开发能力,不需要使用任何编程语言,通过拖、拉、拽即可快速构建应用,操作零门槛,人人都可成为开发者。
  • 步骤4:在WeLink移动端测试应用 应用发布后,可以在WeLink移动端搜索并验证已发布的小程序应用。 在WeLink手机端,单击“业务”,搜索小程序“开发者”。 单击搜索结果列表中的应用名,进入调查问卷页面。 如果无法正常登录应用,且提示用户名已注册,请按照常见问题中操作处理。 图26 搜索小程序“开发者调查问卷” 输入问卷信息,单击“提交”,成功后跳转到“提交成功”页面。 图27 进入小程序页面 单击“查看详情”或“继续提交”,测试验证小程序的功能。 图28 提交成功 问卷调查完成后,切回到“开发者调查问卷”的应用开发页面,单击预览应用。在“调查问卷管理”页签中,可查看或删除相关数据。 图29 管理调查问卷记录 恭喜您,到此您已完成WeLink小程序的开发。
  • 编译发布应用 在调查问卷应用开发页面,单击,选择“设置”。 在包类型中,选择“资产包”,单击“保存”。 图7 设置包类型 在调查问卷应用开发页面,单击,选择“编译”。 编译成功后,关闭编译成功的窗口。如果想了解更多关于发布应用的设置,请参考发布App。 单击左下角,在发布应用中,选择“我的仓库”。 在发布到我的仓库页面,设置版本号和描述信息,单击“发布”。 图8 发布到我的仓库 发布成功后,页面显示“程序包已经被成功上传到我的仓库”。
  • 操作步骤 选中“Model”文件夹下的具体对象“命名空间__轻应用名_qR__CST”,在“自定义字段”页签,单击“新建”。 图1 新增自定义字段 选择字段类型为“文本区”,单击“下一步”。 图2 选择字段类型 设置字段的详情信息,单击“下一步”。 图3 配置详情 标签:字段在界面的展示名,此处配置为“questionCode10”。 名称:字段在系统中的唯一标识,单击输入框自动生成。 字段帮助:字段提示的帮助信息。 描述:字段的描述信息。 是否必填:字段是否必填,勾选表示是必填字段。 是否可搜:是否能在数据调试台或者脚本中,使用search语句搜索该字段。 设置字段的访问权限,即哪些Profile可以查看或修改该字段,单击“下一步”。 图4 配置权限 设置字段是否加入布局,保持默认配置,单击“保存”。 图5 添加到页面布局 字段创建完成后,在对象的“自定义字段”页签下可查看到该字段。后续在调查问卷页面的数据模型中可关联该字段,具体操作可参见(可选)步骤3:自定义调查问卷页面。 图6 已创建的字段
  • 步骤三:预览并发布大屏页面 在Astro Canvas中开发大屏页面时,支持直接在线预览效果,确保开发编辑效果与发布后运行效果一致。预览效果符合预期后,可直接发布大屏页面。 单击页面上方的,预览页面效果。 如果预览效果不符合预期,可进行微调,直至符合预期。 单击,打开“发布链接”开关,获取页面访问地址。 图9 打开发布链接 单击,可生成新的链接,原链接将不可访问。单击,可复制该链接。 (可选)版本管理。 通过管理页面版本,设置发布具体哪个版本的页面或者回退到具体哪个版本的页面进行开发。更多介绍,请参见管理页面版本。 本示例不新建版本,使用默认的实时更新版本作为发布页。 (可选)分享码设置。 设置页面分享码后,只能通过分享码来访问页面,提高安全性。更多介绍,请参见如何设置分享码。 图10 分享码设置 (可选)设置Token认证。 通过设置Token认证,可对大屏交互时传递的参数进行签名鉴权,保证大屏的URL访问链接的参数不会被篡改,从而提高大屏数据及用户信息的安全性。如何设置Token认证,请参见如何设置Token认证。 图11 设置Token认证信息 :打开Token认证开关后,Astro Canvas会生成一个Token。单击该图标,可复制Token。 签名地址只允许打开一次:开启后,签名地址仅允许打开一次,再次访问时需要重新获取签名地址。如果不开启,不限制访问次数,但支持设置有效期。 有效期设置:设置Token认证有效期。如果不设置有效期,Token认证将永久有效。 (可选)设置内容安全策略。 大屏页面嵌入第三方系统时(例如以iframe形式嵌入),如果涉及跨域访问,请开启内容安全策略。设置内容安全策略的主要目的是减少和报告XSS攻击,缓解跨站脚本攻击。除限制可以加载内容的域,还可指明哪种协议允许使用,缓解数据包嗅探攻击。如何设置内容安全策略,请参见如何设置内容安全策略。 图12 设置内容安全策略 开启“内容安全策略”时,如果在浏览器无痕模式下预览页面,请确保“阻止第三方Cookie”已关闭,否则无法正常预览页面。 图13 关闭阻止第三方Cookie 设置完成后,在浏览器中打开发布链接地址,即可访问大屏页面。 如果设置了分享码,输入分享码后,单击,即可访问大屏页面。 图14 输入分享码
  • 步骤四:安装大屏项目 在项目发布的版本管理中,可下载对应版本的项目包并在其他环境安装项目。例如,在当前环境下载项目包,在B环境安装。 在项目列表页面,单击步骤一:创建大屏&PC端项目中创建项目上的。 图19 进入项目发布页面 在版本管理中,鼠标放在对应版本后的“操作”下,单击。 图20 下载对应版本的项目包 选择运行容器,本示例选择“Astro Canvas”,单击“下载”。 更多运行容器的介绍,请参见安装项目。 图21 选择运行容器 将下载到本地的项目安装包发送给其他需要安装的用户。 其他用户在B环境的Astro Canvas界面,单击“导入项目包”。 图22 导入项目包 安装成功后,在已安装的项目上,单击项目图标,即可进入项目。进入项目后,可根据业务需求进行二次开发。
  • 步骤二:构建可视化大屏页面 Astro Canvas中预置了一些可复用的页面样例作为模板(预置模板和自定义模板),通过模板创建新的页面,可充分利用已有资源,减少重复开发,提高交付效率。本入门以交通管理模板为例,向您介绍如何快速构建大屏页面。 在“大屏&PC端项目”页面,单击“新建页面”。 图5 单击新建页面 在预置模板中,选择“交通管理”,单击“使用此模板”。 图6 选择交通管理模板 输入页面标题(如A市交通管理分析大屏),单击“新建”。 图7 设置页面标题 系统自动进入大屏开发页面,如图8。您可以直接使用该大屏页面,也可以根据业务需求进行二次开发。如何从零开始创建一个大屏应用,请参考开发大屏页面。 图8 大屏开发页面 单击页面上方的,保存大屏页面。
  • 操作步骤 在“我的应用”中,单击“A”应用,进入应用开发页面。 将鼠标放在“Script”上,单击界面上出现的“+”,在弹出菜单中选择“脚本”。 图1 脚本菜单 选中“创建一个新脚本”,“名称”设置为“login”,单击“添加”。 图2 新增脚本 在代码编辑器中,插入如下脚本代码。 import * as buffer from"buffer"; import * as crypto from"crypto"; import * as db from"db"; //定义入参结构,账号的用户名、密码为必需字段。如果根据业务需要,需其校验他字段(例如验证码),则根据账号密码字段的格式进行新增即可。 @action.object({type:"param"}) export class ActionInput{ @action.param({type:'String', required:true, label:'string'}) username:string; //用户名 @action.param({type:'String', required:true, label:'string'}) password:string; //密码 @action.param({type:'String', required:true, label:'string'}) captcha:string; //验证码,本脚本只是为了校验账号密码,因此用不到验证码,验证码也不是必需字段。在实现业务用户后台登录的Flow中,Flow调用此脚本,需要判断验证码,所以在此脚本中添加了验证码字段。 } //定义出参结构,结构中的字段可以根据业务需要按下方样例结构进行添加或减少。 @action.object({type:"param"}) export class ActionOutput{ @action.param({type:'String'}) msg:string;//登录信息 @action.param({type:'String'}) username:string;//用户名 @action.param({type:'String'}) userId:string;//用户ID @action.param({type:'String'}) captcha:string;//验证码 } //使用数据对象PortalUser @useObject(['PortalUser']) @action.object({type:"method"}) export class Login{ //定义接口类,接口的入参为ActionInput,出参为ActionOutput @action.method({ input:'ActionInput', output:'ActionOutput'}) public login(input:ActionInput):ActionOutput{ let out =new ActionOutput(); //新建出参ActionOutput类型的实例,作为返回值 let error =new Error(); //新建错误类型的实例,用于在发生错误时保存错误信息 try{ out.captcha = input.captcha; let s = db.object('PortalUser'); let condition ={ "conjunction":"AND", "conditions":[{ "field":"usrName", "operator":"eq", "value": input.username }] }; let user = s.queryByCondition(condition); if(user && user.length ==1){ if(validate(user[0].passwordSalt, user[0].userPassword, input.password)){ out.msg ="登录成功!"; out.username = user[0].usrName; out.userId = user[0].id; }else{ out.msg ="账号或者密码错误!"; } }else{ out.msg ="账号或者密码错误!"; } }catch(error){ console.error(error.name, error.message); out.msg = error.message; } return out; } } function _salt(password:string, saltBuf: buffer.Buffer, encoding: buffer.Encoding= buffer.Encoding.Base64):string{ const passwordBuf = buffer.from(password) const crypt = crypto.pbkdf2(passwordBuf, saltBuf,1000,32, crypto.Hashs.SHA1) return crypt.toString(encoding) } function validate(salt:string, userSaltedPassword:string, password:string, encoding: buffer.Encoding= buffer.Encoding.Base64):boolean{ const saltBuf = buffer.from(salt, encoding); const saltedPassword = _salt(password, saltBuf, encoding); return saltedPassword === userSaltedPassword } 单击编辑器上方的,保存脚本。 测试脚本能否正常执行。 单击编辑器上方的,执行脚本。 在界面底部的输入参数中,输入如下测试数据,单击。 其中,“test_cs”、“{XXXXXXXX}”为注册的业务用户账号和密码,“captcha”验证码非必填项为空。 在业务配置中心创建的业务用户和使用脚本创建的业务用户不能通用,故此处设置的业务用户(如test_cs)不能为在业务配置中心创建的业务用户。业务配置中心创建的业务用户,只能在默认登录页中使用。 { "username":"test_cs", "password":"{XXXXXXXX}", "captcha":"" } 执行成功后,在“输出参数”中可参看结果。 图3 返回结果 测试成功后,单击编辑器上方的,启用该脚本。
  • 如何通过Token进行认证 通过Token进行接口认证的方法说明,如表1所示。 表1 接口认证说明 认证类别 认证方式 说明 使用的用户 是否可以直接访问接口 账号密码认证类别 账号密码登录 通过账号密码直接访问登录接口,成功校验则返回“access-token”,写到Cookies上。 用户 是 单点登录认证类别 单点登录(“CAS”协议) 支持CAS单点登录方式,通过CAS server登录后携带ticket重定向到AstroZero。 AstroZero后台使用ticket到CAS Server,校验ticket合法性,获取ticket对应的租户(可选)、用户信息,然后校验该用户是否存在,在指定了租户的情况下,如果该用户不存在,则创建对应用户。在没有指定租户的情况下,该用户不存在,则直接报错,并返回到CAS Server。 成功验证用户身份后,则生成Session写到Cookies上, 重定向到指定页面。例如,通过红标华为WeLink单点登录AstroZero,AstroZero返回access-token给WeLink,供WeLink访问AstroZero接口。 用户、业务用户 是 OAuth 2.0认证登录类别 使用OAuth 2.0的client credentials鉴权模式 根据鉴权ID和鉴权密钥,调用获取用户Token接口,来获取access_token。匿名用户一般通过该方式,来 获取Token 。 用户 是 匿名登录认证类别 使用OAuth 2.0的client credentials鉴权模式 匿名用户一般根据鉴权ID和鉴权密钥,调用获取用户Token接口,来获取access_token。 匿名用户 是 业务用户登录使用服务编排中公式登录 业务用户登录(服务编排中PORTALUSER LOG IN公式) 指定业务用户名,使用服务编排的“PORTALUSERLOGIN”公式,来登录。 业务用户 否(只能在服务编排中访问)
  • 权限认证机制介绍 权限认证是指当用户登录AstroZero时,对用户拥有的权限进行认证的机制。AstroZero提供的所有接口都需要通过认证后,才可以访问。而AstroZero中存在如下几类用户,不同类别的用户访问接口的权限会有所不同: 用户 (User):也可以称为平台用户,用于管理开发应用。 使用认证机制为:“账号密码登录认证”、“单点登录认证”和“OAuth 2.0鉴权登录认证”。 业务用户(Portal User):是访问AstroZero提供的业务服务的用户。 使用的认证机制为:“账号密码登录认证”、“单点登录认证”和“OAuth 2.0鉴权登录认证”。 匿名用户 (Guest):对于该类用户,平台接口都需要进行校验,未登录前使用Guest用户身份来访问平台接口,一般会赋予最小的权限。 使用的认证机制为:“OAuth 2.0鉴权登录认证”。
  • 函数/方法注释 函数/方法注释采用典型的JSDoc的注释方式。 函数注释入参说明:@param + 1个空格+ {参数类型} + 1个空格 + 参数名+ 1个空格 + 参数说明。 函数注释出参说明:@return + 1个空格 + {参数类型} + 1个空格 + 出参说明(如果没有出参,则出参说明可不写)。 有关键逻辑或者重大变更时,增加改动者及改动描述。 /** * 在地图上创建标志 * * @param {String} latLng 经纬度信息 * @param {Object} mapInfo 地图描点信息 * @return {Boolean} 在地图上创建点选标志的结果 * @version 20180310 modify by xxx shangsan 修改地图上描点的样式 * @version 20180314 modify by xxx wangwu 在地图上描点增加事件发送,供外部订阅 */ var placeMarkerAndPanTo=function(latLng, mapInfo) { //返回创建点选标志的结果 return true; }
  • 开放性 Widget自身是开放的,直接引用业界优秀的开源组件可以提高开发效率。 例如,使用MVVM框架Vue(Vue相比AngularJS更轻量,性能更优)以及使用基于Vue的前端控件库Quasar,Element-UI。 不允许引入JQuery,因为框架已默认提供,引入后会引起运行冲突异常。 非特殊场景,组件的尺寸大小不建议写成固定值,可以指定最大/最小值。 非特殊场景,不允许直接对DOM元素添加 CSS 。DOM元素的样式通过显式的class引用,保证样式只作用在当前组件。
共100000条