云服务器内容精选

  • 申请试用AppCube 在申请试用AppCube前,需要完成注册iTM账号、绑定邮箱、绑定华为账号、实名认证,完成后,建议退出iTM登录,使用华为账号登录iTM。 访问iTM官网,如图14所示,单击右上角“登录”。 图14 登录 如图15所示,在iTM登录页面单击华为云登录图标,跳转到华为云登录页面。 图15 iTM登录页面 如图16所示,在华为云登录页面输入准备的华为账号,登录后自动跳转到iTM首页。 图16 华为云登录页面 如图17所示,在iTM首页单击“直营专区”,向下滑动鼠标滚轮展示App Engine信息,单击“了解详情”进入App Engine详情页面。 页面中介绍了华为App Engine应用开发平台的优势。同时也提供了“免费试用”和“立即咨询”按钮。 图17 直营专区 选择“免费试用”,勾选“我同意 inTouchMarket开发者服务销售协议”,申请试用App Engine应用开发平台(即AppCube)。 申请成功后,申请使用的账号为租户账号,租户账号可以创建其下的子账号,方便同一个开发团队之间能够更好地配合开发相应的项目。
  • 操作步骤 登录新版应用设计器。 在主菜单中,选择“检查”,进入立即检查页面。 图1 选择检查 检查完成后,在页面上方的“检查”,会显示问题个数。 图2 查看问题个数 单击下方立即检查后的,选择当前工程的内核版本,单击“确定”。 图3 选择内核版本 查看异常信息,根据异常信息内容解决问题。 立即检查:执行应用检查,检测应用中的元素是否存在问题。 异常描述:给出异常问题的描述信息,指明错误原因。 资源类型:出现异常问题的元素类型。 来自应用:出现异常问题的应用。 资源:出现异常问题的具体元素,单击则可跳转至对应组件元素。 检测完成后,若无异常信息,应用可以正常打包发布。
  • 设置应用说明 登录新版应用设计器。 在左侧导航栏中,选择“设置”,进入应用设置页面。 在应用信息中,单击“编辑使用说明”。 为应用添加使用说明,支持多语言,即不同语言下的应用说明。 “用户访问时是否自动弹出”设置为“不弹出”,运行该应用后,用户访问时不会弹出应用使用说明页。 “用户访问时是否自动弹出”设置为“可勾选下次不再弹出”,运行该应用后,用户首次访问时会弹出应用说明页,且弹出页会显示参数“下次不再弹出”供用户勾选。 图2 编辑应用使用说明 配置完成后,用户访问应用时,可参考图3,查看应用说明。 图3 查看说明
  • 修改标题与描述 登录新版应用设计器。 在页面左上角,单击应用名称后的下拉框,选择“修改应用图标和描述”。 您也可以在左侧导航栏中,选择“设置”,在应用信息中,单击“修改标题与描述”。 图1 选择修改应用图标和描述 设置应用名称、标题、图标等信息,单击“保存”。 应用名称:创建应用时设置的标签值,单击,可进行国际化设置。 应用描述:应用的附加描述信息,单击,可进行国际化设置。 应用图标:设置应用Logo,单击“上传”,可上传本地的图片作为应用的Logo图标。 图标颜色:设置应用Logo中,图标的颜色。 选择图标:选择图标的样式。
  • 图形化建模 图形化建模面向所有低代码应用开发者,提供简单易懂的数据库对象建模工具并复用知识经验,降低开发者的学习难度和技能门槛。 图4 初识对象设计器 映射工程目录 如何创建一个对象中介绍了对象及对象目录的创建,其中每个对象目录都可以映射为一个设计图,单击目录即可切换设计图。设计图用于展示目录中,对象之间的关系。 应用设计器数据视图的对象目录,本身就映射到一个设计图,设计图的名称即目录名称。 对象中每创建一个目录,就映射为一个独立的设计图。 目录中再创建目录,也映射为独立的设计图。 设计图上方,通过面包屑显示映射的目录路径,通过面包屑可切换设计图。 图5 对象目录路径 选中左侧工程目录中的对象和目录,设计图面包屑及对象图元会同步被选中。 对象和关系 设计图中,显示了当前目录下的所有对象图元。 对象图元上显示对象名称、字段名称和字段类型。 单击对象模型中的,可展开对象模型,查看对象的标准字段(Standard Fields)。标准字段由系统自动创建,无需用户创建。单击对象模型中的,可收起对象模型。 图6 对象图元 对象和对象之间的关系显示为关系连线。关系连线上显示关系名称,具体可参考关联对象。 属性面板 选中对象图元时,设计图右侧会显示该对象的属性面板。 图7 对象属性面板 属性面板的主要用途如下: 显示对象基本信息,如名称、唯一标识和描述。单击“更多信息”,会展示创建人、创建时间等信息。 设置该对象是否对外公开,是否可被其他应用访问。 修改属性后,单击“保存”,可保存修改的内容。 单击“删除”,可删除该对象。 自动排版 在设计器上方,单击“自动排列”,可自动排版设计图上的对象位置,以获取较好的视觉呈现。 图8 自动排版
  • 操作步骤 登录新版应用设计器。 单击页面右上方的,进入协作页面。 单击“开发者”,开启“开发者管理已开启”功能。 开启后,可以管理哪些用户,可以访问和编辑该应用,并设置权限。默认该开关关闭,表示环境上所有开发者,都可以访问并编辑该应用。 只有拥有“应用管理”权限的用户,才能开启关闭此开关,有权添加用户、删除用户及修改用户权限。 当用户新创建一个应用时(包括克隆、导入),该用户默认具备应用的所有权限,因此该用户可以开启和关闭开关。 图1 开发者 图2 开启此开关 单击“添加”,选择所需开发人员,单击“下一步”。 应用的管理者或应用的创建者,可以为当前应用添加开发者用户。被添加的开发者用户,可以访问或编辑该应用,由权限控制。 图3 选择用户 为添加的用户设置权限,单击“确定”。 选择“是”,按需为开发人员分配对应权限。用户必须要有查看应用权限项,才能通过应用设计器(包括新版和经典版)打开应用,否则进入应用设计器时会提示“您没有访问该应用的权限”。 图4 为用户设置权限 选择“否”,表示默认拥有原有的开发权限。被添加到应用中的标准用户,已在环境中具备了某种角色,在该应用中,此用户默认按其系统角色包含的权限来操作应用。 设置完成后,单击“确定”,完成用户的添加。 单击已添加用户后的,可修改用户权限。 单击已添加用户后的,可移除已添加的用户。开启“开发者管理”权限的用户,无法修改其应用权限,也不可以删除该用户。
  • 操作步骤 登录新版应用设计器。 在左侧导航栏中,选择“数据”。 单击已创建的对象,进入对象设计器页面。 单击对象后的,进入添加关联页面。 图1 创建对象关系 设置关联关系,单击“下一步”。 图2 选择关系类型 查找关系:引用目标对象的记录,通过关联当前字段与另一对象的ID字段,创建本对象与另一对象的引用关系。定义了查找关系后,本字段的取值只能来源于关联对象。当本对象的记录被删除时,被引用记录不受影响。例如,学生对象到班级对象的关联关系。 主从关系类型:目标对象为当前对象的子表,通过关联当前字段与另一对象的ID字段,创建本对象与另一对象的主从关系。定义了主从关系后,本字段的取值只能来源于关联主对象。当本对象的记录被删除时,子表记录会被一起删除。例如,订单对象和订单明细对象的关联关系。 设置关系类型的基本信息,单击“确定”。 显示名称:关联关系在界面的展示名称。 唯一标识:关联关系在系统中的唯一标识,创建后不支持修改。 关联对象:选择关联目标,下拉框展示当前应用内所有对象的显示名称。 对象与目标对象创建关系后,会产生关系连线, 如图3所示。 图3 关联对象 关联关系两端显示和,表示1对多关系。目前查找关系和主从关系都是1对多关系,低代码平台暂无1对1的关系设置。 箭头从有关系字段的对象,指向被关联的对象。 关系连线被选中时,右侧显示关系字段的属性面板。在右侧属性面板中,可以修改关联字段的属性信息或删除关联字段。
  • 添加索引 登录新版应用设计器。 在左侧导航栏中,选择“数据”。 单击已创建的对象,进入对象设计器页面。 单击对象中的,进入对象详情页面。 在“索引”页签,单击“添加”。 设置索引信息,单击“保存”。 图1 设置索引信息 显示名称:索引在界面的展示名称,创建后可修改 唯一标识:索引在系统中的唯一标识,创建后不支持修改。 索引类型:选择新建索引的类型,支持普通索引和唯一索引。 普通索引:允许被索引的数据列包含重复的值,可按需选择绑定的字段数。 唯一索引:被索引的数据列不包含重复值,保证数据记录的唯一性,必须绑定两个字段。 字段:索引关联的数据字段。 文本、密文、文本区、复选框、选项列表(多项选择)、公式、多语言和附件字段类型不支持创建索引。 使用关联字段(查找关系与主从关系)创建索引时,必须绑定两个及以上字段。
  • 低代码平台中的对象 低代码平台中的对象(也可以称为Object)相当于传统方式开发业务系统时,数据库中创建的一个表。每个对象对应一张数据库表,用于保存业务系统需要的配置数据和业务数据。 对象可以存储组织或业务特有的数据,您可以围绕对象这一核心,定义相关的字段、字段校验规则、界面样式、字段变更时的触发事件等。如果把待开发的业务系统比作一部电影,对象就是电影中的各个角色,需要勾勒角色的外貌、性格特点、人物关系和所经历的剧情。 低代码平台预置了一部分标准对象(Standard Object),您可以为这些标准对象新增字段,但不能修改、删除预置字段。租户开发者也可以根据自己的业务需要,创建自定义对象(Custom Object),支持增、删、改自定义对象及自定义对象的字段。 创建一个自定义对象后,系统会为自定义对象自动创建一些标准字段(Standard Fields),如图1所示。 图1 自定义对象的标准字段
  • 操作步骤 登录新版应用设计器。 在左侧导航栏中,选择“数据”。 单击视图后的,进入新建视图对象页面。 图3 进入新建视图对象页面 单击“新建”,设置视图对象的基本信息,单击“下一步”。 图4 设置基本信息 标签:新建视图对象的标签,用于在页面显示。 名称:视图对象在系统中的唯一标识,创建后不支持修改。输入标签后单击该参数的输入框,系统会自动生成视图对象的名称。同时会自动增加“__VIEW__ CS T”后缀和命名空间前缀,作为对象的唯一标识。 描述:新建视图对象的描述信息。 设置对象联结,单击“下一步”。 在A中选择主对象,单击“点击以关联另一个对象”后,在B中选择另一个对象,设置关联关系,单击加号设置“关联条件”。 如图5,表示当部门ID相同时,取两个对象表数据中的交集。对象联结最多支持三个Object连接,两个Object之间的连接条件由各自的字段及操作符所组成,连接条件可以有多条。 图5 配置关联关系 每个“A”对象的记录至少关联一条“B”的记录:表示结果取满足对象之间设定条件的“且”合集。 “A”对象的记录可以关联或不关联“B”的记录:表示结果取满足对象之间设定条件的“或”合集。 关联条件:表示对象之间的关联条件。 在映射信息页面,单击“字段映射”中“添加”,选择所需的字段(选择的字段将作为视图对象展示的字段),设置标签。 支持增加记录筛选条件,只有满足该条件,才会展示在视图中。本示例不涉及。 图6 映射信息配置 单击“下一步”, 预览视图对象对应的SQL语句。 图7 预览 核对信息无误后,单击“保存”,进入视图对象的详情页面。 “自定义字段”页签中,显示了配置的展示字段。 在“关联对象”页签中,单击,可查看视图对象对应的SQL语句。
  • 操作步骤 登录新版应用设计器。 在左侧导航栏中,选择“数据”。 单击已创建的对象,进入对象设计器页面。 选中对象图元,在右侧属性面板中,单击“生成页面”。 图1 生成页面 在生成页面中,选中“更新已有页面”。 在显示的页面列表中,选择对应的页面,单击“保存”。 图2 更新已有页面 该列表显示的是由该对象直接生成的页面,不包括开发者通过创建新页面生成的页面(即使也绑定了该对象模型)。 页面的显示名称和唯一标识以及内容可能已被更改,但仍然归属此对象的生成页面。
  • 创建定时任务 登录新版应用设计器。 在“开始”页面,单击“新建定时任务”。 图1 新建定时任务 配置定时任务,单击“保存”。 例如,创建一个定时任务“OfferingOffline”,用于实现从2021-11-25开始,每天零点自动将过期商品下架。其中,将过期商品下架的功能由“OfferingOffline”脚本实现。在创建定时任务之前,需要先开发实现定时任务功能的脚本。如何开发脚本,请参见脚本开发。 图2 配置定时任务 表1 定时任务参数说明 参数 说明 名称 定时任务名称。 例如:OfferingOffline 类型 选择定时任务执行的类型,支持脚本或服务编排。 例如:脚本 服务编排/脚本 选择定时任务执行的脚本或服务编排。 例如:选择已启用的脚本“OfferingOffline”。 输入参数 输入脚本或服务编排的输入参数。 任务首次执行时间 首次执行脚本或服务编排的时间。 例如:2021-11-25 00:00:00 执行次数 定时任务执行次数。 仅执行一次。 按设置的频率执行多次。 例如:按设置的频率执行多次 执行周期 “执行次数”配置为“按设置的频率执行多次”时,需要设置。 例如:1 执行周期单位 “执行次数”配置为“按设置的频率执行多次”时,需要设置执行任务时间的间隔单位。 例如:天 描述 定时任务的描述信息,建议描述其用途。
  • 编辑脚本 登录新版应用设计器。 在左侧导航栏中,选择“逻辑”。 单击脚本后的,选择“编辑”,进入脚本详情页面。 单击对应参数后的,可编辑该参数。 表1 脚本参数说明 参数 参数说明 单击该按钮,可进入脚本的编辑器页签。 如果脚本有多个版本,则进入处于启用状态的脚本编辑器页面。 如果多个版本都未启用,则进入最近版本的脚本编辑器页面。 名称 脚本的名称,在创建脚本时配置的名称。 是否启用 脚本是否已启用。 勾选:表示已启用。 不勾选:表示禁用。 归属APP 该脚本属于哪个应用。 版本 脚本的版本号。 方法名 脚本的方法名。 可见性 脚本是否可见。 允许覆盖 控制该资源是否可以被定制为新版本,或者是否可以被Addon应用导入,若已存在于Addon应用中,是否允许被另存为新版本。 默认允许,当配置为不允许时,说明如下: 在该应用中基于该资源定制新版本时,会报错“XXX不允许定制新版本,请检查基本属性并确认该资产是否允许覆盖”。 Addon应用里不允许导入该资源。 如果已导入到Addon应用中,无法定制新版本。 描述 脚本的描述信息,建议设置为脚本的作用。 创建人 脚本创建人。 创建时间 脚本创建时间。 最近修改人 最近一次修改脚本的用户名。 最后修改时间 最近一次修改脚本的时间。 输入参数 显示脚本的输入参数,包括参数名、参数类型、是否为集合和描述信息。 如果脚本有多个版本,则显示处于启用状态脚本的参数。 如果多个版本都未启用,则显示最近版本脚本的参数。 输出参数 显示脚本的输出参数,包括参数名、参数类型、是否为集合和描述信息。 如果脚本有多个版本,则显示处于启用状态脚本的参数。 如果多个版本都未启用,则显示最近版本脚本的参数。 版本 显示脚本的所有版本。
  • 规则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'")
  • 规则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”创建了索引。