实现的功能

  1. 懒加载 lazy-load --对小程序起效果
  2. 图片预览
  3. 下拉刷新
  4. 触底加载更多
  5. 底下设置安全距离env(safe-area-inset-bottom)
  6. 右下角固定图标置顶及刷新功能

效果如图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
预览
在这里插入图片描述

代码

<template><view class="image-classify"><uni-segmented-control :current="current" :values="items" @clickItem="onClickItem" styleType="button" activeColor="#4cd964"></uni-segmented-control></view><view class="image-list"><view v-for="(item, index) in imageList" :key="item._id" class="image-card"><image lazy-load :src="item.url" mode="widthFix" @click="previewImage(index)"></image><view class="text">{{ item.author }}</view></view></view><view class="fixed-button-wrap"><view class="fixed-button" @click="goRefresh"><uni-icons type="refreshempty" size="30" color="#444950"></uni-icons></view><view class="fixed-button" @click="goTop"><uni-icons type="arrow-up" size="30" color="#444950"></uni-icons></view></view><!-- 加载更多 --><uni-load-more status="loading" :content-text="contentText" class="load-more" />
</template><script setup>let imageList = ref([])let current = ref(0)const classify = [ { key: 'all', name: '全部' }, { key: 'dog', name: '狗狗' }, { key: 'cat', name: '猫咪' } ]const items = computed(() => classify.map(item => item.name))const contentText = {contentrefresh: '加载中',contentnomore: '没有更多'}uni.showLoading({title: '加载中'})function getImageList() {return uni.request({url:"https://tea.qingnian8.com/tools/petShow",data: {size: 5,type: classify[current.value].key},header:{'access-key':"zhaohui6968613"},success(res) {console.log(res)imageList.value = [...imageList.value, ...res.data.data]},fail(err) {console.log('err', err)},complete() {uni.hideLoading();}})}getImageList()function onClickItem(e) {current.value = e.currentIndeximageList.value = []getImageList()}// 下拉刷新onPullDownRefresh(async() => {imageList.value = []await getImageList()uni.stopPullDownRefresh()})// 触底加载onReachBottom(() => {getImageList()})// 图片预览function previewImage(index) {const urls = imageList.value.map(item => item.url)uni.previewImage({current: index,urls})}async function goRefresh() {uni.startPullDownRefresh()imageList.value = []await getImageList()uni.stopPullDownRefresh()}function goTop() {uni.pageScrollTo({scrollTop: 0})}
</script><style lang="scss" scoped>.image-classify {padding: 50rpx;}.image-list {.image-card {margin: 50rpx;box-shadow: 0 4rpx 4rpx 10rpx #eee;.text {padding: 10rpx;text-align: right;}}}.fixed-button-wrap {position: fixed;padding-bottom: env(safe-area-inset-bottom);right: 50rpx;bottom: 0;display: flex;flex-direction: column;.fixed-button {display: flex;width: 100rpx;height: 100rpx;justify-content: center;align-items: center;margin: 10rpx;border: 1px solid #eee;border-radius: 50%;background-color: #fff;}}.load-more {height: calc(env(safe-area-inset-bottom) + 50rpx);}
</style>

说明

1.uni-ui 使用了图标,加载更多,上面tab按钮

在这里插入图片描述

2.下拉刷新不起效果记得改一下配置

在这里插入图片描述

3.https在小程序会报错

在这里插入图片描述
目前解决改一下小程序配置,如图 (后期打包时候需要配置上地址)
在这里插入图片描述

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

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

相关文章

FFmpeg开发笔记(七十七)Android的开源音视频剪辑框架RxFFmpeg

《FFmpeg开发实战&#xff1a;从零基础到短视频上线》一书的“第 12 章 FFmpeg的移动开发”介绍了如何使用FFmpeg在手机上剪辑视频&#xff0c;方便开发者更好地开发类似剪映那样的视频剪辑软件。那么在Android系统上还有一款国产的开源视频剪辑框架RxFFmpeg&#xff0c;通过该…

小测一下笔记本电脑的VMXNET3和E1000e网卡性能

正文共&#xff1a;999 字 14 图&#xff0c;预估阅读时间&#xff1a;1 分钟 通过上次操作&#xff0c;我们已经实现了将笔记本电脑的ESXi版本从6.0升级到了6.7&#xff08;VMware ESXi 6.7可以成功识别机械硬盘了&#xff09;&#xff0c;并且测得以电脑中的虚拟机作为server…

K8S初始化master节点不成功kubelet.service failed(cgroup driver配置问题)

一、背景 安装k8s集群&#xff0c;初始化master节点一直不成功。 二、排查 查看日志 ps -ef | grep kube-apiserver [rootzjy01 home]# ps -ef | grep kube-apiserver root 85663 4637 0 12:41 pts/1 00:00:00 grep --colorauto kube-apiserver [rootzjy01 home…

C++ 标准模板库算法之 transform 用法

目录 1. 说明 2. 用法示例 1. 说明 std::transform 是一种多功能算法&#xff0c;用于将已知函数应用于一个或多个范围内的元素&#xff0c;并将结果存储在输出范围内。它主要有两种形式&#xff1a;一元运算和二元运算。具体来说是在 <algorithm> 标头中。函数声明&am…

开源 C# .net mvc 开发(六)发送邮件、定时以及CMD编程

文章的目的为了记录.net mvc学习的经历。本职为嵌入式软件开发&#xff0c;公司安排开发文件系统&#xff0c;临时进行学习开发&#xff0c;系统上线3年未出没有大问题。开发流程和要点有些记忆模糊&#xff0c;赶紧记录&#xff0c;防止忘记。 嵌入式 .net mvc 开发&#xff…

OpenCV图像边缘检测

一、边缘检测基础概念 边缘检测是图像处理中最基本也是最重要的操作之一&#xff0c;它能识别图像中亮度或颜色急剧变化的区域&#xff0c;这些区域通常对应物体的边界。OpenCV提供了多种边缘检测方法&#xff0c;从传统的算子到基于深度学习的现代方法。 1.1 为什么需要边缘…

(Arxiv-2024)自回归模型优于扩散:Llama用于可扩展的图像生成

自回归模型优于扩散&#xff1a;Llama用于可扩展的图像生成 paper是香港大学发布在Arxiv2024的工作 paper title:Autoregressive Model Beats Diffusion: Llama for Scalable Image Generation Code:链接 Abstract 我们介绍了LlamaGen&#xff0c;一种新的图像生成模型系列&am…

高频SQL50题 第九天 | 1164. 指定日期的产品价格、1204. 最后一个能进入巴士的人、1907. 按分类统计薪水

1164. 指定日期的产品价格 题目链接&#xff1a;https://leetcode.cn/problems/product-price-at-a-given-date/description/?envTypestudy-plan-v2&envIdsql-free-50 状态&#xff1a;已完成 考点&#xff1a; group by select语句中使用聚合函数max()&#xff1a;获取…

Java内存模型(JMM)深度解析

1. 引言 在当今多核处理器和并发编程盛行的时代&#xff0c;Java工程师们在构建高性能、高可用系统时&#xff0c;常常会面临复杂的线程安全挑战。数据不一致、竞态条件、死锁等问题&#xff0c;不仅难以调试&#xff0c;更可能导致系统行为异常。这些问题的根源&#xff0c;往…

参数仅 12B! FLUX.1-Kontext-dev 实现高效文本驱动图像编辑,性能媲美 GPT-4o

FLUX.1-Kontext-dev 是由 Black Forest Labs 团队于 2025 年 6 月 26 日联合发布的生成与编辑图像的流匹配&#xff08;flow matching&#xff09;模型。FLUX.1 Kontext 的图像编辑是广泛意义上的图像编辑&#xff0c;不仅支持图像局部编辑&#xff08;对图像中的特定元素进行针…

Robot---能打羽毛球的机器人

1 前言 Robot系列主要介绍一些比较有意思的机器人&#xff0c;前面的博客文章中也给读者朋友们展示了一些&#xff1a; 《人形机器人---越来越像人了》 《自动驾驶---两轮自行车的自主导航》 《自动驾驶---会打架的“球形机器人”》 《Robot---SPLITTER行星探测机器人》 《Robo…

浏览器默认非安全端口列表

浏览器默认非安全端口列表: https://chromium.googlesource.com/chromium/src.git//refs/heads/master/net/base/port_util.cc 0, // Not in Fetch Spec.1, // tcpmux7, // echo9, // discard11, // systat13, // daytime15, // netstat17, …

在线租房平台源码+springboot+vue3(前后端分离)

大家好&#xff0c;今天给大家带来一个非常完善的 在线租房平台。大家可用学习下系统的设计和源码风格。 视频演示 在线租房平台源码springbootvue3 图片演示 技术栈 后端 技术框架&#xff1a;JDK8SpringBoot Mybatis-Plus 数据库&#xff1a;Mysql8 前端 核心框架 - Vue…

android核心技术摘要

Android APP 默认赋予权限apk签名 apk签名&#xff1a;https://blog.csdn.net/u014763302/article/details/149055647apksign使用反法&#xff1a;[https://www.cnblogs.com/fengxing999/p/11978037.html]从Android源码生成系统签名文件&#xff1a;https://blog.csdn.net/wenz…

离线迁移 Conda 环境到 Windows 服务器:用 conda-pack 摆脱硬路径限制

背景&#xff1a; 在进行深度学习算法的环境部署时&#xff0c;由于生产服务器被彻底隔离外网&#xff0c;只能把conda中env文件夹中的虚拟环境文件夹从开发机直接拷到离线 Windows 服务器。 其中一运行labelimg就报错&#xff1a; Fatal error in launcher: Unable to creat…

vue3+原生javascript 手写日期时间选择框 滚动选择可输入

需求&#xff1a; web端 想要跟手机端一样选择年月日时分&#xff0c;通过滚动选择 实现效果图&#xff1a; 理念&#xff1a; 1.年月日时分 分别为单个输入框&#xff0c;用来做输入修改 2.div把输入框拼接起来&#xff0c;显示出一个日期框的样子 3.年月日时分 下拉给默…

Jetson边缘计算主板:Ubuntu 环境配置 CUDA 与 cudNN 推理环境 + OpenCV 与 C++ 进行目标分类

最近由于业务需求&#xff0c;接触到了Jetson边缘AI计算主板&#xff0c;博主使用的是Jetson Orin NX 16GB这个版本&#xff0c;可以看到其算力达到了100TOPS&#xff0c;这是一个非常恐怖的算力了&#xff0c;接下来便是博主对其的环境配置过程&#xff0c;博主要在该主板上运…

CLIP模型实现中的其他细节

之前已经完整的拆解了CLIP中所用到的ResNet、ViT和Transformer三个模型&#xff08;CLIP拆解-CSDN博客&#xff09;&#xff0c;这篇将讲解model.py实现中的其他细节。 1.关于ResNet模型中vision_head的设置 ResNet: vision_heads vision_width * 32 // 64 ViT: vision_h…

国科大深度学习作业1-手写数字识别实验

背景介绍&#xff1a;单位实习&#xff0c;趁机摸鱼&#xff0c;由于电脑只安装了VSCode&#xff0c;所以算是从环境搭建写起。 目录 一、环境搭建 1. 安装Anaconda 2. 创建Python环境 3. 安装PyTorch 4. 安装其他必要库 二、在 VSCode 中配置环境 1. 安装Pytho…

基于Spring Boot的绿园社区团购系统的设计与实现

第1章 摘 要 本设计与实现的基于Spring Boot的绿园社区团购系统&#xff0c;旨在为社区居民提供一套高效、便捷的团购购物解决方案。随着电子商务的发展和社区居民对便捷购物需求的增加&#xff0c;传统的团购模式已无法满足用户的个性化需求。本系统通过整合现代化技术&…