微搭低代码从入门到精通02数据源的介绍

简介: 微搭低代码从入门到精通02数据源的介绍



一款低代码产品好不好用,数据建模的能力是一个重要的衡量指标。因为灵活的定义表之间的关系,自由的选择字段的类型,尤其在我们依据模型自动生成页面的时候是比较重要的。课程的第二节我们就介绍一下微搭低代码数据源的各项能力。

1 数据源的功能组成

打开控制台,展开我们的数据源,一共可以看到数据模型、通用选项集、API和数据连接器几个菜单

数据模型相当于关系型数据库的表的概念,可以创建表、创建字段,建立表和表之间的关系,微搭里叫关联关系。

数据模型除了可以定义字段外,还提供了后端的能力,比如常见的增删改查

此外还可以控制数据的权限,可以配置可读可写

在我们操作数据的时候,还可以触发工作流,在事件处理里定义

通用选项集相当于数据字典的自定义,可以配置下拉选择的选项

API相当于我们的后端能力,可以按照你熟悉的后端语言比如nodejs或者python写云函数

比如我们想实现登录逻辑,就可以传入用户名和密码,通过调用数据源来判断,如下是一个示例的调用代码

module.exports = async function (params, context) {
  // 这里是方法入参
  console.log(params);
  const zh = params.zh
  const mm = params.mm
/**
 * 可以在这里编写业务逻辑,例如:
 * 1. 使用 node-fetch 通过 HTTP 方式请求外部数据,并对获取的数据进行加工;
 * 2. 使用 context.database API 来直接操作云开发云数据库;
 * 3. 使用 context.callModel 来操作其他数据模型数据;
 * 4. 使用 context.callConnector 来使用API;
 * 5. 使用 context.app.callFunction 来调用同环境的云开发云函数;
 */
  const result = await context.callModel({
    name: 'zcyhxx_7diyeuv', // 数据模型标识,可以前往「数据源 - 数据模型」列表页查看
    methodName: 'wedaGetItem', // 数据模型方法标识,支持的方法可以前往「数据源 - 数据模型」的任一数据模型详情页查看当前模型支持的方法
    params: {
      where:[
        {
          key:'zh',
          rel:'eq',
          val:zh
        },
        {
          key:'mm',
          rel:'eq',
          val:mm
        }
      ]
    }, // 数据模型方法的入参
  });
  let islogin = false
  if(result._id){
    islogin = true
  }else{
    islogin = false
  }
  // 这里返回数据,和出参结构映射
  return {islogin:islogin};
};

而数据连接器相当于可以调用外部的mysql,当然了mysql还是比较昂贵的,如果你觉得微搭本身的文档数据库就够用了,也就没必要每年花比较多的钱再购置关系型数据库了

2 在低码编辑器中调用数据源的能力

我们如果定义了API,当然是要在前端调用了,可以在应用里创建javascript方法,用特定的API来调用,以下是一个示例

export default async function({event, data}) {
  const userInfo = await $w.auth.getUserInfo();
console.log('$w.auth.getUserInfo:', userInfo);
const openid = userInfo.openId
const result = await $w.cloud.callDataSource({
      dataSourceName: "zcyhxx_7diyeuv",
      methodName: "wedaGetItemV2",
      params: {
        // 筛选内容,筛选内容推荐使用编辑器数据筛选器生成
        filter: {
          where: {
            $and: [
              {
                openid: {
                  $eq: openid, // 获取单条时,推荐传入_id数据标识进行操作
                },
              },
            ],
          },
        },
        select: {
          $master: true, // 常见的配置,返回主表
        },
      },
    });
    console.log("请求结果", result); 
    if(result._id){
     $w.app.dataset.state.isLogin = true
    }else{
      $w.app.dataset.state.isLogin = false
      $w.utils.redirectTo({
  pageId: "u_deng_lu_ye", // 页面 Id
  packageName: "", // 主应用为空或不填,子模块填写 子包目录,查找位置 子包编辑器 --- 页面 --- 子包目录
  params: { key: "value" },
});
    }
}

具体的逻辑我们在登录章节讲解如何使用,先有个基本概念即可

3 视频讲解

我录制了一个数据源的讲解,喜欢看视频的同学可以浏览一下

02数据源介绍

相关文章
|
运维 数据可视化 搜索推荐
低代码平台:10分钟从入门到原理
低代码平台:10分钟从入门到原理
618 0
|
7月前
|
数据可视化 前端开发 定位技术
地图作业平台低代码实战(搭建能力提升)
该内容是关于地图数据作业平台从大型WebGIS的“综合作业”模式向人机结合、所见即所得的“简单作业”模式转变的探讨。平台在低代码建设过程中,遇到的问题是如何让非研发人员(如产品经理、工艺人员)能独立搭建车间,而无需理解前端基本概念如事件驱动、数据不可变原则等。为解决这一问题,文章提出了数据筛选器和saveEffect对象的解决方案,简化了数据处理和组件间联动的实现,使非研发人员也能通过可视化方式构建组件通信和联动逻辑。此外,还展示了如何将普通UI组件接入saveEffect的改造方法。最后,文中提到了未来的规划,包括引入逻辑编排能力和图形化表达逻辑代码,以支持更复杂的车间搭建。
地图作业平台低代码实战(搭建能力提升)
|
存储 数据可视化 JavaScript
(低代码)可视化搭建平台数据源设计剖析
低代码平台属于APaaS(应用平台即服务),其解决的是企业内部应用协调和人效成本的问题. 随着计算机技术诸如云服务等的发展, 传统软件服务已无法满足数字化浪潮的压力,
1070 0
|
7月前
|
前端开发 数据可视化 JavaScript
探索前端可视化开发:低代码平台原理与实践
【4月更文挑战第7天】本文探讨了低代码平台在前端开发中的应用,介绍了其模型驱动、组件化和自动化部署的原理,强调了提升效率、降低技术门槛、灵活适应变更和保证一致性等优势。建议开发者明确适用场景,选择合适平台,并培养团队低代码技能,同时规划与现有技术栈的融合,实施持续优化治理。低代码平台正改变开发格局,为业务创新和数字化转型提供新途径。
322 0
|
开发框架 自然语言处理 数据可视化
低代码平台如何实现快速开发应用?
低代码平台如何实现快速开发应用?
175 0
|
7月前
|
移动开发 小程序 UED
微搭低代码从入门到精通01应用介绍
微搭低代码从入门到精通01应用介绍
|
7月前
|
存储 小程序 API
微搭低代码从入门到精通03用户注册
微搭低代码从入门到精通03用户注册
|
JavaScript 前端开发 API
低代码平台-宜搭的核心概念
低代码平台-宜搭的核心概念
375 0
|
JSON 开发框架 前端开发
OneCode开源低代码引擎白皮书
随着低代码概念的火热,相关的技术及产品也是层出不穷,不管是老牌行业软件厂商还是开放平台厂商,不论是互联网行业企业SAAS软件新动向还是新兴的低代码创新产品服务,都在第一时间打出了低代码这张牌。各个平台虽然各有优势,但大多又是自成体系,真正在企业方面进行选择时却一时难以抉择。对于低代码平台的功能评价,以及各平台组件间的互联互通则成为了市场上迫切需求。 在刚刚过去的2022年,在平台互联互通的方面,阿里在第二季度推出开源引擎 “LowCodeEngin”,国家队信通院也应市场需求在第四季度推出了《低代码开发平台通用技术要求》,针对低代码相关概念以及功能点新型了进一步的规范和梳理。
OneCode开源低代码引擎白皮书
|
SQL XML 开发框架
新一代低代码开发平台,只需配置完成接口开发
简介 magic-api 是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发
379 0