优维低代码:构件渲染子构件

Unity 接入 Steam 平台 Unity 接入 steam sdk 的登录和应用内购买功能 阅读详情

导语

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


为了特殊标注某个字段我们常会对一些字段进行特殊的渲染,这里常见于表格或详情描述等,在编排这里,我们叫构件渲染子构件 —— useBrick

{
  "brick": "presentational-bricks.brick-table",
  "properties": {
    "rowKey": "id",
    "page": "${query.page=1|number}",
    "pageSize": "${query.pageSize=10|number}",
    "columns": [
      {
        "title": "分支",
        "dataIndex": "branch",
        "useBrick": {
          "brick": "presentational-bricks.brick-link",
          "transform": {
            "label": "@{cellData}"
          }
        }
      },
      {
        "title": "编号",
        "dataIndex": "id"
      },
      {
        "title": "流水线",
        "dataIndex": "pipeline"
      },
      {
        "title": "状态",
        "dataIndex": "status",
        "useBrick": {
          "brick": "presentational-bricks.brick-value-mapping",
          "transform": {
            "value": "@{cellData}"
          },
          "properties": {
            "mapping": {
              "success": {
                "color": "green"
              },
              "failed": {
                "color": "red"
              },
              "warning": {
                "color": "orange"
              }
            }
          }
        }
      }
    ],
    "dataSource": {
      "list": [
        {
          "id": "#7220",
          "pipeline": "contract-center / build_giraffe_sdk",
          "branch": "develop",
          "status": "success"
        },
        {
          "id": "#7221",
          "pipeline": "container / demo",
          "branch": "master",
          "status": "failed"
        },
        {
          "id": "#7222",
          "pipeline": "container / table",
          "branch": "feature",
          "status": "warning"
        }
      ],
      "page": 1,
      "pageSize": 10,
      "total": 3
    }
  }
}

注意 columns 里面的 useBrick 定义,他一般的结构为:

"useBrick": {
  "brick": "presentational-bricks.brick-value-mapping",
  "properties": {
    "mapping": {
      "success": {
        "color": "green"
      },
      "failed": {
        "color": "red"
      },
      "warning": {
        "color": "orange"
      }
    }
  }
  "transform": {
    "value": "@{cellData}"
  },


}
  • brick: 表示使用哪个构件
  • properties: 定义子 brick 的属性
  • transform: 将父数据映射为子构件的 properties,父容器会传递什么数据给子构件这个由父容器决定,决定见各父容器的文档。比如brick-table给子容器传递了cellData,rowData,columnIndex。

详细 transform 的介绍见Transform 数据转换

更多示例(描述列表):

{
  "brick": "presentational-bricks.brick-descriptions",
  "properties": {
    "itemList": [
      {
        "text": "Lynette",
        "label": "UserName"
      },
      {
        "text": "18",
        "label": "Age"
      },
      {
        "label": "Tags",
        "useBrick": {
          "brick": "presentational-bricks.brick-tag",
          "transformFrom": "tags",
          "transform": "tagList",
          "properties": {
            "configProps": {
              "color": "orange"
            },
            "showCard": false
          }
        }
      }
    ],
    "descriptionTitle": "User Info",
    "dataSource": {
      "tags": ["user"]
    }
  }
}

以上就是今天关于优维低代码的分享,希望对你有所收获!

十九、帧间预测编码_2、解码、显示顺序与图像管理、参考帧管理 一、基本概念 1.1H.264的解码顺序和显示顺序: 解码过程中,每一帧的数据按照相应的NAL Unit在码流中的顺序传入解码器进行解码 由于B帧的存在,视频帧在输出时会进行顺序重排 1.2frame_num与POC frame_num:表示解码顺序 POC:表示显示顺序(picture_order_count) 在H.264的码流中,表示解码顺序和显示顺序分别有相应的语法元素表示。这两个值都会在码流中保存,并在读取slice信息时解析(SliceHeader中) 1.3参考帧列表 某一帧图像在解 阅读详情

相关推荐

uniapp运行钉钉小程序

因项目原因,公司需要在钉钉里面开发小程序。之前用uniapp开发过app,H5,小程序。还真没尝试过钉钉小程序,今天就简单的记录下uniapp运行钉钉小程序中的过程。

YL 2919

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

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

EasyOps_DevOps的博客 1048

论文笔记--Spatial-Temporal Fusion Graph Neural Networks for Traffic Flow Forecasting

Summary 在交通预测问题上,现有的框架通常利用给定的空间邻接图和复杂的机制来建模空间和时间关联。作者认为使用给定的空间邻接图会限制模型的有效时空相关性学习,并且它们通常使用单独的模块来实现空间和时间相关性,或者只使用独立的组件来捕获局部或全局的异质依赖关系,割裂了时空依赖关系。为此作者提出一种时空融合图神经网络用于交通预测。提出一种数据驱动的“时间图”生成方法,以此来补偿空间图可能没有反映的相关性。提出一种新的交通预测方法。 Problem Definition 交通预测中的挑战 以上图为

chenxino的博客 1755

优维低代码:构件 slot 说明

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

EasyOps_DevOps的博客 264

Anaconda安装及配置+pytorch深度学习环境(2024复旦计算机工作站0705)

Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。Torch 是一个经典的对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。与Tensorflow的静态计算图不同,Pytorch的计算图是动态的,可以根据计算需要实时改变计算图。但由于Torch语言采用 Lua,导致在国内一直很小众,并逐渐被支持 Python 的 Tensorflow 抢走用户。

ZhiYilang的博客 2349

LD分析实战:基于Plink和R的连锁不平衡计算与可视化全流程

本文详细介绍了基于Plink和R的连锁不平衡(LD)分析全流程,包括基因型数据预处理、LD计算参数设置及结果可视化技巧。通过实战案例解析PLINK文件格式转换、r²值计算关键参数,并展示如何使用ggplot2绘制高质量LD热图,帮助研究人员高效完成基因组关联分析。

weixin_29074295的博客 320

优维低代码:Brick Life Cycle 构件生命周期

优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。定义构件在页面渲染完成后,当页面URL中包含非空的anchor(URLhash去掉前缀#)时,需要处理的动作。定义页面渲染前要执行的动作,它是配置初始化页面的主题和模式的窗口期。构件在自身渲染和页面渲染的各个时刻可以执行相关的动作,它们通过lifeCycle定义。...

EasyOps_DevOps的博客 198

【机器学习与数据挖掘实战 | 商务】案例03:基于k近邻算法的非侵入式电力负荷监测与分解的电力分析

本案例结合非侵入式电力负荷监测与分解的案例,重点介绍了在数据可视化的辅助下k近邻算法的应用。首先利用数据可视化寻找数据的特征,构建特征集合。然后构建k近邻模型,利用构建的特征集合训练模型,接着利用该模型对单一设备所属类别进行判定,最后计算实时用电量。

Morse_Chen的博客 2304

优维低代码:Transform 数据转换

在 Brick Next 中, dataSource+fields 是我们的开发者实践出来的不成文的约定,但是由于没有事先强制约定及深入调研,它的实现在不同的构件里虽然看起来相似,实际则各不相同,这给相关构件的下游使用者来说非常困惑,因此急需统一这些数据转换逻辑。注意这里容器构件为单元格构件(columns)起到了类似 useResolves 的作用:为它们传递数据并提供转换数据的接口,在容器构件里可能是这样实现的:​​​​​​​。现在可以在 useBrick 中使用插槽 slots 了:​​​​​​​。.

EasyOps_DevOps的博客 519

yolov26改进 | Neck/颈部创新篇 | 独创HFPN利用分层特征融合块HFFB模块融合多层次特征改进yolov26(全网独家创新)

本文提出了一种创新的分层特征融合模块HFFB(Hierarchical Feature Fusion Block)来改进YOLOv26的neck部分,构建了名为HFPN的新型特征金字塔网络。该模块通过三分支结构融合局部特征(CNN提取)、全局特征(Swin Transformer提取)和中间特征,并包含空间注意力(SA)、通道注意力(CA)和残差反向MLP(IRMLP)等组件来优化特征融合效果。实验表明,该方法能针对不同尺度目标(大/中/小)进行自适应检测,可根据具体数据集需求选择不同配置。文章详细提供了核

Snu77的博客 485

RK3588开发笔记-ES8311音频芯片调试记录

本篇博客主要记录如何在RK3588平台试ES8311音频芯片的过程。这包括硬件连接、内核配置、驱动程序调试和测试步骤。通过以上步骤,我们成功在RK3588平台上调试了ES8311音频芯片。这包括硬件连接、内核配置、设备树配置、驱动加载以及音频测试。希望这篇调试记录能为其他开发者提供一些帮助。如果你有任何问题或建议,欢迎留言讨上调论。

flypig has a dream! 3163

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

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

EasyOps_DevOps的博客 295

【C/C++ 性能优化】了解cpu 从而进行C++ 高效编程

在当代软件开发领域,CPU(Central Processing Unit,中央处理器)的性能优化一直是一个核心议题。尤其是对于C++开发者而言,无论是在Linux平台还是其他操作系统中,都需要深刻理解CPU的工作原理以及如何充分利用CPU资源,以确保软件运行的高效性和稳定性。正如计算机科学家Donald Knuth在《计算机程序设计的艺术》中所说:“过早的优化是万恶之源”,然而,这并不意味着我们应该忽视性能优化——相反,我们需要在正确的时间以正确的方式进行优化。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 4750

优维低代码:Use Resolves

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

EasyOps_DevOps的博客 237

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

优维低代码实践:搜索功能

在之前的示例中,我们有直接对接后端数据、通过事件进行接口的翻页数据请求等,但是在实际操作过程中,面对大量的数据,如果通过一页一页的翻阅查找,不方便且浪费时间,那么就会有搜索的功能要求,比如单字段的搜索,多字段的且、或搜索等。更改context中的请求内容,通过query.q或其他推送到url上的参数,进行或、并的匹配操作,从而达到动态获取用户输入的信息,并在页面刷新时,自动将搜索内容作为入参,调用后端接口匹配符合的数据并返回给前端渲染。修改输入框的事件内容。添加搜索框构件后,修改搜索框的属性。

EasyOps_DevOps的博客 688

visio安装包

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

优维低代码:Redirect 路由重定向&If 条件渲染

当系统渲染时,如果 your-permission-provider 返回的对象中的 permOfUpdateTools 为 true 时,页面将显示 your-brick-a 构件,反之将显示为 your-brick-b。优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。又如以下使用 Resolvable 目标的路由配置:​​​​​​​。

EasyOps_DevOps的博客 562

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

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

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

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

EasyOps_DevOps的博客 770

优维低代码:Lazy Bricks

在过去,一个构件包内的所有构件代码会打包输出到在同一个 JS 文件内,这可能导致页面渲染时会请求很多并不会用到的构件代码。因此我们提供了 Lazy Bricks 的机制,开发者可以主动将指定的构件声明为 lazy bricks,这些构件在打包时将脱离该构件包的主文件,只在明确用到时才加载。优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。

EasyOps_DevOps的博客 224

优维低代码实践:Context / State

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

EasyOps_DevOps的博客 1146

优维低代码:History 会话历史

在 Brick Next 中,History 概念不同于浏览器原生的 History,而是指的是一个第三方库 history,它和原生 History 的能力类似,但提供了更丰富的能力,另外我们又在它的基础上扩展了更多能力。:优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。普通的页面跳转应使用此方法。跳转到指定地址,替换浏览器会话历史栈中最新的一条记录。

EasyOps_DevOps的博客 385

优维低代码实践:图片和搜索

优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。Visual Builder提供了图片上传的能力,并将上传的图片作为该微应用的资源之一,在打包部署时,能够直接部署在服务器上,避免资源的重复加载。点击高亮的构件或路由,查看该构件或路由的配置内容,点击代码框右上角的“详情链接”,可以打开新标签页查看页面整体编排内容和预览效果,并编辑调整。

EasyOps_DevOps的博客 617

优维低代码:Custom Templates 自定义模板

在内部构件的属性中引用 TPL.* 时,只能在构件初始时拿到其初始值,此时该属性变量相当于一个常量,当模板实例的对应属性在运行时重新赋值时,该内部构件的属性不会发生变化。Custom Templates 可以代理内部构件的属性、事件、插槽和方法,以此实现将 Storyboard 上为该模板配置的属性和事件等映射到模板内部的指定构件上。当使用 mergeProperty 时,属性是从模板到内部构件单向流动的,即如果直接更改内部构件的相关属性,无法影响直接从模板读取的属性。...

EasyOps_DevOps的博客 667

优维低代码:Best Practice

导语优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。连载第十二期《编排详解:Best Practice》▽# Storyboard 最佳结构过去:我们能看到很多 provider 是在bricks[]定义的,比如: Menu 重复定义 我们能看到很多同学将menu抽出一个函数,然后在 ts 里面直接调用,但实际上这样生成的storyboard.

EasyOps_DevOps的博客 290

优维低代码:Context 上下文

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

EasyOps_DevOps的博客 422

优维低代码:Theme & Mode 页面主题和模式

Brick Next 的 UI 底层基于 Ant Design,在适配我们自己的 UI 规范相关的样式时,应结合 Ant Design 的底层技术 Less 的能力,尽量通过使用或覆盖已有的 Less 预定义变量值来实现样式更新,而不是使用固定的颜色值。对于色值一类的样式(例如 color: #fff)通常需要为默认主题和深色主题配置不同的色值,此时,我们可以将 Antd 中对应的 Less 变量设置为 CSS variables,并针对不同主题分别设置不同的色值。具体属性列表可以参考这里的源码。

EasyOps_DevOps的博客 1065

Uknow | 优维低代码:WebSocket 消息推送

在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。构件在自身渲染和页面渲染的各个时刻可以执行WebSocket消息推送的相关订阅动作,它们通过 lifeCycle 定义。

EasyOps_DevOps的博客 348
上一篇: 提效80倍!优维CMDB好样的
下一篇: 优维HyperInsight:掘金164.94亿美元可观测市场的“金锄头”?
优维科技EasyOps
博客等级 码龄5年 1483粉丝 395原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值