lecen:一个更好的开源可视化系统搭建项目--数据、请求、寄连对象使用--全低代码|所见即所得|利用可视化设计器构建你的应用系统-做一个懂你的人

利用可视化设计器构建你的应用系统-做一个懂你的人

基本定义

前端系统主要由在线编写代码与可视化操作两种方式来构建。页面结构主要通过在线可视化拖拽组合生成,一些页面元素model的绑定及交互事件通过在元素属性面板编辑来操作。

我们提供了多个数据源来获取需要的数据,由于数据类型的不同,我们使用对象来对他们进行分类管理。

从功能性上主要分为下面几类:

属性值、预置函数、寄连、视图、元素、工具类。

由于细分下来属性特别多。因此我们通过不同的对象来对这些值进行访问。

名称 定义 说明
B 基础对象 包含initData,collectionData等
G 全局对象 包含page,menu,user等
R 请求链接对象 包含一些链接调用的方法和属性
P 执行寄连对象 包含一些寄连调取的方法和属性

几乎所有的变量都能够通过这四个对象访问到,每个页面都有自己的 BGRP 对象,除了 G 之外,不同页面之间的 BRP 对象都是相互独立的

这四个对象既可以独立访问,也可以在某个对象中访问另一个对象

页面中所有的地方都能够访问这些对象,所有可以写脚本的地方都能通过 this 来获取这些变量

除了当前页面下的公共对象之外,还有两个对象是只在当前组件的事件中能访问到的属性

名称 定义 说明
describe 当前组件视图配置 包含了渲染该组建所需的所有配置
scopeData 渲染数据 当前作用域插槽的数据

数据对象

initData

该对象主要存储一些初始化数据,一般情况下它的属性值不会发生变化,可以通过寄连、请求的方式进行设定,我们也可以手动指定初始化的数据,供之后访问、比较等操作。

该对象并没有严格的限制说能够存储哪些数据,只是约定好只存储页面初始化数据,或者一些其他的信息等

initData 在页面加载的时候,会默认填充两个属性:formCodeserviceTable,分别表示当前页面的编码和当前页面存储的数据表

然后我们可以在任意其他位置对它进行设定

比如我们创建一个请求链接,然后在回调函数里面把接口的返回值放到 initData 里面

请求链接的回调函数里面写上 this.B.setInitData(data)

先看下接口的返回值:

给页面添加该接口之后,接口调用完毕会执行回调函数,将数据填充到 initData

collectionData

所有在视图中带有model字段的属性都会被收集到这个对象中,我们也可以给该对象赋值一些临时的其他属性,这样方便在别的地方都可以访问到。

详见 collectionData收集model

requestData

如果请求链接配置了绑定数据字段,那么通过请求返回的数据就会被存储到该对象中,它还包含了两个特殊的属性:

handle:所有请求中如果设定了code,那么就会被保存在该对象中,以备之后手动触发请求。

code:带有权限控制的code可以通过这个对象访问到,我们也可以手动指定code属性。

关于如何将请求链接返回的数据绑定到 collectionData 对象中,以及它们的绑定机制和手动触发请求,可参考 请求链接配置

关于 requestData.code 对象的作用和运行机制,可参考 权限控制

controlData

页面中的所有数据视图都会以code为标识存储在该对象中,我们手动设定的dom和view也会通过它进行访问。

关于组件的 domview 设置规则和它们的使用方式,可参考 元素和视图的引用

setInitData(data)

这是 B 对象暴露出来的用于设置 initData 对象的方法,直接传入需要设置的数据对象即可

setCollectionData(data)

这是 B 对象暴露出来的用于设置 collectionData 对象的方法,直接传入需要设置的数据对象即可

请求链接对象

管理页面中所有的请求链接。

每个 请求链接 的回调函数中的this都指向这个对象。

除了在请求链接中使用,在页面的其他任何地方都可以通过 this.R 拿到这个对象。

也可以通过这个对象获取到 GPcollectionDatacontrolDatarequestData 等等公共对象。

主要有以下方法:

  • doCallBack:用于执行请求链接返回数据之后的回调函数

  • filterCancel:用于过滤掉被取消的请求

  • getLists:实际发起接口请求获取数据

  • initLists:根据请求链接的配置信息初始化请求

  • pitchRequest:根据请求策略拆分出不同的请求集合

  • prepare:发起实际请求之前的准备

  • request:管理一个请求从开始到结束的整个周期

  • setLists:根据请求链接的配置将返回的数据进行处理

  • trigger:根据请求编码发起请求

除了 preparetrigger 之外,其他方法均属于内部使用的方法,一般用不到

prepare

这是一个请求预处理,主要用来在发起一个请求前做一些逻辑处理,比如设置参数等。

如果页面中的一个请求链接具有 code 值,那么通过调用 prepare 方法,传入对应请求的 code,就会对该请求进行初始化并返回一个 promise

在then方法传递回来的参数是一个对象,其中包含两个属性:requestrun

request 代表当前的请求,可以通过它修改参数或执行其他操作。

run 是一个函数,执行之后将会发起真正的请求。

关于具体的使用方式可参照 请求编码

trigger

根据传入的对应请求的 code 发起请求,主要是用来处理手动触发的请求。

具体的示例可见 请求编码

寄连对象

用来管理页面中的执行寄连

函数 说明
bond 执行策略为before的寄连
doCallBack 自动执行指定的寄连
pitchBond 根据寄连策略拆分出不同的寄连集合
runIt 手动执行指定的寄连

还有一个 handle 的对象属性和一个 prepare 的数组属性

handle 主要用来存放需要手动执行的寄连

prepare 存放了执行策略为before的寄连

RunIt

通过它来手动执行寄连,第一个参数表示要执行的寄连 code,从第二个参数开始,都是要传入寄连函数的参数。

比如现在有一个编码为 getAverage 的寄连,它用来计算多个数的平均数,寄连内容如下:

现在在一个按钮的点击事件里面来调用这个执行寄连

点击按钮之后就会执行该寄连

关于手动执行寄连的配置可参考 寄连执行策略

【项目体验】

系统管理端地址http://www.lecen.top/manage

系统用户端地址http://www.liudaxianer.com/user

系统文档地址http://www.lnsstyp.com/web

相关推荐
流之云低代码平台8 小时前
提升PHP开发效率与质量的关键:工作流优化
低代码·php工作流优化方法·php代码优化·php开发流程优化·tpflow工作流引擎应用·gadmin企业级开发平台优势·软件开发速度提升
#六脉神剑11 小时前
用myBuilder搭建企业级数字化业务系统架构
低代码·系统架构·低代码开发平台·数字化工具·mybuilder
晴虹14 小时前
lecen:一个更好的开源可视化系统搭建项目--数据、请求、寄连对象使用--全低代码|所见即所得|利用可视化设计器构建你的应用系统-做一个懂你的人
前端·后端·低代码
流之云低代码平台1 天前
PHP工作流优化:让软件开发如虎添翼
低代码·php工作流优化方法·php工作流优化案例·php代码复用·php模块化开发·php自动化测试·php性能优化
启扶农1 天前
lecen:一个更好的开源可视化系统搭建项目--组件和功能按钮的权限控制--全低代码|所见即所得|利用可视化设计器构建你的应用系统-做一个懂你的人
低代码·权限控制·页面可视化·页面设计器·数据控制·组件控制·功能控制
AiFlutter2 天前
五、交互行为(01):按钮
flutter·低代码·低代码平台·aiflutter·aiflutter低代码
晴虹2 天前
lecen:一个更好的开源可视化系统搭建项目--组件和功能按钮的权限控制--全低代码|所见即所得|利用可视化设计器构建你的应用系统-做一
前端·后端·低代码
AiFlutter3 天前
四、动画图表(03):饼图
flutter·低代码·低代码平台·aiflutter·aiflutter低代码
踩着两条虫3 天前
VTJ.PRO「AI + 低代码」应用开发平台的后端模块系统
前端·人工智能·低代码