微搭低代码入门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.mzph.cn/web/7697.shtml

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

相关文章

Qt——入门基础

目录 Qt入门第一个应用程序 main.cpp widget.h widget.cpp widget.ui .pro Hello World程序 对象树 编辑框 按钮 Qt 窗口坐标系 Qt入门第一个应用程序 main.cpp 这就像一开始学语言时都会打印一个“Hello World”一样,我们先来看看创建好一个项目后&…

LeetCode 难题解析 —— 正则表达式匹配 (动态规划)

10. 正则表达式匹配 思路解析 这道题虽然看起来不难理解,但却存在多种可能,当然这种可能的数量是有限的,且其规律对于每一次判别都使用,所以自然而然就想到用 动态规划 的方法啦 接下来逐步分析可能的情况: &#x…

栈(使用顺序表构建)

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 目录 1、栈的概念2、栈的数组构建方法2.1 前言2.2 正文2.2.1 栈的初始化2.2.2 栈的销毁2.2.3 压…

栈与队列(包括例题一道)

栈 栈的概念 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。 进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。 栈中的数据元素遵守后进先出 LIFO ( Last In First Out )的原则。 压栈&…

AI去衣技术在动画制作中的应用

随着科技的发展,人工智能(AI)已经在各个领域中发挥了重要作用,其中包括动画制作。在动画制作中,AI去衣技术是一个重要的工具,它可以帮助动画师们更加高效地完成工作。 AI去衣技术是一种基于人工智能的图像…

神经网络怎么把隐含层变量融合到损失函数中?

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

【工具分享】Amnesia2勒索病毒解密工具

前言 Amnesia 勒索软件于 2017 年 4 月 26 日开始出现。Amnesia 主要通过 RDP(远程桌面服务)暴力攻击进行传播,允许恶意软件作者登录受害者的服务器并执行勒索行为。 特征 Amnesia 是一种用 Delphi 编程语言编写的勒索软件,它使…

程序员的实用神器:助力软件开发的利器 ️

程序员的实用神器:助力软件开发的利器 🛠️ 程序员的实用神器:助力软件开发的利器 🛠️引言摘要自动化测试工具:保障代码质量的利剑 🗡️编写高效测试用例 持续集成/持续部署工具:加速交付的利器…

ASP.NET通用作业批改系统设计

摘  要 该系统采用B/S结构,以浏览器方式登陆系统,用ASP.NET作为开发语言,数据库则使用Microsoft SQL Server 2000实现。《通用作业批改系统》包括了学生子系统、教师子系统、管理员子系统三大模块,该系统主要完成学生&#xff…

基于C语言的贪吃蛇小游戏(简易版)

这篇博客会是对学习C语言成果的检测,为了实现贪吃蛇小游戏,我们用到的“工具”有:C语言函数、枚举、结构体、动态内存管理、预处理指令、链表、Win32 API等。 目录 1.简易版游戏效果 1.1欢迎界面 1.2游戏规则提示页面 1.3游戏进行页面 …

纯净水20、脉动30被指宰客!疯狂开始反噬小杨哥?

作为疯狂小杨哥早期粉,小柴好像很久没看到小杨哥的搞笑视频了。 自然,再在社交媒体上看到,小杨哥兄弟已经不再是那个青涩的少年了。 而是摇身一变不仅成为一个非常成功带货主播,且成为一个资本版图越来越多,玩的越来越…

现场面试题

这里写目录标题 1.sql1.1 只保留学生的最新成绩1.2 统计通话号码数1.3 更新地址 2.基础题2.1 请求序列第N位的值: 0, 1, 1, 2, ,3, 5, 8, 13, 21, 34.....第N位的值2.2 请写一段java代码,输出存在重复字母的单词 1.sql 1.1 只保留学生的最新成绩 表student中记录学…

网络安全之交换基础

交换属于二层技术。路由器(router)是三层设备,可以基于IP地址转发,但需要路由表来记录。 交换机(switch)是二层设备,网桥(switch)也是二层设备,这两个都是基…

SegFix:预测边界和预测方向来修正边界

论文标题:SegFix: Model-Agnostic Boundary Refinement for Segmentation 论文地址:https://arxiv.org/pdf/2007.04269.pdf 代码地址:https://github.com/openseg-group/openseg.pytorch 两种loss监督 八种方向变回归问题为分类问题 代码地…

PyQt6--Python桌面开发(1.安装配置环境)

一.PyQt6简介 PyQt:PyQt是一个功能强大且成熟的GUI框架,基于Qt库。它提供了丰富的组件、布局和主题选项,以及强大的功能和灵活性。PyQt的优点是它具有现代化的外观和丰富的功能,适用于复杂的GUI应用程序。然而,由于Py…

openEuler 22.03 GPT分区表模式下磁盘分区管理

目录 GPT分区表模式下磁盘分区管理parted交互式创建分区步骤 1 执行如下步骤对/dev/sdc磁盘分区 非交互式创建分区步骤 1 输入如下命令直接创建分区。 删除分区步骤 1 执行如下命令删除/dev/sdc1分区。 GPT分区表模式下磁盘分区管理 parted交互式创建分区 步骤 1 执行如下步骤…

明火检测实时识别报警:视觉算法助力安全生产管理

背景与现状 在各种工作、生产环境下,明火的存在往往是潜在的安全隐患。无论是加油站、化工园区、仓储场所还是校园,明火一旦失控就会引发火灾,造成严重的人员伤亡和财产损失。传统的明火检查手段主要依赖于人工巡查和定期的消防检查&#xf…

什么是高级持续威胁(APT)

高级持续性威胁(Advanced Persistent Threat,APT),又叫高级长期威胁,是一种复杂的、持续的网络攻击,包含三个要素:高级、长期、威胁。 【高级】是指执行APT攻击需要比传统攻击更高的定制程度和…

小米手机短信删除了怎么恢复?这里教你快速解决!

手机已经成为我们生活中不可或缺的一部分,比如小米手机。我们通过手机进行通讯、娱乐、学习等各种活动,其中,短信是我们日常生活中的重要信息来源之一。然而,我们可能会不小心删除了一些重要的短信,这时候我们就会想知…