从零用java实现 小红书 springboot vue uniapp (4)个人主页优化
前言
移动端演示 http://8.146.211.120:8081/#/
前面的文章我们基本完成了详情页开发
今天我们具体的去进行实现个人中心 并且分享我开发时遇到的问题
首先先看效果

我们对布局整体规划一下
个人名片
半透明背景

刚开始我用的是
<view style="background-image: url('http://8.146.211.120:8080/upload/notes/note (6).jpg');background-size: cover;background-position: center;background-repeat: no-repeat;
">
设置背景图片 cover 可以完全显示出图片 然后用opacity 这个样式实现 会发现 名片的所有按钮文字都变成了半透明
跟我们理想的效果不一样
理想的效果是从下往上半透明 黑色
实现方式就是套了一层view 样式从下往上透明度依次减少
.bg-element {background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%,rgba(0, 0, 0, 0.7) 25%,rgba(0, 0, 0, 0.6) 50%,rgba(0, 0, 0, 0.5) 70%,rgba(0, 0, 0, 0.4) 100%);/* 解释:linear-gradient表示创建线性渐变,to top指定渐变方向为从下往上,rgba(0, 0, 0, 0.8) 0%表示在起始位置(底部)颜色为透明度0.8的黑色,rgba(0, 0, 0, 0) 100%表示在结束位置(顶部)颜色为完全透明的黑色,实现透明度减弱效果 */}

按钮
我们没有选择小红书的透灰色 实现了类似 ios毛玻璃的效果
backdrop-filter: blur(8rpx); /* 调整blur的值来控制模糊程度,数值越大越模糊 */background-color: rgba(255, 255, 255, 0.1); /* 这里设置白色半透明作为基础颜色,透明度可按需调整 */
吸顶导航

当页面划到下面的时候 我们希望知道我们在那个子导航中
所以需要吸顶导航 具体实现为
1.计算页面高度
2.计算导航高度
3.当页面距顶部高度大于导航高度时 吸顶
onPageScroll:function(e){// 根据滚动高度动态吸顶if(e.scrollTop >= this.headerHeight){this.isFixed = true;}else{this.isFixed = false;}},
4.还需要有一个view对原来的吸顶高度进行占位 否则会错位
切换导航
我们希望左右滑动页面的时候 自动切换导航
但是首先要给swiper设置一个高度
但是三者公用一个父级 所以 需要考虑如何设置
1.首先 我想到的是固定高度 当页面发生上滑时自动移动到 固定导航的位置
swiperScroll(e){console.log(e.detail.scrollTop)console.log(this.headerHeight)if(e.detail.scrollTop>0){uni.pageScrollTo({scrollTop: this.headerHeight,duration: 0});}},
但是pageScrollTo这个方法页面会有延迟 导致很生硬 且直接滑动下面时 直接会滚动 swiper的滚动条 导致页面不下移
2.使用使用我们主页开发时的page的组件 动态赋予高度
setSwiperHeight(i) {let element = "#content-wrap" + i.toString();let query = uni.createSelectorQuery().in(this);query.select(element).boundingClientRect();query.exec((res) => {if (res && res[0]) {console.log('当前Swiper'+ i +'高度' + res[0].height)this['swiperHeight'+(i)]= res[0].height;this.swiperHeight = this['swiperHeight'+(this.currentIndex+1)]console.log('赋值了高度 当前currentIndex+1=' + (this.currentIndex+1) +' getNodes监听的数据' + this.swiperHeight)}});},
这里只有 一个问题 page组件上滑时 会整体页面上移导致页面卡顿 还会出现有两个滚动条的情况
3.依旧动态计算高度 但是我们swiperitem里面的内容是普通的view这样就不会出现重复的滚动条
onReachBottom:function(){console.log('我到第'+ (this.currentIndex+1) +'最低端了')console.log(this['apiLoadingStatus'+(this.currentIndex+1)])if(this['apiLoadingStatus'+(this.currentIndex+1)]){return ;}// 获取加载组件状态看一下是否还能继续加载// 保证触底只执行一次加载console.log('timer')console.log(this['loadMoreTimer'+(this.currentIndex+1)])if(this['loadMoreTimer'+(this.currentIndex+1)] != null){clearTimeout(this['loadMoreTimer'+(this.currentIndex+1)]);}this['loadMoreTimer'+(this.currentIndex+1)] = setTimeout(() => {var status = this.$refs['loadmorecom'+(this.currentIndex+1)].loadMoreStatus;if(status != 0){return null;}this.$refs['loadmorecom'+(this.currentIndex+1)].loading();// 此处开启加载动画执行加载数据的函数this['getNotes'+(this.currentIndex+1)]();// this.swiperHeight = this['swiperHeight'+(this.currentIndex+1)]// console.log('赋值了高度 当前currentIndex+1='+ (this.currentIndex+1) +' oonReachBottom监听的数据' + this.swiperHeight)}, 80);},
随后执行uniapp官方页面滑动底端 执行的方法 我们在这里动态计算当前的高度 数据越多高度越多
并在 导航切换时 再重新给swiper赋值即可
navchange1:function(index){this.currentIndex = index;this.setSwiperHeight(this.currentIndex+1);},
个人中心页面开发完毕 下一篇我们讲解 im聊天列表
代码地址
https://gitee.com/ddeatrr/springboot_vue_xhs
相关文章:
从零用java实现 小红书 springboot vue uniapp (4)个人主页优化
前言 移动端演示 http://8.146.211.120:8081/#/ 前面的文章我们基本完成了详情页开发 今天我们具体的去进行实现个人中心 并且分享我开发时遇到的问题 首先先看效果 我们对布局整体规划一下 个人名片 半透明背景 刚开始我用的是 <view style"background-image: ur…...
为“行车大脑”降温:Simdroid-EC助力汽车ECU设计研发
ECU(Electronic Control Unit,电子控制单元)被誉为汽车的行车大脑,在工作时会产生大量的热量,而其散热存在以下难题:一是工作环境恶劣,ECU常处于高温环境中;二是ECU所处的空间较为狭…...
视频汇聚平台:Liveweb视频流媒体平台视频监控系统解决方案
数字化技术在安防领域的广泛应用已经成为公安等重要执法部门的重要趋势,主要得益于无线网络通信技术和计算机技术的快速进步。传统的视频监控系统存在诸多局限,例如只能进行现场监视,报警信息传输简单,无法远距离传输视频信号&…...
通过解调使用正则化相位跟踪技术进行相位解包裹
1. 绪论 光学计量学通常使用光学干涉仪来测量各种物理量。1,2 根据应用的不同,可以使用多种类型的干涉仪,但它们的共同目标是产生一个由被测物理量调制的条纹图案。使用这种光束编码程序可以检测到的物理量范围非常广:深度测量、应变分析、温…...
VMware替代 | 双一流大学采用ZStack ZSphere虚拟化平台加速医学应用算法分析
某双一流大学医学部在面对日益增长的医学应用算法分析需求时,选择采用ZStack ZSphere虚拟化平台,以满足其高性能计算和GPU业务应用的迫切需求。该平台凭借其轻量化、卓越性能及易用性,成功解决了医学部在虚拟化及GPU应用场景中的挑战。随着平…...
UNIAPP框架uView初步集成与开发设计
uView UI,是uni-app生态最优秀的UI框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水。本文章分享UNIAPP集成使用uView页面动态开发设计。 一、使用HBuilder X 直接导入插件,下载后重启 uView - DCloud 插件市场 二、配置样…...
C05S08-LVS负载均衡
一、LVS 1. LVS概述 LVS(Linux Virtual Server、Linux虚拟服务)是一种基于Linux系统集群的负载均衡方案,属于四层的负载均衡。 集群:将相同组件部署在不同的服务器上,提供统一的服务,以及同样的功能&…...
C 语言代码诗韵:数字功能的雅集华章
函数基本操作练习 主要内容: 本任务主要练习函数的申请、定义、调用等,主要包含以下功能: 1)编写函数,输入一个整数,求各个数字之和; 2)编写函数,计算1!2&…...
ps案例制作
宣传海报 暖色调海报商品展示图...
【C++】列表初始化、声明、范围for、array容器
列表初始化、声明、范围for、array容器 一、统一的列表初始化1.1 使用{ }初始化1.2 initializer_list容器 二、声明2.1 auto关键字2.2 decltype关键字2.3 nullptr关键字 三、范围for四、array容器和forward_list容器 一、统一的列表初始化 1.1 使用{ }初始化 在C98中…...
C++智能指针详解
一、智能指针简介 智能指针是一个类似于指针的类,将指针交给这个类对象进行管理,我们就可以像使用指针一样使用这个类,并且它会自动释放资源。 智能指针运用了 RAII 的思想(资源获得即初始化)。RAII 是指,用对象的生命周期来管理资…...
基础库正则表达式
我们已经可以用requests 库来获取网页的源代码,得到 HTML 代码。但我们真正想要的数据是包含在 HTML代码之中的,要怎样才能从 HTML,代码中获取想要的信息呢?正则表达式就是其中一个有效的方法。 本篇博客我们将了解一下正则表达式的相关用法。正则表达…...
【spring专题】spring如何解析配置类和扫描包路径
文章目录 目标重要的组件加载配置类启动解析组件定位配置类解析配置类 扫描过程总结 目标 这是我们使用注解方式启动spring容器的核心代码 AnnotationConfigApplicationContext applicationContext new AnnotationConfigApplicationContext(MyConfig.class); User user (Us…...
MyBatis框架的入门
目录 MyBatis第一章:框架的概述1. MyBatis框架的概述 第二章:MyBatis的入门程序1. 创建数据库和表结构2. MyBatis的入门步骤 MyBatis 第一章:框架的概述 1. MyBatis框架的概述 MyBatis是一个优秀的基于Java的持久层框架,内部对…...
代码随想录D22-23 回溯算法01-02 Python
理论回顾 回溯法也可以叫做回溯搜索法,它是一种搜索的方式。回溯是递归的副产品,只要有递归就会有回溯。 回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案,如果想让回溯法高效一些,可以加一些剪枝…...
【网络云计算】2024第50周-每日【2024/12/13】小测-理论-写10个Bash Shell脚本-解析
文章目录 1. 计算1到100的和2. 列出当前目录下所有文件和文件夹3. 检查文件是否存在4. 备份文件到指定目录(简单示例)5. 打印系统当前日期和时间6. 统计文件中的行数7. 批量重命名文件(将.txt后缀改为.bak)8. 查找进程并杀死&…...
MATLAB转换C语言--问题(一)FFT 和 IFFT 的缩放因子
1. MATLAB 中的 FFT 和 IFFT 在 MATLAB 中,fft 和 ifft 函数具有以下缩放行为: fft:执行快速傅里叶变换(FFT),不进行缩放。ifft:执行逆快速傅里叶变换(IFFT),…...
轻松上手:使用 Vercel 部署 HTML 页面教程
😀 在学习前端的过程中,部署项目往往是一个令人头疼的问题。然而,Vercel 为我们提供了一个便捷且免费的解决方案。 Vercel 是一个强大的云平台,专门用于前端项目的部署和托管。它不仅支持多种前端框架和静态网站生成器࿰…...
如何运用 HTM?
一、HTM 概述 HTM(Hierarchical Temporal Memory,分层时序记忆)是一种基于神经科学原理构建的计算模型,旨在模拟大脑的学习和记忆机制,以处理复杂的时间序列数据和模式识别任务。它具有独特的架构和算法,能…...
12.16【net】【study】
路由表是路由器或者其他互联网网络设备上存储的一张表,它记录了到达特定网络目的地的路径。路由表中的每一行(即一个路由条目)包含了目的地网络地址、子网掩码、下一跳地址、出接口等信息。 Destinations(目的地)和 R…...
你的QQ空间记忆正在消失?GetQzonehistory帮你永久保存青春时光
你的QQ空间记忆正在消失?GetQzonehistory帮你永久保存青春时光 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾担心QQ空间里的珍贵回忆会随着时间流逝而消失&#x…...
openclaw里面如何添加channel
在 OpenClaw 中添加 Channel(消息通道 / 渠道),核心是通过 CLI 命令 或直接编辑 配置文件,将 Telegram、Discord、飞书、WhatsApp 等 IM 平台接入网关(Gateway),并绑定到 Agent。以下是完整、可…...
GKD规则分享功能:导出与导入自动化配置的实用技巧
GKD规则分享功能:导出与导入自动化配置的实用技巧 GKD作为一款强大的Android自动化工具,其规则分享功能让用户能够轻松导出和导入精心配置的自动化规则。无论是备份个人设置还是分享给朋友,这个功能都能大幅提升使用效率!&#x…...
Python原生AOT编译实战指南(2026 LTS版正式启用倒计时)
第一章:Python原生AOT编译的演进脉络与2026 LTS战略意义Python长期以来以解释执行和字节码(.pyc)为核心运行范式,而原生AOT(Ahead-of-Time)编译的探索始于2010年代中期的Nuitka、Cython等工具,但…...
【ComfyUI】Qwen-Image-Edit-F2P用于影视概念设计:快速生成角色面部概念图
ComfyUI Qwen-Image-Edit-F2P用于影视概念设计:快速生成角色面部概念图 1. 引言:当AI画笔遇见影视美术 想象一下这个场景:一部新剧的美术指导正在为“饱经风霜的西部枪手”这个角色发愁。导演想要一张能瞬间抓住观众眼球的脸,一…...
3种架构级解决方案实现HTML到Figma的设计转代码自动化
3种架构级解决方案实现HTML到Figma的设计转代码自动化 【免费下载链接】figma-html Convert any website to editable Figma designs 项目地址: https://gitcode.com/gh_mirrors/fi/figma-html 在现代前端开发工作流中,设计稿与代码实现之间的鸿沟已成为影响…...
别急着重烧系统!卡在Starting Kernel时,先检查uboot的mmc分区表(以imx6ull为例)
嵌入式系统启动卡在Starting Kernel?先别急着重烧系统! 当你满怀期待地按下开发板电源键,串口终端却无情地定格在"Starting kernel..."这一行时,那种挫败感每个嵌入式开发者都深有体会。大多数人的第一反应是怀疑内核镜…...
【BUUCTF】MISC 弱口令实战:从安装Python库到LSB隐写破解全流程
1. 弱口令与LSB隐写技术入门 第一次接触CTF比赛时,我被各种隐写术搞得晕头转向。特别是遇到需要破解弱口令和LSB隐写的题目时,简直就像在黑暗中摸索。后来经过多次实战,终于总结出一套行之有效的方法。今天我就来分享从安装Python库到最终破解…...
用Multisim复刻经典24秒篮球计时器:从555时钟到数码管显示的保姆级仿真教程
用Multisim复刻经典24秒篮球计时器:从555时钟到数码管显示的保姆级仿真教程 篮球比赛中那令人窒息的最后24秒倒计时,不仅是球员的决胜时刻,也是电子爱好者眼中完美的数字电路实践案例。本文将带你用Multisim从零搭建一个完整的24秒计时系统&a…...
一个防止GPT“降智”的简单方法
GPT客户端容易“降智”?教你一个简单解决办法 正文 最近一直感觉 GPT 手机客户端有点“降智”,回答质量不太稳定。 后来我拿同一账号做了对比,发现用手机浏览器登录网页版时,整体会正常不少,所以来给大家分享一下。 我…...
