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

相关文章
|
数据采集 监控 JavaScript
网站流量日志分析 —数据采集—页面埋点 JavaScript 收集数据|学习笔记
快速学习网站流量日志分析—数据采集—页面埋点 JavaScript 收集数据
754 0
网站流量日志分析 —数据采集—页面埋点 JavaScript 收集数据|学习笔记
|
6月前
|
机器学习/深度学习 人工智能 IDE
14B小模型代码成绩紧逼O3-Mini!DeepCoder-14B-Preview:基于Deepseek-R1蒸馏优化的开源代码生成模型
DeepCoder-14B-Preview是基于Deepseek-R1蒸馏优化的140亿参数模型,通过强化学习微调在LiveCodeBench达到60.6%准确率,开源训练数据与系统优化方案。
320 3
14B小模型代码成绩紧逼O3-Mini!DeepCoder-14B-Preview:基于Deepseek-R1蒸馏优化的开源代码生成模型
|
7月前
|
安全 数据安全/隐私保护 虚拟化
Windows Server 2022 中文版、英文版下载 (2025 年 3 月更新)
Windows Server 2022 中文版、英文版下载 (2025 年 3 月更新)
394 4
Windows Server 2022 中文版、英文版下载 (2025 年 3 月更新)
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
探索量子计算在人工智能领域的应用####
本文深入探讨了量子计算技术在人工智能领域的潜在应用及其革命性影响。文章首先概述了量子计算的基本原理,随后分析了其在机器学习、优化算法及模式识别等AI子领域中的具体应用实例,最后讨论了当前面临的挑战与未来发展趋势。通过对比经典计算与量子计算在处理复杂问题上的差异,揭示了量子计算加速AI进程的可能性。 ####
|
Java API 网络架构
Spring Cloud中的服务路由与过滤技术实现
Spring Cloud中的服务路由与过滤技术实现
|
存储 小程序 API
微搭低代码从入门到精通03用户注册
微搭低代码从入门到精通03用户注册
|
数据可视化 PyTorch 算法框架/工具
量化自定义PyTorch模型入门教程
在以前Pytorch只有一种量化的方法,叫做“eager mode qunatization”,在量化我们自定定义模型时经常会产生奇怪的错误,并且很难解决。但是最近,PyTorch发布了一种称为“fx-graph-mode-qunatization”的方方法。在本文中我们将研究这个fx-graph-mode-qunatization”看看它能不能让我们的量化操作更容易,更稳定。
430 0
|
API Python
Python邮箱API发送邮件的方法和步骤
使用Python发送邮件涉及导入smtplib和email模块,设置发件人、收件人、主题和内容,然后连接SMTP服务器(如示例中的smtp.example.com)并使用SMTP方法发送。完整代码示例包括异常处理,确保邮件发送成功或提供错误信息。通过这种方式,可以实现Python的自动化邮件发送功能。
ThinkPHP6表单上传的数据获取的四种方式【请求对象调用,静态调用,助手函数调用,原生的get|post】
本文介绍了在ThinkPHP6中获取表单上传数据的四种方式:请求对象调用、静态调用(Facade)、助手函数调用以及原生的$_GET和$_POST数组。文章通过示例代码展示了每种方式的具体使用方法,并强调了在使用请求对象调用时引入正确的Request类的重要性。
|
Java Redis 数据安全/隐私保护
Jedis Cluster密码设置
Jedis Cluster密码设置
241 2