微搭低代码入门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 压…

Jupyter notebook和 Jupyter lab内核死亡问题的原因和解决方案

写在前面:之前也遇到过几次内核死亡的问题,也一直没有想解决办法。这里总结一下并提出几个解决办法。 首先明确一下jupyter出现内核死亡的原因:jupyter lab 或者 jupyter notebook 本身是一个web服务, 无法支持高并发和频繁的计算…

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

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

libevent 梳理

C10K 背景 C10K问题:如何在一台物理机上同时服务 10000 个用户?这里 C 表示并发,10K 等于 10000? C10K 问题本质上是一个操作系统问题,需要考虑: 1.文件句柄数:每个客户连接都代表一个文件描述…

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

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

人际关系之【镜子、点到为止、脸色和蔼、懂自爱、弹性、试探】

人跟人是镜子 别人看到你的表情,当作一面镜子 儒家:先检查自己,容易进步 礼尚往来:一切往好处想,就会有好的结果 关于借钱: 没问题,我随时(合适)要用 个人和团体合在…

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

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

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

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

Git撤回指定commit不保留更改

要撤销指定的commit但不保留这个commit中的更改&#xff0c;可以使用以下命令&#xff1a; git revert <commit_hash> --no-commit这里的<commit_hash>是你想要撤销的commit的哈希值。如果你想要在一个commit上使用这个命令&#xff0c;你可以用它的哈希值或者用H…

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

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

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

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

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

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

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

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

现场面试题

这里写目录标题 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代码&#xff0c;输出存在重复字母的单词 1.sql 1.1 只保留学生的最新成绩 表student中记录学…

CF988D题解

题目大意 题目传送门 题意&#xff1a;给你有 n n n 个数字的一个数列&#xff0c;问最多有多少个数字他们 两两的差是 2 的幂次方数。 思路 首先&#xff0c;我们想一个数能不能组成一个满足题目要求的序列&#xff0c;答案是肯定的。&#xff08;直接输出 a 1 a_1 a1​…

Android Studio之ImageView

ImageView是图像显示控件&#xff0c;与图形显示有关的属性说明如下: scaleType&#xff1a;指定图形的拉伸类型&#xff0c;默认是fitCenter。src&#xff1a;指定图形来源&#xff0c;src图形按照scaleType拉伸。 注意背景图不按scaleType指定的方式拉伸&#xff0c;背景默…

网络安全之交换基础

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