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

相关文章
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
ai人工智能课程学什么
本内容全面介绍了AI课程的核心体系,涵盖基础理论、核心算法、应用领域及伦理责任等方面。从数学基础与编程技能到机器学习和深度学习算法,再到自然语言处理与计算机视觉等应用领域,系统阐述了AI技术的全貌。同时探讨了开发框架如TensorFlow和PyTorch的使用,并关注AI伦理与社会责任。通过分步验证与实践经验,帮助学习者规避AI局限性。展望未来,生成式人工智能等新兴技术将持续推动课程发展,助力职业成长与社会进步。
|
12月前
|
机器学习/深度学习 人工智能 IDE
14B小模型代码成绩紧逼O3-Mini!DeepCoder-14B-Preview:基于Deepseek-R1蒸馏优化的开源代码生成模型
DeepCoder-14B-Preview是基于Deepseek-R1蒸馏优化的140亿参数模型,通过强化学习微调在LiveCodeBench达到60.6%准确率,开源训练数据与系统优化方案。
568 3
14B小模型代码成绩紧逼O3-Mini!DeepCoder-14B-Preview:基于Deepseek-R1蒸馏优化的开源代码生成模型
|
8月前
|
安全 网络安全 网络架构
升级到 Windows 11 后 Wi-Fi 无法使用?Windows 11 升级更新后 WiFi 无法上网?
升级到 Windows 11 后可能出现 Wi-Fi 问题?本文提供两种修复方法:一是使用 Win 系统修复工具,二是通过驱动人生更新网卡驱动。同时详解排查网络问题的步骤,包括检查硬件、修复驱动、调整防火墙设置等,助你快速恢复网络连接。
1682 0
|
9月前
|
传感器 机器学习/深度学习 存储
人机融合智能 | 人类认知和行为的计算建模
认知与行为的计算建模融合数学、心理学、神经科学等学科,通过数字化手段模拟人类认知与行为过程,旨在揭示其背后的神经机制。本文介绍该领域的两种建模思路——自上而下与自下而上,探讨其在基础心理过程与社会情境中的应用,并分析模型构建流程与选择方法,展望其在人智交互中的未来发展。
524 3
|
数据可视化 PyTorch 算法框架/工具
量化自定义PyTorch模型入门教程
在以前Pytorch只有一种量化的方法,叫做“eager mode qunatization”,在量化我们自定定义模型时经常会产生奇怪的错误,并且很难解决。但是最近,PyTorch发布了一种称为“fx-graph-mode-qunatization”的方方法。在本文中我们将研究这个fx-graph-mode-qunatization”看看它能不能让我们的量化操作更容易,更稳定。
617 0
|
机器学习/深度学习 人工智能 自然语言处理
探索量子计算在人工智能领域的应用####
本文深入探讨了量子计算技术在人工智能领域的潜在应用及其革命性影响。文章首先概述了量子计算的基本原理,随后分析了其在机器学习、优化算法及模式识别等AI子领域中的具体应用实例,最后讨论了当前面临的挑战与未来发展趋势。通过对比经典计算与量子计算在处理复杂问题上的差异,揭示了量子计算加速AI进程的可能性。 ####
|
网络协议 安全 Python
Scapy一个强大的 Python 程序(二)
Scapy是Python的网络安全工具,可用于创建和修改网络包
471 1
|
Java API 网络架构
Spring Cloud中的服务路由与过滤技术实现
Spring Cloud中的服务路由与过滤技术实现

热门文章

最新文章