优维低代码:构件基本说明

优维低代码:第三方接口接入 优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。conf.default.yaml 为默认配置,如果需要现场修改,请在 conf.yaml(如果没有,则新建)做个性化修改,实际配置将会合并两者。api_gateway 提供了统一的转发请求服务(如果是集群部署,则在对外服务的逻辑机器上,一般有 2 台或 3 台)将如下内容添加到 conf.yaml 里面。 阅读详情

优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。


在上一篇中,我们分享了在编排详解中是如何进行菜单配置的,本期我们将继续来解读编排详解中的构件基本说明。

# 构件配置

"bricks": [
  {
    "brick": "basic-bricks.micro-view",
    "slots": {
      "titleBar": {
        "type": "bricks",
        "bricks": [
          {
            "brick": "basic-bricks.page-title",
            "properties": {
              "pageTitle": "APP 管理"
            }
          }
        ]
      },
      "content": {
        "type": "bricks",
        "bricks": [
          {
            "template": "cmdb-instances.instance-list",
            "params": {
              "objectId": "APP",
              "detailUrlTemplates": {
                "APP": "${APP.homepage}/${instanceId}"
              },
              "presetConfigs": {
                "fieldIds": ["name", "_hierarchy", "businesses", "owner"]
              }
            }
          }
        ]
      }
    }
  }
]

我们开始进入深水区,bricks是一个有序数组,表示一个页面可以有多个构件组成。

我们先来看basic-bricks.micro-view这个构件,将他的配置抽离出来解释:

{
  "brick": "basic-bricks.micro-view",
  "slots": {
    "titleBar": {
      "type": "bricks",
      "bricks": [
        {
          "brick": "basic-bricks.page-title",
          "properties": {
            "pageTitle": "APP 管理"
          }
        }
      ]
    },
    "content": {
      "type": "bricks",
      "bricks": [
        ...
      ]
    }
  }
}

◆ brick:表示使用的是哪个构件,其命名格式为
BRICK-PACKAGE-NAME.BRICK-NAME。在原子构件包 及 业务构件包可以查阅到我们目前支持的所有构件

  • 这里我们也可以直接写 html 原生的 tag,比如 div、span、h1 等
  • basic-bricks.micro-view是一个页面框架构件容器,一般在所有页面的最外层都会有这么一个构件,这样可以保证页面的框架布局(如布局位置、间距等),确保标准一致

◆ slots:构件的插槽,插槽的意思是这个构件提供了子构件插入的能力,但插入点的位置会由父构件决定,插槽点用名称来表示。比如basic-bricks.micro-view就提供了 3 个插槽:titleBar、toolbar、content,表示左上角标题位置,右上角工具栏位置,内容位置,具体可查看说明文档。有些构件提供了 slot,有些构件没有,这个要看构件的具体实现。

  • 注意,如果你写了一个不存在的插槽点名称的话,也没关系,会自动追加

◆ properties:构件的参数配置,具体查看各个构件的说明

  • 如果构件是原生 html 标签,比如 div,他的properties用小写驼峰来作为 key,比如 style、textContent 等

# 模板构件

{
  "template": "cmdb-instances.instance-list",
  "params": {
    "objectId": "APP",
    "detailUrlTemplates": {
      "APP": "${APP.homepage}/#{instanceId}"
    },
    "presetConfigs": {
      "fieldIds": ["name", "_hierarchy", "businesses", "owner"]
    }
  }
}

大伙可能也发现,在bricks还有另外一种不同的写法,这种叫构件模板(Legacy)他是由多个 brick 封装而成的。

  • template:模板是用template来作为 key 的,而不是brick
  • params:模板的参数是params,而不是properties

# provider 构件

"bricks": [
  {
    "brick": "providers-of-cmdb.cmdb-object-api-get-object-all",
    "bg": true,
  },
  {
    "brick": "presentational-bricks.brick-utils",
    "bg": true,
  },
  {
    "brick": "providers-of-cmdb.instance-api-get-detail",
    "bg": true,
  },
  ...
]

provider 构件是访问后台接口或纯逻辑处理的一种特殊构件,它不会有实际可见的页面,一个provider构件就对应一个后台接口,是给其他构件提供数据的,详细使用请见[构件参数传递](
/next-docs/docs/micro-app/brick-property#参数来源于 useresolves(后台接口))。

  • bg:表示该构件会被放到一个看不见的背景(background)容器里
  • properties:同样 provider 构件也可以设置其properties,里面只有一个唯一参数args。
{
  "brick": "providers-of-cmdb.cmdb-object-api-get-object-all",
  "bg": true,
  "injectDeep": true,
  "properties": {
    "args": []
  }
}

更多 provider 说明见Provider 构件,另外,Provider 列表页面列举了当前框架内置的 provider 构件。

在bricks里面去定义provider是之前的写法,新的写法可以更简洁,直接在路由层级定义。如:

{
  "path": "${APP.homepage}/demo/cmdb-instance-crud/:instanceId",
  "providers": [
    "providers-of-cmdb.cmdb-object-api-get-object-all",
    "providers-of-cmdb.instance-api-get-detail"
  ],
  "bricks": [
    ...
  ]
}

本期低代码技术干货就分享到这里!

 

Windows Server 2008 R2装不上VMware Tools?别急,手动安装驱动补丁的保姆级教程来了 本文提供了Windows Server 2008 R2手动安装VMware Tools驱动补丁的详细教程,解决驱动签名验证失败问题。通过获取特定补丁文件、创建安装介质、挂载虚拟机并安装补丁等步骤,帮助用户顺利完成VMware Tools安装,提升虚拟机功能与性能。 阅读详情

相关推荐

农业杂草检测——棉花杂草数据集

然后将本层13×13的特征图谱经过×2上采样扩充到26×26,并与上层中26×26的特征图谱拼接,得到新的26×26的特征图谱,在该特征尺度上进行第二次预测,此时得到的特征图谱是相对输入图像16倍下采样,具有中尺度感受野,适合检测中等尺度对象;通过目标检测,能够及时清除杂草,减少病虫害的滋生和传播,保障棉花的健康生长,并有助于降低生产成本。对于地膜覆盖的棉田,由于膜内耕作层土温高、底墒好,杂草出苗早而集中,一般覆膜后5 - 7天杂草陆续出土,在墒情好的情况下,15天左右即形成出土高峰。

qq_38220914的博客 1247

优维低代码:构件 slot 说明

导语优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。在上一篇《优维低代码:构件事件传递》的技术分享中,我们分享了构件间传递事件常见的业务场景,以及分布调用的方式。下面,我们来讲讲有关容器构件的slot机制。 有些容器构件是提供了 slot 机制的,也即是构件的插槽。插槽的意思是这个构件提供了子构件插入的能力,但插入点的位置会由父构件决定,插槽点用名称来

EasyOps_DevOps的博客 264

GradNorm:Gradient Normalization for Adaptive Loss Balancing in Deep Multitask Networks,梯度归一化

文章目录引言gradnorm   gradnorm论文地址:https://arxiv.org/abs/1711.02257   gradnorm是一种优化方法,在多任务学习(Multi-Task Learning)中,解决 1. 不同任务loss梯度的量级(magnitude)不同,造成有的task在梯度反向传播中占主导地位,模型过分学习该任务而忽视其它任务;2. 不同任务收敛速度不一致;这两个...

Leon_winter的博客 2万+

优维低代码实践:添加构件

找到构件后,可以通过鼠标拖拽构件的方式,将构件拖拽到屏幕中间的iframe预览区域,iframe预览区域可以快速接收构件信息并渲染效果。页面是不同的构件基于一定的业务逻辑和交互形成的。构件作为页面中最基础的元素,分为原子构件、通用构件、业务构件、模板(可复用的具有一定业务逻辑的多个构件封装而成)等。ps: 父构件的插槽位有哪些,可以点击父构件的说明文档进行查阅,不同的构件插槽位名称不同,位置不同;构件的添加要基于路由,即构件的添加的前提是要有一个路由页面,此处省略添加路由的介绍,具体可参考路由创建。

EasyOps_DevOps的博客 1048

大象机器人myAGV移动机器人+mechArm六轴机械臂,开源复合机器人开发与实践!

我们这章节的内容是将协作性机械臂打破距离上的限制,跟移动机器人(myAGV)相连接,实现一个案例。

m0_71627844的博客 1488

基于MediaPipe的智能俯卧撑计数与姿势矫正系统

在现代健身和体能训练中,俯卧撑是最基础也是最有效的自重训练动作之一。然而,许多人在进行俯卧撑训练时常常存在姿势不正确、计数不准确等问题。本文将介绍如何利用计算机视觉和姿态估计技术,开发一个智能的俯卧撑计数与姿势矫正系统。

qq_36224726的博客 916

优维低代码实践:对接数据

接口字段定义需要说明下,我们的字段定义是包含了 uri 中的参数的,如上图所列的路由 v2/object/:objectId/instance/_search中,`objectId` 这个参数也定义在请求体中的,对于我们 uri 中的参数都需要单独占位,剩余的接口 data 参数一起占位,上面接口请求的参数如下写法。同样的如果使用的是 provider 类型的接口,我们也提供了 provider 类型的接口文档,可以通过 provider 文档 查看具体的信息。

EasyOps_DevOps的博客 1843

视觉定位避坑指南:基于双mark点的坐标转换常见错误排查

本文详细解析了工业视觉项目中基于双mark点的坐标转换常见错误及排查方法,涵盖旋转矩阵构建、坐标系原点选择、图像预处理优化等关键环节。通过实战案例和代码示例,帮助工程师避免定位偏差,提升系统精度,特别适用于自动化检测和精密制造场景。

7z8x2c4v6b9的博客 168

优维低代码实践:编排优化Plus

在上一章节中,我们编排完成了任务列表的查询,以及新增任务实例这两功能,在本章节中,我们将对其进行功能的完善,包括:任务修改,任务删除,点击任务跳转至任务详情页面,搜索查询能力完善等,那么下面让我们开始学习吧!在上一章节的最后一点我们完成了任务实例的新增,接下来我们要用对任务进行修改,需要我们在编排开辟新的入口(Tabel增加操作列),并调用相关的Proivder接口进行修改,下面跟着我的编排快速过下吧~在做完修改功能后,增删改查我们就剩最后一个删除功能了,我们就已最简单的实现结束这块功能吧~

EasyOps_DevOps的博客 873

Masta调用Geometry Modeller(Space Claim)进行根据三维模型快速建模设置方法

masta中调用ANSYS的space claim的设置方法

xifegnlie的博客 244

[VCS]VCS dump fsdb的精细化控制

本文介绍了VCS FSDB波形dump的精细化控制方法。主要内容包括:1)基本dump方式;2)通过$fsdbDumpoff排除特定层次;3)使用$fsdbDumpvars选择性dump指定模块;4)运行时动态控制dump开关;5)通过文件管理排除列表($fsdbDumpoffFile或自定义读取);6)层次控制策略(剪除整棵树或仅当前层)。这些方法可有效控制波形文件大小,提高仿真效率。

元直的博客 1035

优维低代码:构件参数传递

优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。连载第八期《编排详解:构件参数传递》▽在上一篇中,在构件基本说明里面说到了构件参数的简要配置,是直接在 storyboard 写的固定值,但在实际使用中,他会有多种形式的,如下做一一举例说明:# 参数来源于小产品配置当前只支持${APP.homepage},一般在链接地址中使用比较多 # 参数来源于 Ur

EasyOps_DevOps的博客 295

pyecharts在jupyter notebook中不能够渲染图表问题。

在使用jupyter notebook中使用pyecharts绘制可视化图表的时候,发现图表不能渲染到页面中,生成的html是没问题的,本文主要解决在jupyter notebook中不能渲染这个问题。

猿小白的博客 1169

优维低代码:Use Resolves

在早期版本中,我们只提供了通过provider指定CSSSelector并需提前在bricks或providers中主动声明对应的Provider构件的方式来使用useResolves,例如以下的构件配置,平台在渲染该构件前,将首先找到provider匹配的对应的。优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。...

EasyOps_DevOps的博客 237

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

优维低代码实践:页面编排优化与数据联调

在熟悉完上述几种场景的操作后,回到我们创建的第一个路由(页面),我对之前创建的的编排做了一些改造,将它的功能进行了简单地完善,将它变成了一个任务列表展示页面,并且支持查询任务模型数据,以及新增任务实例数据,还支持了搜索能力,那么我是怎么做到的呢,下着跟着我的操作学习一下吧!通过本节实践,您学习了我们最常用的几个API-CMDB的增删改查操作,构件的操作,查询接口的使用,以及新增接口的使用,这基本涵盖了我们日常页面编排的基本情况,其他操作基本上都是基于这些步骤之上进行拓展;至此,您就完成了新增任务的能力啦!

EasyOps_DevOps的博客 770

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

优维低代码实践:打包发布

直接依赖,即直接添加的依赖。【新增依赖】、【编辑依赖】和【更新依赖】时都会检查并分析组件之间的依赖关系,获取满足版本限制的最新版本,以此作为实际版本。对于独立打包来说,Visual Builder会依据上面的选择,获取用户指定的版本,或者获取满足依赖限制的最新版本作为实际版本。在普通打包的情况下,微应用的部署会检查运行环境的框架代码、构件等组件是否满足依赖里的版本限制,不满足的话将会安装失败。微应用的运行,依赖于框架代码以及构件,因此,我们需要维护正确的依赖信息,才能将微应用运行所需要的依赖打进制品包内。

EasyOps_DevOps的博客 685

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

优维低代码实践:Context / State

State 的能力和 Context 几乎完全一致,不同的是,Context 的作用域是整个页面、是全局的,我们的自定义模板,同一个模板在页面中可能有多个实例,如果直接使用 Context,则多个实例间的数据会互相影响。而 State 是局部的状态数据,相当于我们的局部变量,其只应用于模板的内部。PATH 的配置项是给 context 分组用的,当一个路由管理的 context 很多时,为了方便管理和查找,我们可以给每一个 context 进行分类,这样同一类下的 context 会放在同一目录下展示。

EasyOps_DevOps的博客 1146

优维低代码实践:第一个微应用

下方则为工具栏面板,各个按钮的含义分别是:定位具体路由,前进,后退,刷新画布,Build&Push(推送最近storyboard到具体预览环境),跳转到预览页面,画布快照截图,设置预览画布宽高(默认自适应),检查(开启时定位构件,关闭时可以直接使用画布进行页面交互)。通过本节实践, 您可掌握如何创建了一个微应用,并且了解了路由页面的创建,以及 Visual Builder主画板各个区域的能力,下节实践我们将学习到 《数据模型以及数据对接》,将它变成一个动态的,具有一定功能的页面!

EasyOps_DevOps的博客 698

优维低代码:Storyboard Functions 微应用函数

因此我们还提供了微应用级别的等价加工函数:Storyboard Functions 微应用函数,它与 Custom Processor 的能力基本一致,同样用于数据加工处理,但是可以直接在 Next Builder 中进行编写和使用,并跟随微应用一起发布。优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。该功能暂未开发完成。

EasyOps_DevOps的博客 631

优维低代码:编排详解菜单配置

优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。 接下来我们将继续为大家详细讲解编排详解中的菜单配置。 为 Micro App 配置菜单主要有两种方式: 在路由定义中使用menu配置菜单([Storyboard.routes.menu]); 在 Next Builder 上配置菜单(并在路由菜单定义中使用menuId/subMe...

EasyOps_DevOps的博客 427

优维“统一开放平台”:开放、开发、集成、客制化

这款由优维自主设计与研发,集数据开发、能力开放、能力集成、客制化为一体的统一开放平台,具备应用市场、应用开发、连接能力、采控平台、API集市、开发者工具等功能模块,可为用户提供便捷的运维开发和业务管理,在提高运维人员等工作效率的同时,提升业务的连续性和安全性。对于用户自研微应用,内置应用授权、应用上架等工具,以支撑自研微应用的研发、上架、使用的全生命周期。我们的目标,是希望通过低代码开发平台的能力帮助客户以低成本、短周期、高效率的方式,基于自身的开发需求,快速完成应用系统的开发搭建。

EasyOps_DevOps的博客 1255

优维低代码:Context 上下文

如果希望构件的属性能跟随 Context 的变化而变化,可以在表达式前面添加一句 "track context", (逗号运算符),可以激活 Context 追踪模式,当表达式中引用的 Context 变化时,该属性将自动重新计算并赋值。绑定构件属性的方式实际存储的是引用关系,在消费时实时获取。在事件回调里始终能拿到当事件发生时、最新的 Context 的值,而在属性中,默认只能在构件初始时拿到 Context 的初始值,此时该 Context 相当于一个应用的常量,例如:​​​​​​​。

EasyOps_DevOps的博客 422

Uknow | 优维低代码:Custom Processors 自定义加工函数

Pipes 管道 是由框架直接提供的全局注册的纯函数,看起来和 Custom Processors 很像,它们的区别主要是 Pipes 由框架直接提供,具有通用性的加工函数才会纳入框架,而 Custom Processors 由构件包提供,通常具有特定的业务属性、而不具备通用性。技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。编写单元测试:​​​​​​​。

EasyOps_DevOps的博客 542

优维低代码:Evaluate Placeholders 求值占位符

由于表达式(包括占位符和 Transform)计算得到的数据通常包含来自用户输入的数据,因此为了避免意外解析(例如某数据需要保存原始内容的表达式字符串),表达式得到的数据的内部的其它表达式在消费时不会执行解析。求值占位符中可以使用大部分 JavaScript 语法,出于避免意外的错误使用、安全、框架复杂度等方面考虑,支持的语法子集将限制在 Expression 中,并剔除了赋值相关的语法或操作,具体的支持清单见本文档最后的附录。下面列举一些常见的将原占位符改写为求值占位符的示例。...

EasyOps_DevOps的博客 392

优维科技入选虎嗅「2022产业数字化领域高成长企业」榜单

近日,虎嗅公布了2022大鲸榜「产业数字化领域高成长企业」榜单,优维科技凭借在DevOps领域强大的核心技术和独特的产品能力优势从150余家企业中脱颖而出,上榜”稳定大鲸“实力象限。 「大鲸榜」是由虎嗅发起的,旨在用前瞻性眼光寻找有远见、有持续创新动力的成长型企业,并助力企业发声、提升影响力。2022年「大鲸榜」专门针对产业数字化领域,遴选并发现潜在水下的数字化服务企业“大鲸”。 榜单历时三个月,由虎嗅调研团队携手第三方专业评审团队,经过检索、调研、细致评估、多轮评审,通过观察与分析企业的成长与未来

EasyOps_DevOps的博客 310

OpenSSH 10.6p2 修复密码认证绕过:Alpine 受影响条件、自查命令与升级指南

2026年11月5日,OpenSSH 10.6p2修复一关键漏洞:部分禁用PAM的musl libc系统(如Alpine 3.16–3.24)存在密码认证绕过风险。仅当四项条件同时满足时受影响——使用无PAM的openssh-server、开启密码认证、存在*密码账户、含$5$/$6$哈希。官方建议立即升级或关闭密码认证。自查需检查C库、包类型、配置及账户状态;处置优先升级并重启,无法升级则禁用密码认证。事后需排查历史登录记录,确认是否已失陷。提醒:后续将更频繁发布补丁,及时更新与重启成常态。

2601_96080144的博客 425
上一篇: 监控观测够有效,你就可以睡好觉
下一篇: 低代码开发的未来~
优维科技EasyOps
博客等级 码龄5年 1483粉丝 395原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值