微搭低代码入门06分页查询

news2025/7/4 6:40:35

目录

  • 1 创建自定义代码
  • 2 编写分页代码
  • 3 创建页面
  • 4 创建变量
  • 5 配置数据列表
  • 总结

我们在数据模型章节介绍了微搭后端服务编写的三种方式,包括Http请求、自定义代码、云函数。本篇我们详细讲解一下利用自定义代码开发分页查询的功能。

1 创建自定义代码

打开控制台,点击APIs,点击+号创建
在这里插入图片描述
选择自定义代码
在这里插入图片描述
输入名称
在这里插入图片描述
点击编辑API方法,进入方法的创建
在这里插入图片描述
默认会生成一个代码模板

/**
* 使用 npm 包 node-fetch 发送http请求, 详细使用文档可以参考
*  https://github.com/node-fetch/node-fetch
*/
const fetch = require('node-fetch');

module.exports = async function (params, context) {
  // 这里是方法入参
  console.log(params);

/**
 * 可以在这里编写业务逻辑,例如:
 * 1. 使用 node-fetch 通过 HTTP 方式请求外部数据,并对获取的数据进行加工;
 * 2. 使用 context.database API 来直接操作云开发云数据库;
 * 3. 使用 context.callModel 来操作其他数据模型数据;
 * 4. 使用 context.callConnector 来使用API;
 * 5. 使用 context.app.callFunction 来调用同环境的云开发云函数;
 */
  const response = await fetch(`https://reqres.in/api/users?page=${params.page}&per_page=${params.per_page}`);
  const result = await response.json();

  // 这里返回数据,和出参结构映射
  return result;
};

自定义代码只能使用nodejs编写,第一行require是引入了自定义代码的内置包,用来获取网络请求

const fetch = require('node-fetch');

具体的逻辑要写在给定的大括号里,这里module.exports是nodejs导出的语法,这个表示等号后边的函数要默认导出给微搭调用

方法的话有两个入参,分别是params和context,params对应我们自定义代码调用时候传入的参数,context表示运行时环境,里边有很多对象、方法可供我们使用,比如我们这个案例是演示分页方法,我们使用callModel来编写代码

代码执行完毕需要返回出参,我们这里用return语句进行返回,返回的出参必须是JSON对象,否则代码执行的时候会报错

2 编写分页代码

了解了自定义代码的结构后,我们就来实现一下分页逻辑,在代码中输入如下

module.exports = async function (params, context) {
  // 这里是方法入参
  console.log(params);

/**
 * 可以在这里编写业务逻辑,例如:
 * 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: 'cpxx_qbvuq9h', // 数据模型标识,可以前往「数据源 - 数据模型」列表页查看
    methodName: 'wedaGetRecords', // 数据模型方法标识,支持的方法可以前往「数据源 - 数据模型」的任一数据模型详情页查看当前模型支持的方法
    params: {
      pageNo:params.pageNo,
      pageSize:params.pageSize
    }, // 数据模型方法的入参
  });


  // 这里返回数据,和出参结构映射
  return result;
};

这里的name要从数据模型的基本属性中粘贴
在这里插入图片描述
分页查询需要传入每页大小和页码,我们在params里进行传入

代码写好之后需要手动添加入参
在这里插入图片描述
添加好之后就可以点击方法测试进行测试了
在这里插入图片描述
在这里插入图片描述
提交参数里,因为我们的页码和每页大小都是数字,所以先可以都写为1

点击运行测试就可以看到执行的结果,点击出参自动映射,完成出参的编写
在这里插入图片描述

3 创建页面

AIP写好之后就可以开发功能了,先创建一个分页查询的页面
在这里插入图片描述

4 创建变量

在代码区点击新建
在这里插入图片描述
选择新建外部API查询
在这里插入图片描述
选择我们刚刚创建的API
在这里插入图片描述

5 配置数据列表

添加数据列表组件,切换到fx表达式,绑定我们的变量
在这里插入图片描述

总结

本篇我们讲解了一下自定义代码的使用,随着应用开发的深入,后端的代码还是需要自己编写的,掌握编写的思路就可以自由的实现出自己想要的逻辑来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1650650.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python 全栈体系【四阶】(四十一)

第五章 深度学习 九、图像分割 1. 基本介绍 1.1 什么是图像分割 图像分割(Segmentation)是图像处理和机器视觉一个重要分支,其目标是精确理解图像场景与内容。图像分割是在像素级别上的分类,属于同一类的像素都要被归为一类&a…

微软“叛变”了!本月或将推出5000亿新AI模型MAI-1,对抗谷歌和OpenAI | 最新快讯

(图片来源:钛媒体 App 编辑拍摄) 钛媒体 App 5 月 6 日消息,据 The information 报道,美国科技巨头微软公司(Microsoft)将推出一款参数达 5000 亿的全新 AI 模型产品,内部称为 MAI-1…

【LAMMPS学习】八、基础知识(5.9)LAMMPS 近场动力学

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。 …

『 Linux 』基础IO/文件IO (万字)

文章目录 🦄 什么是IO🦄 文件IO(库级别)👾 文件的打开与关闭👾 当前路径👾 文件的读写 🦄 标准输入输出流🦄 文件IO(系统级别)👾 文件的打开👾 文件的关闭👾 …

加州大学欧文分校英语中级语法专项课程03:Tricky English Grammar 学习笔记

Tricky English Grammar Course Certificate Course Intro 本文是学习 https://www.coursera.org/learn/tricky-english-grammar?specializationintermediate-grammar 这门课的学习笔记 文章目录 Tricky English GrammarWeek 01: Nouns, Articles, and QuantifiersLearning …

latex参考文献引用网址,不显示网址问题

以引用UCI数据集为例 1、加入宏包 \usepackage{url} 2、在参考文献bib文件中加入网址文献 misc{UCI, author {{D. Dua, E. Karra Taniskidou}}, year {2024}, title {UCI Machine Learning Repository}, howpublished {\url{http://archive.ics.uci.edu/ml}} } 完成&#x…

C++细节,可能存在的隐患,面试题03

文章目录 11. C编译过程12. const vs #define12.1. 全局const vs 局部const 13. C内存分区14. C变量作用域14.1. 常量 vs 全局变量 vs 静态变量 15. C类型转换16. 函数指针17. 悬空指针 vs 野指针18. 为什么使用空指针,建议使用nullptr而不是NULL? 11. C…

CLion 写 Rust 报Project directory `/Users/.../rsheets` does not exist.

每次打开CLion都会看到像下面这样的报错,Project directory /Users/.../rsheets does not exist.,虽然不会影响你写代码,但每次看到还是不舒服,所以研究一下怎么解决。 原因是这样的,每当我们创建一个 Cargo 项目&…

CRC校验原理及步骤

文章目录 CRC定义:CRC校验原理:CRC校验步骤: CRC定义: CRC即循环冗余校验码,是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC&#…

VMware与CentOS的安装

VMware与CentOS的安装 第一章 VMware安装第二章 CentOS上网虚拟机网络IP修改地址配置修改主机名和hosts文件修改主机名称配置Linux克隆机主机名称映射hosts文件,打开/etc/hosts 安装Xshell7和Xftp7 第一章 VMware安装 VMware Workstation Pro 安装包 …

Go语言fmt包深度探索:格式化输入输出的利器

🔥 个人主页:空白诗 文章目录 🎭 引言一、基础输出函数fmt.Print与fmt.Println📌 fmt.Print:纯粹输出,不带换行📌 fmt.Println:输出后自动添加换行符 二、格式化输出fmt.Printf&…

Python实验代码定时调起

Python代码实验调参需要等待1小时运行完成,自动将提前设置的5组参数(每组参数有8个)间隔1小时之后让Python代码再次自动依次调起运行其中的一组参数,每次跑完将实验结果写一个文件在本地存储通过邮件发送运行结果到指定QQ邮箱 im…

《QT实用小工具·五十三》会跑走的按钮

1、概述 源码放在文章末尾 该项目实现了会逃跑的按钮: 两个按钮,一个为普通按钮,另一个为会跑走的按钮 鼠标移到上面时,立刻跑掉 针对鼠标、键盘、触屏进行优化 随机交换两个按钮的文字、偶尔钻到另一个按钮下面、鼠标移开自…

cmake进阶:目录属性说明一

一. 简介 接下来简单学习一下 cmake 中的属性相关的概念。 属性大概可以分为多种:全局属性、目录属性(源码属性)、目标属性以及其它一些分类。 二. cmake进阶:目录属性 cmake中的属性可以 在如下网址查询到: http…

Jsoncpp介绍

1.简介 Jsoncpp 是一个 C 库,用于解析和生成 JSON 数据。它提供了一个易于使用的 DOM(Document Object Model)风格的 API,允许开发者以树形结构的方式操作 JSON 数据。 Jsoncpp 是一个C库,允许操作JSON值,…

PG WAL日志理解

类似于oracle的redo log,用于数据库恢复,当一条SQL语句执行,PG会把对应的块放到缓冲区执行,,会写进WAL缓冲区会进行写操作,commit后,WAL writer进程进行写操作,把日志缓冲区WAL buff…

【linux】初步认识文件系统

初步认识文件系统 前置知识的简单了解简单回顾C语言的文件操作stdin&stdout&stderr 系统文件IOopen函数的返回值文件描述符fd打开文件背后的操作文件描述符的分配规则 前置知识的简单了解 文件包括了文件内容和文件属性两个部分(文件内容顾名思义就是文件里面的数据等…

【Hugging Face】编写 shell 脚本在 huggingface 镜像站快速下载模型文件

前言 我们使用 Git LFS 和 wget 结合的方法,小文件使用 Git 下载,大文件使用 wget 下载 Git 下载的优缺点: 优点:相当简单 缺点:不支持断点续传 直接 wegt 下载比较稳定,但是欠缺优雅 我们可以将这两…

城市二手房数据分析与房价预测

实现功能 数据分析 二手房价格-时间分析 二手房数量-时间分析 二手房分布-区域分析 二手房户型分析 二手房朝向分析 二手房价格-区域分析 二手房热词词云 房价预测 采用合适的算法模型,对模型进行评估。通过输入影响因素输出预测价格。 采用技术与框架 M…

暗区突围服务器连接失败/网络异常/无法连接下载解决方法

暗区突围是一款仿真战场的模拟,首要介绍的自然是游戏中基本都会参与的模式,叫做战术行动,大家参与其中是会作为特遣队员的身份来做任务,面临的是一个全面自给自足的战场环境,这种模式要求玩家在进入暗区之前自行筹备所…