首页 > 其他分享 >飞码LowCode前端技术(五)

飞码LowCode前端技术(五)

时间:2024-10-21 15:47:28浏览次数:1  
标签:LowCode 前端 配置 FMHelper DSL 飞码 预发 页面

简介

飞码是京东科技-市场与平台运营中心-平台研发部研发低代码产品,可使营销运营域下web页面快速搭建。飞码是单web页面搭建工具,从创建页面到监测再到投产的一站式解决方案。会通过七篇文章介绍飞码,分别是:(1)、背景与数据结构设计,(2)、如何便捷配置出页面-1,(3)、如何便捷配置出页面-2,(4)、如何便捷配置出页面-3,(5)、如何便捷配置出页面-4,(6)、如何便捷快速验证实现投产及飞码探索,(7)、飞码画布的设计。
本章节从监控、页面配置、页面数据导入导出以及其他能力四个方面进行分析。

一、监控(FMHelper)设计

飞码监控需要做两件事情,一是编辑态怎么帮助搭建人员快速定位问题并给出可能出现的问题点,二是在运行态最大能力定位问题(该部分还在研发中)。本节仅讲述编辑态中如何设计与定位问题的。飞码对FMHelper划分四部分分别是页面、弹框、事件、API。详见图1

图1

FMHelper在编辑态时会对整个页面的DSL进行监测,依据搭建中常见错误信息进行汇总分类,并形成配置表。配置表部分会在[飞码LowCode前端技术(六)]进行说明。飞码将问题分为error与warn两个级别。详见图2

图2

飞码依据页面中所有配置项以及事件链路关系,对于大部分问题都可以定位到错误配置位置,点击查看即可。在[飞码LowCode前端技术(六)]中探索部分会对如何监控到并给出修改建议说明。

二、页面配置设计

飞码页面配置分为样式、事件、数据、配置共4部分组成。详见图3所示。

图3

事件:页面事件与vue页面生命周期函数一一对应,飞码同时支持在一个生命周期函数中配置多个事件。选择相关的事件,即可在运行态的时候调用相关事件。
数据:数据分为入参配置,出参配置。入参配置的时候配置一个schema或者配置一些键值对,页面在运行态的时候会实时监控入参参数的变化,同时页面中的其他组件存在依赖关系的也会发生先关变化。出参配置这部分能力已转移到事件编排,在页面配置区域目前禁用状态,后续飞码会对其隐藏。详见图4。

图4

飞码页面入参有2种情况,一是通过飞码对外提供的sdk,标签引入之后对inData进行设置。二是会取投放出去页面的url中的参数。详见图5

图5

配置:该区域是页面业务型配置,包含整个页面API的host,API返回正确的code码,埋点与权限。详见图6所示

图6

页面在环境切换情况下,只需要在页面配置->配置 进行相关配置即可。

三、页面数据导入导出设计

测试环境、预发环境、线上环境对应的服务是不一样的。测试环境的数据无法同步到预发环境。测试环境调试好的页面,如何在预发环境上快速上线?飞码通过导出、导入能力实现页面的快速复制能力。如图7
图7

导出:会对页面整个数据结构进行数据加工,去掉空字段,删除事件编排中无用字段。
导入:与导出相反,会对整个导入的DSL数据结构进行加工,增加必备字段,增加事件编排中必备字段。

四、其他能力设计

回退上一步:在实践中发现画布拖拽(组件移动、兄弟组件之间的布局等)之后并不是想要的效果,飞码提供了一键回退能力,如图7所示“画布 上一步(4)“,飞码仅支持回退5步操作。详见图8

图8

问题:为什么仅支持5步回退?
搭建页面期间画布误操作情况一般是1-2步,飞码设计5步并没有考虑回退太多步骤的情况,其中5也是配置的一个数字。可以修改,支持更多步。
历史记录:操作保存、预览按钮的时候,飞码会记录当前页面DSL信息,记录在服务服务器。效果图见图9

图9

点击放大按钮可以看到点击保存、预览按钮时候的截图。点击“应用到当前页面“,可以切换到之前的历史版本。点击”复制DSL“,可以复制历史版本的DSL,之后开发其他页面使用或者对DSL进行对比。
预览:点击“预览“按钮之后,即可对当前页面进行预览,会跳转到飞码运行态页面。目前飞码FMHelper还没有对不合格(配置有问题)的页面进行拦截,飞码对FMHelper定位是一个提示工具。随着FMHelper能力变强,在智能监测与校验方面给页面搭建赋能。
问题:飞码测试环境预、发环境与线上环境在存量页面中怎么对比DSL的区别?
测试环境服务器无法与预发、线上打通。飞码目前支持预发环境与线上环境DSL的对比以及页面配置对比,在预发环境调试好的页面,在线上环境只需要同步即可。也可对同步的内容进行编辑。

五:小结

本章节分析了飞码如何便捷配置出页面-4,分别对监控、页面配置、页面数据导入导出以及其他能力四个方面进行了详细介绍。FMHelper是飞码的一个辅助工具,帮助搭建人员快速定位问题、页面配置目的是在运行环境不一致的情况下对变量参数进行快速设置,数据导入导出解决了环境数据不同步问题以及提供页面快速复制能力。下章节介绍[飞码LowCode前端技术(六)]如何便捷快速验证实现投产及飞码探索。

标签:LowCode,前端,配置,FMHelper,DSL,飞码,预发,页面
From: https://www.cnblogs.com/Jcloud/p/18489600

相关文章

  • Vue3 + TypeScript:从环境搭建到组件通信的完整前端开发教程
    在前端开发领域,Vue3与TypeScript的组合备受青睐。Vue3带来高效灵活的开发体验,TypeScript则提供强大的类型安全和可维护性。本文将详细介绍如何使用Vue3和TypeScript进行开发,文章内容将按照以下顺序展开:一、环境准备1.安装Node.js:从Node.js官方网站下载并安装适合......
  • 飞码LowCode前端技术(六)
    简介飞码是京东科技-市场与平台运营中心-平台研发部研发低代码产品,可使营销运营域下web页面快速搭建。飞码是单web页面搭建工具,从创建页面到监测再到投产的一站式解决方案。会通过七篇文章介绍飞码,分别是:(1)、背景与数据结构设计,(2)、如何便捷配置出页面-1,(3)、如何便捷配置出页面-2,(4)、......
  • Shadcn UI:现代前端的灵活组件库
    简要介绍ShadcnUI与其他UI和组件库如MaterialUI、AntDesign、ElementUI的设计理念截然不同。这些库一般通过npm包提供对组件的访问,而ShadcnUI允许用户将单个UI组件的源代码直接下载到项目中,提供了更大的灵活性和定制空间。按照ShadcnUI的说法,ShadcnUI实际......
  • 前端学习Day8 CSS常用声明 (文本 、图像篇)
    目录一、文本1.1.1、字体样式的常用属性1.1.2、语法格式1.2.1、文本样式1.2.2、语法格式 二、图像2.1.1、图像控制的常用属性2.1.2、语法格式一、文本1.1.1、字体样式的常用属性属性说明font-family设置字体的类型font-weight设置字体的粗细font-size设置字体的......
  • 网关失效前端请求一直报404
    这个问题是网关什么的我都配置的对但是前端页面请求过来就直接报404问题原因全局过滤器的使用全局过滤器是作用于所有路由的过滤器,无需单独配置。在SpringCloudGateway中,全局过滤器可以用来实现一些统一化处理的业务需求,例如权限认证、IP访问限制等。然而,如果不正确使用全局......
  • 前端UI框架
    组件UI类1.Element-Plus2.uView3.Vant4.TDesign5.uni-app6.Tuniao-vue37.可视化图标类1.可视化图标VUEDataUI2.Echart图标库ICON1.yesicon2.Flaticon3.GoogleFonts4.fontawesome5.阿里巴巴其他1.CSS布局2.web前端样式布局3.中国色-颜色合集托管平台......
  • vue3+vite5+qiankun结合vite-plugin-qiankun插件,搭建微前端框架
    没有特别的幸运,那么就特别的努力!!!前言涉及到环境npm:9.6.3node:19.9.0node官网地下载址:https://nodejs.org/dist项目框架主应用:vue2微应用1:vue2,qiankun官网API是基于vue2+webpack。微应用2:vue3+vite+ts,目前官网没有vue3示例,需要介入vite-plugin-qiankun插件进行处理......
  • 【前端横向导航栏及简单动画效果(伪类选择器)】
    【html代码】 <!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title></title> <linkrel="stylesheet"type="text/css"href="./css/index.css"/> </head> &l......
  • 【前端】如何制作一个自己的网站(11)
    接上文。除了前面的颜色样式外,字体样式和文本样式也是网页设计中的重要组成部分。合适的字体和文本排版,不仅可以使页面更加美观,也可以提升用户体验。接下来,我们先来看看CSS如何设置字体样式。字体样式同时设置了字体样式的四个属性:字体类型、字体风格、字体粗细和字体大......
  • 前端js html css 基础巩固4
    这是生成了不同的按钮进行显示 每一个按钮对应一个音频 点击按钮会播放对应的音频直接上代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0&qu......