云服务器内容精选

  • 关系属性设置 在业务设计页面,拖入一个BO业务对象和一个Abstract BO对象(命名为Role、Abstract),单击“relations”中的“继承”,为对象建立继承关系。选中已创建的关系,在右侧页面即可设置关系属性,如图3所示。 图3 继承关系 关系名称:设置继承关系的名称。 关系类型:根据创建的继承关系自动生成。 关系首要方:根据创建的继承关系自动生成。 关系次要方:根据创建的继承关系自动生成。
  • 关系属性设置 在业务设计页面,拖入两个BO业务对象(命名为Bo3、Bo4),单击“relations”中的“多对多”,为对象建立多对多关系。选中已创建的关系,在右侧页面即可设置关系属性,如图2所示。 图2 多对多关系 关系名称:设置多对多关系的名称。 关系类型:根据创建的多对多关系自动生成。 关系首要方:根据创建的多对多关系自动生成。 关系次要方:根据创建的多对多关系自动生成。 表名:设置关系表的名称,请按需自定义。在多对多关系中,会建立关系表用来保存首要方和次要方id的关系。 DTO暴露方式 - NESTED:是否设置DTO的NESTED(嵌套)能力。默认为不设置。 不设置:不生成NESTED。 只生成DTO:只生成NESTED对象的类。 生成DTO读API:只会生成一个get接口。 生成DTO读写API:除了生成一个get接口,还会生成一个插入接口。 DTO暴露方式 - CARTESIAN:设置DTO的CARTESIAN(笛卡尔积)能力。 不设置:不生成CARTESIAN。 只生成DTO:只生成CARTESIAN对象的类。 生成DTO读API:只会生成一个get接口。 关系操作:对象关系可执行哪些操作,如新增、删除、查询、批量新增、批量删除和批量查询。 每个Bo3关联最大Bo4数:一个首要方和次要方建立关联的数量上限。 每个Bo4关联最大Bo3数:一个次要方和首要方建立关联的数量上限。 每个Bo3关联最大Bo4维度上限预警值:首要方一条数据最多关联次要方多少条数据报出告警。 每个Bo4最大关联Bo3维度上限预警值:次要方一条数据最多关联首要方多少条数据报出告警 编辑字段:多对多的关系是通过一个关系表来表示的。单击“编辑字段”,可为关系表添加字段。
  • 定义脱敏规则 在业务设计页面,单击“脱敏规则”。 图1 选择脱敏规则 单击“新增”,添加一个脱敏规则。 例如,将移动电话的第2位到第5位数字进行脱敏处理。 图2 自定义脱敏规则 在对象的字段中,使用脱敏规则。 从“business”中,拖拽“BO”对象至画布空白区域。 选中BO对象,在对象属性中,单击“编辑字段”。 单击“新增”,添加一个phone字段,并将脱敏规则设置为2中定义的内容。 设置后,返回的值将进行脱敏处理,如1****123456。 图3 引用脱敏规则
  • 步骤4:业务设计 步骤1:基本配置、步骤2:框架配置和步骤3:生成策略中参数,只需要用户根据自身业务直接在界面进行勾选配置。而业务设计需要用户根据实际的需求,进行业务模型的设计和配置。 例如,创建一个简单的订单系统,订单系统中包括用户(User)、订单(Order)和订单详情(OrderDetail)三个业务对象,且三个对象之间存在聚合关系,即用户存在时,订单才会存在,订单存在时,订单详情才会存在。同时一个用户可以关联多个订单,订单通过单号进行标识,一个订单又可以关联多个商品,例如手机、耳机等,商品可以记录数量。实现上述业务逻辑,需要进行如下设计: 在业务设计页面,拖拽所需的对象到设计区,并修改对象名称。 AstroPro提供了BO、Abstract BO和Value Object三种类型的对象,请根据业务需求进行选择。 BO:业务对象,业务对象映射到服务中的一个实体,对应数据库中的一张表。 Abstract BO:抽象对象,不能实例化,没有对应的数据库表,需要和业务对象有个继承的操作。例如,业务对象A继承一个抽象对象B,则B中的字段都会被A继承过来。 Value Object:值对象,不能单独存在,需要和业务对象建立聚合的关系。 本示例中,拖拽三个BO对象到设计区,选中对应的BO,修改对象名称为User、Order和OrderDetail。 图1 拖拽三个BO到设计区 设置对象属性。 本示例中,因为一个用户需要关联多个订单,订单通过单号进行标识,一个订单又可以关联多个商品,商品可以记录数量。所以需要为“User”添加“name(用户名)”字段,用于记录用户信息。为“Order”添加“orderNo(订单编号)”字段,用于记录订单的编号。为“OrderDetail”添加“product(商品)”、“amount(数量,integer类型)”字段,分别用于记录商品的详情和商品的数量。 图2 为User对象添加name 图3 为Order添加orderNo 图4 OrderDetail添加product和amount 建立对象之间的关系。 AstroPro提供了一对多、多对多、聚合、树递归和继承五大关系,请根据自身业务需求进行选择。各对象间关系详细介绍,请参见对象间关系。 本示例中的订单系统,当用户存在时,订单才会存在,订单存在时,订单详情才会存在,此时需要为三个对象之间建立聚合关系。聚合关系中,次要方必须依赖首要方,任何对于次要方的操作首先要经过首要方才能继续往下操作。在User和Order的聚合关系中,User为首要方,Order为次要方,即用户存在时,订单才会存在。在Order和OrderDetail的聚合关系中,Order为首要方,OrderDetail为次要方,即订单存在时,订单详情才会存在。 图5 设置对象间关系 设置完成后,单击“下一步”,进行服务依赖设置。 父主题: 编辑服务
  • 关系属性设置 在业务设计页面,拖入两个BO业务对象(命名为Primary、Secondary),单击“relations”中的“一对多”,为对象建立一对多关系。选中已创建的关系,在右侧页面即可设置关系属性,如图2所示。 图2 一对多关系 关系名称:设置一对多关系的名称。 关系类型:根据创建的一对多关系自动生成。 关系首要方:根据创建的一对多关系自动生成。 关系次要方:根据创建的一对多关系自动生成。 DTO暴露方式 - NESTED:是否设置DTO的NESTED(嵌套)能力。默认为不设置。 不设置:不生成NESTED。 只生成DTO:只生成NESTED对象的类。 生成DTO读API:只会生成一个get接口。 生成DTO读写API:除了生成一个get接口,还会生成一个插入接口。 DTO暴露方式 - CARTESIAN:设置DTO的CARTESIAN(笛卡尔积)能力。 不设置:不生成CARTESIAN。 只生成DTO:只生成CARTESIAN对象的类。 生成DTO读API:只会生成一个get接口。 每个Primary关联最大Secondary数:一个首要方和次要方建立关联的数量上限。 每个Secondary最大关联Primary数:一个次要方和首要方建立关联的数量上限。 每个Primary关联最大Secondary维度上限预警值:首要方一条数据最多关联次要方多少条数据报出告警。
  • 属性说明 在业务设计页面,从“business”中,拖拽“Value Object”对象至画布空白区域。选中对象,在右侧页面设置对象属性,如图4所示。 图4 Value Object 对象名称:设置对象的名称,必须使用大驼峰格式,不允许存在连续的大写字母。 中文名:设置对象的中文名称。 BO属性操作:单击“编辑字段”,可以为对象添加所需的字段。 软删除策略:开启软删除策略后,数据删除时执行逻辑删除,数据仍然保留在数据库中。关闭软删除策略后,数据删除为物理删除,即直接从数据库中删除,不可恢复。 注意:购买AstroPro企业版实例时,才会显示“软删除策略”这个配置项。 恢复软删除:当开启“软删除策略”时可配置。开启恢复软删除,则支持将软删除的数据恢复。 支持BO多租:BO是否支持多租。开启BO多租时,请确保“多租模型”已开启。 注意:购买AstroPro专业版及企业版实例时,才会显示“支持BO多租”配置项。 图5 开通多租模型 不允许修改:对象是否支持修改。 操作:对新建的对象可执行哪些操作,如新增、更新、删除、查询、批量新增、批量更新、批量查询、批量删除和自定义查询。默认值为新增、更新、删除、查询和批量查询。 对象版本化:通过版本号的机制实现的乐观锁功能。开启此功能时,会在表中自动添加一个devspore_verion的字段来记录版本。在更新操作时会检查当前版本号和DB中的版本号是否一致,一致则更新数据并增加版本号,如果不同则说明数据已被其他事务修改,更新失败。 注意:购买AstroPro企业版实例时,才会显示“对象版本化”配置项。 对象描述:对象的描述信息。
  • 关系属性设置 在业务设计页面,拖入一个BO业务对象(命名为Bo5)单击“relations”中的“树递归”,为对象建立树递归关系。选中已创建的关系,在右侧页面即可设置关系属性,如图2所示。 图2 树递归 关系名称:设置树递归关系的名称。 关系类型:根据创建的树递归关系自动生成。 关系首要方:根据创建的树递归关系自动生成。 关系次要方:根据创建的树递归关系自动生成。 关系操作:对象关系可执行哪些操作,如新增、删除、查询、批量新增、批量删除和批量查询。 每个Bo5可以包含多少个子Bo5:一个首要方(父节点)和次要方(子节点)建立关联的数量上限。 每个父节点能有多少子节点上限预警值:首要方(父节点)一条数据最多关联次要方(子节点)多少条数据报出告警。
  • 属性说明 在业务设计页面,从“business”中,拖拽“BO”对象至画布空白区域。选中对象,在右侧页面设置对象属性,如图1所示。 图1 BO 对象名称:设置对象的名称,必须使用大驼峰格式,不允许存在连续的大写字母。 中文名:设置BO对象的中文名称。 分库逻辑:设置BO数据分库(sharding)策略。 广播对象(BROADCASTING):不需要进行分库,数据在所有数据分库实例上复制,一般是包含配置信息或者维度数据的小表。 根对象(ROOTED):分库的根对象,每个服务只能有一个。支持的主键类型有UUID和雪花算法,其中雪花算法支持逻辑数据库水平扩展。 分库对象(SHARDING):需要进行分库,所有对象实例必须有字段关联的ROOTED BO(AstroPro会自动创建ROOTED表引用字段,并创建外键关联ROOTED表),SHARDING表的分库策略和ROOTED必须保持一致。 单库对象(SINGLE):单表,不进行分库,也不是广播表,仅在一个数据库实例中存在。 表名:设置BO对象在数据库中的表名。 BO属性操作:设置对象的属性操作。 编辑字段:编辑对象的字段。单击“编辑字段”,进入编辑对象字段页面,可为对象添加字段和索引。其中,“NORMAL”为一般类型索引,使用B+树类型存储;“UNIQUE”为唯一索引。 图2 新增字段 图3 添加索引 自定义API:当系统预置的增删改查操作不能满足需求时,您可以通过自定义API来实现某个操作。如何为对象自定义API,请参见如何为对象自定义API。 软删除策略:开启软删除策略后,数据删除时执行逻辑删除,数据仍然保留在数据库中。关闭软删除策略后,数据删除为物理删除,即直接从数据库中删除,不可恢复。 注意:购买AstroPro企业版实例时,才会显示“软删除策略”配置项。 恢复软删除:当开启“软删除策略”时可配置。开启恢复软删除,则支持将软删除的数据恢复。 支持BO多租:BO是否支持多租。开启BO多租时,请确保“多租模型”已开启。 注意:购买AstroPro专业版及企业版实例时,才会显示“支持BO多租”配置项。 图4 开通多租模型 不允许修改:对象是否支持修改。 操作:对新建的对象可执行哪些操作,如新增、更新、删除、查询、批量新增、批量更新、批量查询、批量删除和自定义查询。默认值为新增、更新、删除、查询和批量查询。 对象版本化:通过版本号机制实现的乐观锁功能。开启此功能时,会在表中自动添加一个devspore_verion的字段来记录版本。在更新操作时会检查当前版本号和DB中的版本号是否一致,如果一致则更新数据并增加版本号,如果不一致则说明数据已被其他事务修改,更新失败。 注意:购买AstroPro企业版实例时,才会显示“对象版本化”配置项。 对象描述:对象的描述信息。
  • 示例 创建服务时“Package”设置为“com.astropro”。在业务设计中添加自定义API,动作名称为action1,请求方式为GET,返回对象为200,代码生成层勾选接口层和应用层,则代码生成时,将在接口层和应用层生成对应API的代码,如图6所示。 图4 设置打包路径 图5 添加自定义API 图6 查看生成代码 表2 不同目录结构下实际影响代码路径说明 目录结构 接口层 应用层 数据访问层 DDD {package}.api.xxx {package}.app.xxx {package}.infrastructure.repository.base.xxx Single {package}.api.xxx {package}.service.xxx {package}.repository.base.xxx base/service {package}.api.xxx {package}.service.xxx {package}.repository.base.xxx package为创建服务时定义的打包路径。
  • 添加自定义API 在业务设计页面,选中某个业务对象。 单击BO属性操作中的“自定义API”,进入编辑自定义API页面。 单击“新增”,按需添加所需的API。 实例级别:定义API实例的级别,如类型、实例。 动作名称:设置API的动作名称。 请求方法:HTTP请求方法(也称为操作或动作),用于告诉服务您正在请求什么类型的操作。 get:请求服务器返回指定资源。 put:请求服务器更新指定资源。 post:请求服务器新增资源或执行特殊操作。 delete:请求服务器删除指定资源。 请求对象:单击“添加请求对象”,可添加请求对象,即API请求的输入参数。 返回对象:请求发送后,您会收到的响应,如状态码。 路径:单击“输入path”,添加API的路径,格式为变量放到“{}”中,单词用“_”连接,非变量单词用“-”连接。例如:/meta-bo1s/{meta_bo1_id}/test-action。 当您没有自定义API路径,且“实例级别”选择“实例”时,生成的API路径上会拼接一个{MetaBo}_id的路径,同时方法上会多生成一个当前MetaBo主键的参数,如图2所示。 图2 API路径 描述:输入自定义API的描述信息。 设置代码生成层,参数设置与代码生成关系请参考表1。 表1 设置代码生成层组合说明 接口层 应用层 数据访问层 代码生成 x √ x 仅在应用层生成代码。 x x √ 仅在数据访问层生成代码。 √ √ x 在接口层和应用层生成代码。 x √ √ 在应用层和数据访问层生成代码。 √ √ √ 在接口层、应用层和数据访问层皆生成代码。 图3 设置代码生成层 设置完成后,单击“保存”。
  • 属性说明 在业务设计页面,从“business”中,拖拽“Abstract BO”对象至画布空白区域。选中对象,在右侧页面设置对象属性,如图4所示。 图4 Abstract BO 对象名称:设置对象的名称,必须使用大驼峰格式,不允许存在连续的大写字母。 中文名:设置对象的中文名称。 BO属性操作:单击“编辑字段”,可以为对象添加所需的字段。 软删除策略:开启软删除策略后,数据删除时执行逻辑删除,数据仍然保留在数据库中。关闭软删除策略后,数据删除为物理删除,即直接从数据库中删除,不可恢复。 注意:购买AstroPro企业版实例时,才会显示“软删除策略”配置项。 恢复软删除:当开启“软删除策略”时可配置。开启恢复软删除,则支持将软删除的数据恢复。 操作:对新建的对象可执行哪些操作,如新增、更新、删除、查询、批量新增、批量更新、批量查询、批量删除和自定义查询。默认值为新增、更新、删除、查询和批量查询。 对象版本化:通过版本号的机制实现的乐观锁功能。开启此功能时,会在表中自动添加一个devspore_verion的字段来记录版本。在更新操作时会检查当前版本号和DB中的版本号是否一致,一致则更新数据并增加版本号,如果不同则说明数据已被其他事务修改,更新失败。 注意:购买AstroPro企业版实例时,才会显示“对象版本化”配置项。 对象描述:对象的描述信息。
  • 功能介绍 Abstract BO是一个抽象对象,不能单独存在,没有数据库表,需要和业务对象建立继承的关系。建立继承关系后,业务对象会继承抽象对象中的字段。例如,抽象对象Abstract和业务对象Role存在继承关系,在抽象对象Abstract中,新建一个name字段,该字段会被Role自动继承。 图1 和业务对象Role建立继承关系 图2 在Abstract BO中新建一个name字段 图3 Role中继承name字段
  • 关系属性设置 在业务设计页面,拖入两个BO业务对象(命名为Bo1、Bo2)单击“relations”中的“聚合”,为对象建立聚合关系。选中已创建的关系,在右侧页面即可设置关系属性,如图2所示。 图2 聚合 关系名称:设置聚合关系的名称。 关系类型:根据创建的聚合关系自动生成。 关系首要方:根据创建的聚合关系自动生成。 关系次要方:根据创建的聚合关系自动生成。 DTO暴露方式 - NESTED:是否设置DTO的NESTED(嵌套)能力。默认为生成DTO读写API。 不设置:不生成NESTED。 只生成DTO:只生成NESTED对象的类。 生成DTO读API:只会生成一个get接口。 生成DTO读写API:除了生成一个get接口,还会生成一个插入接口。 DTO暴露方式 - CARTESIAN:设置DTO的CARTESIAN(笛卡尔积)能力。 不设置:不生成CARTESIAN。 只生成DTO:只生成CARTESIAN对象的类。 生成DTO读API:只会生成一个get接口。 每个Bo1关联最大Bo2数:一个首要方和次要方建立关联的数量上限。 每个Bo1最大关联Bo2数:一个次要方和首要方建立关联的数量上限。 每个Bo1关联最大Bo2维度上限预警值:首要方一条数据最多关联次要方多少条数据报出告警。
  • 注册华为账号 并实名认证 如果您已有一个华为账号,请跳到下一个任务。如果您还没有华为账号,请参考以下步骤创建。 进入华为云官网,单击页面右上角的“注册”。 参考注册华为账号并开通华为云中操作,完成注册。 注册后参考个人账号如何完成实名认证或企业账号如何完成实名认证中操作,完成个人或企业账号实名认证。 执行本入门中操作,只需购买一个AstroPro基础版实例。基础版实例当前为免费试用,所以不需要为您的账户充值。
  • 步骤三:页面设计 前端应用由一个或多个组件拼装而成。在左侧插件栏打开物料资产包,选择合适的组件,拖拽到中间画布中。在画布选中组件,设置组件的属性、样式以及绑定事件。 本示例中,使用到组件有Box、Text、Img、输入框和按钮。 在左侧插件栏打开物料资产包,选择Box组件,拖拽到中间画布中。 选中组件,在右侧属性设置面板选择“样式”,设置组件属性样式,例如,尺寸,高700px。布局选择“flex-弹性布局”。 从物料资产包中分别拖拽两Box组件至1容器内,并设置宽度为50%。 图4 页面规划 将一个Img组件拖拽至左侧容器内,在右侧属性设置面板选择“样式”,设置尺寸宽高为100%,在右侧属性设置面板选择“属性”,src设置为前提条件中获取的路径。 图5 设置图片样式 图6 图片设置路径 将一个Box组件拖拽至右侧容器内,在右侧属性设置面板选择“样式”,设置组件样式,例如,宽高为250px,250px。 选择右侧容器,并在右侧属性设置面板选择“样式”,布局选择“flex-弹性布局”,主轴/辅轴对齐设置为“水平居中”。 图7 布局效果 将一个Box组件拖拽至6的容器内,在右侧属性设置面板选择“样式”,高度设置为30px,布局选择“flex-弹性布局”,主轴对齐设置为“水平居中”。 将一个Img组件和一个Text组件分别拖拽至7的容器内,并分别设置组件样式及属性。 Img组件:在右侧属性设置面板选择“样式”,设置尺寸高为100%,在右侧属性设置面板选择“属性”,src设置为前提条件中获取的路径。 Text组件:在右侧属性设置面板选择“样式”,字体大小调整至22px,字重700;在右侧属性设置面板选择“属性”,文本输入“企业用户登录”。 图8 添加登录标题 再依次将两个Text、两个输入框、一个按钮组件分别拖拽至6的容器内,外间距上下分别设置为10px,调整整体页面布局。整体效果如图9所示。 Text组件1:在右侧属性设置面板选择“样式”,字体大小调整至11px,在右侧属性设置面板选择“属性”,文本输入“使用Astro,轻巧便捷的与您的业务一起发展、壮大”。 输入框组件1:在右侧属性设置面板选择“样式”,设置尺寸宽为100%,高度为30px;在右侧属性设置面板选择“属性”,文本输入“请输入邮箱或手机号”。 输入框组件2:在右侧属性设置面板选择“样式”,设置尺寸宽为100%,高度为30px;在右侧属性设置面板选择“属性”,文本输入“请输入密码”。 按钮组件:在右侧属性设置面板选择“样式”,设置尺寸宽为100%,高度为30px,字体颜色为白色,背景颜色为蓝色;在右侧属性设置面板选择“属性”,文本输入“登录”。 Text组件2:在右侧属性设置面板选择“样式”,设置字体颜色为蓝色,字号10px;在右侧属性设置面板选择“属性”,文本输入“设置/忘记密码”。 图9 整体页面效果 单击顶部工具栏的,保存页面设计。