微搭低代码从入门到精通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数据源介绍

相关文章
|
SQL Shell Perl
使用shell自动化诊断性能问题(一)(r11笔记第41天)
一直以来要做性能分析的自动化工作,但是久久没有动笔,今天索性来更新一版。 首先我希望得到的一个基本效果就是后台去扫描数据库的DB time,如果超出了阈值,比如这里我设置的为400(即DB time为400%),则会开启自动诊断的任务。
1112 0
|
3月前
|
弹性计算 安全 网络协议
阿里云国际站服务器硬件防火墙怎么设置的?硬件防火墙的工作原理?
阿里云服务器硬件防火墙怎么设置的?硬件防火墙的工作原理?阿里云“硬件防火墙”实为底层能力的云化呈现,用户无需接触物理设备。核心防护通过**免费安全组**(包过滤+状态检测)和**付费云防火墙**(含IPS、威胁情报、应用层检测)实现,分别对应服务器级与VPC级纵深防御。
319 2
|
算法
【算法实践】| 一步步手把手带你实现寻找最小公倍数
其实最小公倍数的概念和计算最小公倍数的方法.那是我们在学习小学数学的时候就已经掌握的数学知识,为了更加通俗易懂一点,本文先从一个'分元宝'的故事入手: 亡故的先父留下遗嘱, 共有遗产17个元宝, 老大得元宝的二分之一、 17/2=8.5 老二得元宝的三分之一、 17/3=5.66666 老三得元宝的九分之一、 17/9=1.8 问他们每一个人分别应该分几个元宝? 在《一代大商孟洛川》中是这样做的 孟洛川拿来一个元宝加上去 好了,现在分元宝 答案是:老大9个元宝、老二6个元宝、老三2个元宝。 还剩下一个元宝,是我们孟洛川的,拿回来 很不可思议吧 很简单的初中数学题老大分1/2,老二分1/3,老三
1070 1
|
机器学习/深度学习 数据采集 算法
乳腺癌预测:特征交叉+随机森林=成功公式?
乳腺癌预测:特征交叉+随机森林=成功公式?
598 0
乳腺癌预测:特征交叉+随机森林=成功公式?
|
机器学习/深度学习
从RMSE和MSE到更多选择:探索机器学习模型性能指标
从RMSE和MSE到更多选择:探索机器学习模型性能指标
|
网络协议 安全 Python
Scapy一个强大的 Python 程序(二)
Scapy是Python的网络安全工具,可用于创建和修改网络包
576 1
|
MySQL 关系型数据库 测试技术
11步教你选择最稳定的MySQL版本
MySQL开源数据库有多个重要分支,目前拥有的分支分别为:MySQL Cluster、MySQL 5.1、MySQL 5.5、MySQL 6.2。每个分支都有着同样的的MySQL数据库版本,分别为:Development版本、Alpha版本、Beta版本、RC版本和GA版本。
2720 0
|
数据可视化 PyTorch 算法框架/工具
量化自定义PyTorch模型入门教程
在以前Pytorch只有一种量化的方法,叫做“eager mode qunatization”,在量化我们自定定义模型时经常会产生奇怪的错误,并且很难解决。但是最近,PyTorch发布了一种称为“fx-graph-mode-qunatization”的方方法。在本文中我们将研究这个fx-graph-mode-qunatization”看看它能不能让我们的量化操作更容易,更稳定。
686 0
|
机器学习/深度学习 人工智能 自然语言处理
探索量子计算在人工智能领域的应用####
本文深入探讨了量子计算技术在人工智能领域的潜在应用及其革命性影响。文章首先概述了量子计算的基本原理,随后分析了其在机器学习、优化算法及模式识别等AI子领域中的具体应用实例,最后讨论了当前面临的挑战与未来发展趋势。通过对比经典计算与量子计算在处理复杂问题上的差异,揭示了量子计算加速AI进程的可能性。 ####