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

目录

  • 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.rhkb.cn/news/321127.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

绘唐ai工具怎么获取

这款产品的最大亮点在于其高度精准的语音克隆能力,利用先进的模型,能够捕捉到用户独特的音调、音高和调制方式,使用户能够以前所未有的方式复制和利用自己的声音。仅需10秒钟的录制时间,即可实现声音的克隆,相当便捷。…

基于FPGA的数字密码锁电路Verilog代码Quartus仿真

名称:基于FPGA的数字密码锁电路Verilog代码Quartus仿真(文末获取) 软件:Quartus 语言:Verilog 代码功能: 数字密码锁电路的设计 1.设计任务:设计并制作数字密码锁电路 2.设计要求 1.用EDA实训仪的I/设备和PLD志…

上证50etf期权到底该怎么玩?

今天期权懂带你了解上证50etf期权到底该怎么玩?ETF期权是一种股票市场上的金融衍生品,它是在交易所上市交易的期权合约,其标的资产是某个特定的交易所交易基金(ETF),如上证50指数ETF或沪深300指数ETF等。 上…

Docker搭建LNMP+Wordpress

目录 一.项目模拟 1.项目环境 2.服务器环境 3.任务需求 (1)使用 Docker 构建 LNMP 环境并运行 Wordpress 网站平台 (2)限制 Nginx 容器最多使用 500MB 的内存和 1G 的 Swap (3)限制 Mysql 容器写 /d…

期权买方要保证金吗?期权交易保证金怎么计算?

今天期权懂带你了解期权买方要保证金吗?期权交易保证金怎么计算?期权保证金其实就是你在购买期权合约时,作为卖方要付出的那一小笔钱。简单说,就是为了防止你违约,给交易双方一个保障的“小押金”。 期权买方要保证金吗…

渗透测试流程

一、攻击流程 信息收集阶段→漏洞分析阶段→攻击阶段→后渗透阶段 二、信息收集 1、收集内容: IP资源:真实IP获取、旁站信息收集、C段主机信息收集域名发现:子域名信息收集、子域名枚举发现子域名、搜索引擎发现子域名、第三方聚合服务器发…

TCP经典异常问题探讨与解决

作者:kernelxing TCP的经典异常问题无非就是丢包和连接中断,在这里我打算与各位聊一聊TCP的RST到底是什么?现网中的RST问题有哪些模样?我们如何去应对、解决?本文将从RST原理、排查手段、现网痛难点案例三个板块自上而…

sprig 项目启动时报错:MybatisDependsonDatabaseInitializationDetector

问题 使用application.yml启动项目报错: 解决方案 修改pom.xml: 修改这两处的版本

Linux提示:mount: 未知的文件系统类型“ntfs”

mount: 未知的文件系统类型“ntfs” 在Linux系统中,如果遇到“mount: 未知的文件系统类型‘ntfs’”的错误,这通常意味着您的系统没有安装支持NTFS文件系统的软件。为了挂载NTFS文件系统,您需要安装ntfs-3g软件包。以下是如何在不同Linux发行…

28.leetcode---前K个高频单词(Java版)

题目链接: https://leetcode.cn/problems/top-k-frequent-words/description/ 题解: 代码: 测试:

自动化运维管理工具----------Ansible模块详细解读

目录 一、自动化运维工具有哪些? 1.1Chef 1.2puppet 1.3Saltstack 二、Ansible介绍 2.1Ansible简介 2.2Ansible特点 2.3Ansible工作原理及流程 2.3.1内部流程 2.3.2外部流程 三、Ansible部署 3.1环境准备 3.2管理端安装 ansible 3.3Ansible相关文件 …

shell脚本编写-测试同一网段内主机是否在线

除了可以使用ansible自动化运维工具判断主机是否在线以外,还可以通过编写Shell脚本来实现。 1、编写脚本 #! /bin/bash #测试192.168.81.0/24网段中哪些主机处于开机状态,哪些主机处于关机状态# #方法一:使用for循环判断 # for i in {1..25…

golang for经典练习 金字塔打印 示例 支持控制台输入要打印的层数

go语言中最经典的for练习程序 金字塔打印 &#xff0c;这也是其他语言中学习循环和条件算法最为经典的联系题。 其核心算法是如何控制内层循环变量j 每行打印的*号数量 j<i*2-1 和空格数量 j1 || j i*2-1 golang中实现实心金字塔 Solid Pyramid和空心金字塔 Hollow Pyram…

如何根据IP获取国家省份城市名称PHP免费版

最近项目遇到需要根据IP获取用户国家功能需求&#xff0c;网上找了一下&#xff0c;很多API接口都需要付费&#xff0c;考虑为公司节约成本&#xff0c;就取找找有没有开源的 github 上面那个包含多种语言&#xff0c;下面这个只有php&#xff0c;用法很简单 $ip 114.114.114…

华为eNSP中型企业局域网网络规划设计(下)

→b站传送门&#xff0c;感谢大佬← →华为eNSP中型企业局域网网络规划设计&#xff08;上&#xff09;← →拓扑图传送门&#xff0c;可以自己配置着玩← 配置ospf AR3 [AR3]ospf 1 router-id 3.3.3.3 //出口默认路由 [AR3-ospf-1]default-route-advertise always #area…

CVE-2019-19945漏洞复现 Openwrt针对uhttpd漏洞利用

根据官方漏洞的文档&#xff0c;该漏洞的复现工作我会基于openwrt的18.06.4这个版本进行测试。我选取的环境是渗透测试常用的kali-Linux系统&#xff0c;然后在其中搭建docker环境来完成相应的实验环境的部署。我通过这个核心命令获取docker环境&#xff1a; sudo docker impo…

GDPU 天码行空11

&#xff08;一&#xff09;实验目的 1、掌握JAVA中IO中各种类及其构造方法&#xff1b; 2、重点掌握IO中类所具有的IO操作方法&#xff1b; 3、熟悉软件中登录模块的开发方法&#xff1b; 4、掌握IO中读写常用方法。 5、进一步熟悉正则规则的使用方法。 &#xff08;二&…

Git可视化工具tortoisegit 的下载与使用

一、tortoisegit 介绍 TortoiseGit 是一个非常实用的版本控制工具&#xff0c;主要用于与 Git 版本控制系统配合使用。 它的主要特点包括&#xff1a; 图形化界面&#xff1a;提供了直观、方便的操作界面&#xff0c;让用户更易于理解和管理版本控制。与 Windows 资源管理器…

纯血鸿蒙APP实战开发——折叠屏扫描二维码方案

折叠屏扫描二维码方案 介绍 本示例介绍使用自定义界面扫码能力在折叠屏设备中实现折叠态切换适配。自定义界面扫码使用系统能力customScan&#xff0c;其提供相机流的初始化、启动扫码、识别、停止扫码、释放相机流资源等能力。折叠屏折叠状态通过监听display的foldStatusCha…

嵌入式C语言教程:实现声音监测系统

声音监测在许多应用中都十分重要&#xff0c;如噪声控制、安全系统、和智能家居控制。 本教程将介绍如何在STM32微控制器上使用模数转换器&#xff08;ADC&#xff09;和声音传感器实现实时声音监测系统。 一、开发环境准备 硬件要求 微控制器&#xff1a;STM32F746NG&…