当前位置: 首页 > news >正文

少儿舞蹈小程序(9)校区信息展示

目录

  • 前言
  • 1 搭建API
  • 2 前端调用API
  • 3 搭建布局
  • 4 绑定数据
  • 大功告成
  • 总结

前言

上一篇我们介绍了校区信息的后台管理功能,后台功能通常是提供给机构校长日常维护信息使用的。校长在后台将基础信息维护好之后,就需要在小程序的首页上进行展示,本篇我们介绍一下前端信息展示的搭建过程。
在这里插入图片描述

1 搭建API

要想在前端展示校区信息,需要先从数据库中取出数据。在低代码中,我们是通过API来完成数据的获取。在前边章节中,我们已经将机构信息取出。校区信息和机构是有关联的,我们在现有API的基础上增加校区信息的获取。

找到我们已经创建好的机构信息API,点击编辑进行修改
在这里插入图片描述
在原有的基础上继续增加获取校区信息的代码

/*** 获取机构信息API - 完全基于官方文档语法* 严格按照微搭官方文档的语法编写* 参考:https://docs.cloudbase.net/lowcode/api/model_crud*/module.exports = async function (params, context) {try {// 第一步:获取机构表的数据 - 使用官方确认的语法const institutionResult = await context.callModel({dataSourceName: 'institutions',methodName: 'wedaGetRecordsV2',params: {select: { $master: true }}});// 检查查询结果if (!institutionResult.records || institutionResult.records.length === 0) {return {code: 404,message: '未找到机构信息',data: null,timestamp: Date.now()};}// 取第一条记录const institution = institutionResult.records[0];const institutionId = institution._id;// 第二步:根据机构ID获取机构优势信息const advantagesResult = await context.callModel({dataSourceName: 'dance_advantages',methodName: 'wedaGetRecordsV2',params: {filter: {where: {institution_id: { $eq: institutionId }}},select: { $master: true }}});const campuses = await context.callModel({dataSourceName: 'dance_campuses',methodName: 'wedaGetRecordsV2',params: {filter: {where: {institution_id: { $eq: institutionId }}},select: { $master: true }}})// 对优势信息进行排序(在代码中处理,避免使用不确定的orderBy语法)const sortedAdvantages = advantagesResult.records.sort((a, b) => {return (a.sort_order || 0) - (b.sort_order || 0);});// 构建返回的数据结构const responseData = {institution: {id: institution._id,name: institution.name,logo: institution.logo,description: institution.description,contactPhone: institution.contact_phone,email:institution.email,businessHours: institution.business_hours,status: institution.status,createdTime: institution.created_time,updatedTime: institution.updated_time},advantages: sortedAdvantages.map(advantage => ({id: advantage._id,title: advantage.title,description: advantage.description,sortOrder: advantage.sort_order,createdTime: advantage.created_time,updatedTime: advantage.updated_time})),campuses:campuses.records};return {code: 200,message: '获取机构信息成功',data: responseData,timestamp: Date.now()};} catch (error) {console.error('获取机构信息错误:', error);return {code: 500,message: '服务器内部错误',data: null,timestamp: Date.now()};}
};

代码修改好了之后,点击出参自动映射更新API
在这里插入图片描述

2 前端调用API

后端API修改好之后,需要在页面上进行调用。先打开我们的小程序应用
在这里插入图片描述
点击首页代码区的+号,我们来创建API的调用
在这里插入图片描述
选择新建外部APIs查询
在这里插入图片描述
选择机构管理,触发方式选择入参变化时自动执行
在这里插入图片描述
配置好之后点击保存按钮,保存配置

3 搭建布局

API配置好之后,我们的数据已经通过API获取到了,现在需要先搭建页面的布局。

先在页面组件下添加普通容器,作为我们整体内容的容器
在这里插入图片描述
给容器设置10px的内边距
在这里插入图片描述
里边继续添加一个普通容器,作为校区信息的背景
在这里插入图片描述
设置白色的背景色
在这里插入图片描述
继续添加普通容器,作为我们的标题背景
在这里插入图片描述
设置如下样式

:root {padding: var(--spacing-lg);background: linear-gradient(135deg, var(--primary-light), var(--primary-color));color: white;display: flex;justify-content: space-between;align-items: center;
}

里边添加文本组件和按钮组件
在这里插入图片描述
文本组件的文本内容修改为📍 校区信息
在这里插入图片描述
样式设置为

:root {font-size: var(--font-size-lg);font-weight: bold;display: flex;align-items: center;gap: var(--spacing-sm);
}

按钮内容修改为更多,类型修改为链接
在这里插入图片描述
设置样式

:root {color: white;font-size: var(--font-size-sm);opacity: 0.9;
}

在标题下继续添加普通容器作为内容区域
在这里插入图片描述
设置样式

:root {padding: var(--spacing-sm);
}

因为校区是有多个的,所以我们需要循环展示每个校区的信息,我们先把一个校区的布局搭建好。

先分析一下具体的布局
在这里插入图片描述
可以看到是一个一行三列的布局,中间的内容区域要占满,这种的我们可以考虑用普通容器来构造,先添加一个普通容器,里边增加三个普通容器,表示我们一行三列布局

在这里插入图片描述
设置外层的普通容器的布局为横向排列,垂直居中
在这里插入图片描述
内层的普通容器,第一个里边放置一个文本组件,文本内容改为🏢
在这里插入图片描述
样式改为

:root {width: 50px;height: 50px;background: var(--primary-light);border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 24px;color: var(--primary-color);
}

内层的第二个普通容器里边放置两个文本组件,样式改为
在这里插入图片描述

:root {flex: 1;
}

内层第三个普通容器,里边放置两个按钮组件,按钮的内容改为电话和导航
在这里插入图片描述
将按钮改为纯图标展示,配置合适的图标
在这里插入图片描述

4 绑定数据

布局搭建好了之后就需要进行数据绑定,我们的校区是有多个的,在我们搭建好的布局的外层添加一个循环展示组件
在这里插入图片描述
点击数据,绑定为我们API的校区属性
在这里插入图片描述
然后把搭建好的布局移入循环展示中
在这里插入图片描述
第一个文本组件绑定校区的名称
在这里插入图片描述
第二个文本组件绑定校区的地址
在这里插入图片描述
选中第一个按钮组件,设置点击事件
在这里插入图片描述
选择拨打电话
在这里插入图片描述
绑定机构的电话
在这里插入图片描述
第二个按钮绑定地图导航
在这里插入图片描述
绑定机构的经纬度信息
在这里插入图片描述
在这里插入图片描述

大功告成

一切配置好之后,点击实时预览就可以看到搭建后的效果
在这里插入图片描述
在这里插入图片描述

总结

本篇我们带着大家一步步搭建了机构信息展示的功能,低代码搭建总体就是这么几步,先构造API,然后搭建布局,最后绑定数据。下一篇搭建一下首页的作品与活动内容,敬请期待。


文章转载自:

http://4yoSWhK4.chbcj.cn
http://UstXlrJk.chbcj.cn
http://iFqngBE1.chbcj.cn
http://hSMnUYOM.chbcj.cn
http://HDhp8sTT.chbcj.cn
http://l71CZzSK.chbcj.cn
http://I3BVBuxz.chbcj.cn
http://3Atz3ggR.chbcj.cn
http://xiu9Az01.chbcj.cn
http://KVjHAPnl.chbcj.cn
http://sHpvkTmD.chbcj.cn
http://gRUYRD2i.chbcj.cn
http://75xrKE60.chbcj.cn
http://SoHo8r0p.chbcj.cn
http://6y3iMtvb.chbcj.cn
http://AP8lEQ2P.chbcj.cn
http://r8Mv3kKi.chbcj.cn
http://JtZbYM4q.chbcj.cn
http://TTEHgMOa.chbcj.cn
http://i73dFs7f.chbcj.cn
http://bbLs9c86.chbcj.cn
http://ZcfTzuvl.chbcj.cn
http://Ii7gLgAG.chbcj.cn
http://yPynk7Vq.chbcj.cn
http://pVz6iMY3.chbcj.cn
http://ieMHKqYK.chbcj.cn
http://YdaBJE9m.chbcj.cn
http://V924vbU9.chbcj.cn
http://rTdTPNNd.chbcj.cn
http://XzPKqwP6.chbcj.cn
http://www.dtcms.com/a/370421.html

相关文章:

  • EG2103 SOP-8 内置600V功率MOS管 栅极驱动芯片
  • 【目录-判断】鸿蒙HarmonyOS开发者基础
  • 实体商业创新观察:AI 驱动的本地生活服务新模式解析
  • ThinkPHP 6框架常见错误:htmlentities()函数参数类型问题解决
  • 【Big Data】Apache Kafka 分布式流处理平台的实时处理实践与洞察
  • 大模型服务之下的新旧政务智能系统比较
  • 贪心算法应用:流行病干预策略问题详解
  • 雪球科技Java开发工程师笔试题
  • 【pyhton】函数
  • 进阶向:密码生成与管理工具
  • SWEET:大语言模型的选择性水印
  • 基于Transformer的交通流预测和拥堵识别模型
  • STM32——Flash闪存
  • 【ComfyUI】深度 ControlNet 深度信息引导生成
  • 444444
  • 固定资产管理系统(vue+Springboot+mybatis)
  • 永磁同步电机 FOC 控制中 d、q 轴杂谈与角度偏移影响
  • 网络编程(5)Modbus
  • 蓓韵安禧DHA纯植物藻油纯净安全零添加守护母婴健康
  • SAP二次开发指南:个性化与稳定性的平衡技巧
  • MAZANOKE与cpolar:打造安全可控的照片云端管理系统
  • 【YOLOv11】2.安装Anaconda3
  • Modbus通信的大端和小端字节序
  • 音视频技术全景:从采集到低延迟播放的完整链路解析
  • Playwright携手MCP:AI智能体实现自主化UI回归测试
  • 【目录-多选】鸿蒙HarmonyOS开发者基础
  • Qt UDP通信学习
  • Linux知识回顾总结----文件系统
  • 【完整源码+数据集+部署教程】农作物病害检测系统源码和数据集:改进yolo11-HSFPN
  • 计算机网络:调制解调器