uni-app——項目day01
配置uni-app開發環境
uni-app快速上手 | uni-app官网


创建项目
图中四个划线就是要配置的地方.
选择vue2还是vue3看个人选择。

目录结构
但是现在新版本创建的项目已经没有components目录了,需要自己创建。

项目运行到微信开发者工具




使用git管理项目
node-modules是第三方包,没有必要进行git管理。
/unpackage/dist是运行时自动生成的目录。



tabBar开发
创建tabBar分支

然后使用git branch可以查看当前所在分支。

创建tabbar页面

四个页面创建好后在pages.json里面会自动多四个页面路径。

配置tabBar效果

"tabBar": {
"selectedColor": "#C00000",
"list": [
{
"pagePath": "pages/home/home",
"text": "首页",
"iconPath": "static/tab_icons/home.png",
"selectedIconPath": "static/tab_icons/home-active.png"
},
{
"pagePath": "pages/cate/cate",
"text": "分类",
"iconPath": "static/tab_icons/cate.png",
"selectedIconPath": "static/tab_icons/cate-active.png"
},
{
"pagePath": "pages/cart/cart",
"text": "购物车",
"iconPath": "static/tab_icons/cart.png",
"selectedIconPath": "static/tab_icons/cart-active.png"
},
{
"pagePath": "pages/my/my",
"text": "我的",
"iconPath": "static/tab_icons/my.png",
"selectedIconPath": "static/tab_icons/my-active.png"
}
]
}
删除默认的index页面
1. 在 HBuilderX 中,把 pages 目录下的 index首页文件夹 删除掉
2. 同时,把 page.json 中记录的 index 首页 路径删除掉
3. 为了防止小程序运行失败,在微信开发者工具中,手动删除 pages 目录下的 index 首页文件 夹 4. 同时,把 components 目录下的 uni-link 组件文件夹 删除掉

修改导航栏条的样式效果
1. 打开 pages.json 这个全局的配置文件
2. 修改 globalStyle 节点如下:
{
"globalStyle": {
"navigationBarTextStyle": "white",
"navigationBarTitleText": "鼠鼠优购",
"navigationBarBackgroundColor": "#C00000",
"backgroundColor": "#FFFFFF"
}
}
分支的提交与合并

首页
创建home分支
配置网络请求

@escook/request-miniprogram - npm (npmjs.com)
跟着官方文档里面的指引做,可以将配置请求响应拦截器和请求根路径等等。
首先在项目根目录初始化一个npm的包管理配置文件。
git init -y
安装网络请求的包
npm install @escook/request-miniprogram
然后在main.js里面进行如下配置
凡是wx.的方法都可以使用uni.代替。
这部分的代码必须要放在ifndef vue3外面,否则微信开发者哪里会有报错,具体就是下面这个
【微信小程序】TypeError: Cannot read property ‘get‘ of undefined & Error: MiniProgramError-CSDN博客
//导入网络请求的包
import { $http } from '@escook/request-miniprogram'uni.$http=$http
//配置根路径
$http.baseUrl='https://api-hmugo-web.itheima.net'
//请求拦截器
$http.beforeRequest=function(options){uni.showLoading({title:'数据加载中...'})
}
//响应拦截器
$http.afterRequest=function(){uni.hideLoading()
}
轮播图区域
请求轮播图的数据

const { data : res} 是解构赋值,res可以换,前面的data不能
home.vue中
<template><view>home</view>
</template><script>export default {data() {return {//轮播图的数据列表swiperList:[]};}, onLoad(){this.getSwiperList()},methods:{async getSwiperList(){const {data:res}= await uni.$http.get('/api/public/v1/home/swiperdata')//请求失败if(res.meta.status!==200){return uni.showToast({title:'数据请求失败!',duration:1500,icon: 'none' })}//请求成功 this.swiperList=res.messageconsole.log(this.swiperList)}}}
</script><style lang="scss"></style>
渲染轮播图的UI结构
<template><view><swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000" :circular="true"><swiper-item v-for="(item,i) in swiperList" :key="i"><view class="swiper-item"><image :src="item.image_src"></image></view></swiper-item></swiper></view>
</template>
<style lang="scss">
swiper{height:330rpx;.swiper-item,image{width:100%;height:100%;}
}
</style>
效果如下

配置小程序分包

"subPackages": [{"root":"subpkg","pages":[]}],

点击轮播图跳转商品详情页
将view组件改为navigator组件,

跳转页面的同时将商品id也传过去
封装uni.$showMsg()方法

分类导航区域
获取分类导航的数据

用到的接口如下


渲染分类导航的UI结构

点击跳转分类页面

楼层区域
获取楼层数据

渲染楼层标题

得到如下
渲染楼层图片
<view class="floor-list"><view class="floor-item" v-for="(item,i) in floorList" :key="i"><image :src="item.floor_title.image_src" class="floor-title"></image><view class="floor-img-box"><!--左侧大图片的盒子--><view class="left-img-box"><image :src="item.product_list[0].image_src" :style="{width:item.product_list[0].image_width+'rpx'}" mode="widthFix"> </image></view><!--右侧4个小图片的盒子--><view class="right-img-box"><view class="roght-img-item" v-for="(item2,i2) in item.product_list" :key="i2" v-show="i2 !== 0"><image :src="item2.image_src" mode="widthFix" :style="{width:item2.image_width+'rpx'}" ></image></view></view></view></view></view>
.floor-title{height: 60rpx;width: 100%;display: flex;
}.right-img-box{display:flex;flex-wrap: wrap;justify-content: space-around;
}
.floor-img-box{display: flex;padding-left: 10rpx
}
效果如下

点击楼层图片跳转到商品列表页面

用到的返回数据如下所示.这里返回的路径有问题,要对路径做替换。


合并分支并提交

相关文章:
uni-app——項目day01
配置uni-app開發環境 uni-app快速上手 | uni-app官网 创建项目 图中四个划线就是要配置的地方. 选择vue2还是vue3看个人选择。 目录结构 但是现在新版本创建的项目已经没有components目录了,需要自己创建。 项目运行到微信开发者工具 使用git管理项目 node-mod…...
【Java、MongoDB】程序控制非关系数据库
步骤: (1)连接 连接字符串 (2)CRUD 类与接口 解析 (3)maven管理方法 依赖 <dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver-legacy<…...
MySQL查询时间处理相关函数与方法实践笔记
1. 实践案例 在查询mysql数据库获取数据时,有这样一个需求:按每30分钟分组获取电量数据,形成1天48个数据点。 方法一: select hour(a.CreateTime) 时点,case when MINUTE(a.CreateTime)<30 then 1 else 2 end 半小时,sum(a…...
springboot全局拦截sql异常
起因:非法用户可通过特定的输入(如输入内容超长)等操作,使后台逻辑发生错误,从而使后台sql语句暴露至前台,进而为sql攻击提供条件 处理流程:经查找com.mysql.cj.jdbc.exceptions的父类为SQLException,在全局异常处理类中增加如下配置,经测试不起作用 ExceptionHandler(SQLExce…...
AlGaN/GaN HFET 五参数模型
标题:A Five-Parameter Model of the AlGaN/GaN HFET 来源:IEEE TRANSACTIONS ON ELECTRON DEVICES(15年) 摘要—我们引入了AlGaN/GaN异质结场效应晶体管(HFET)漏极电流Id(Vgs,Vds…...
矩阵的除法
B/A 如果矩阵A可逆,那么 证明: A/AB 如果矩阵A和B都可逆,那么 证明:...
Java中的 向上转型 | 向下转型
目录 一.向上转型 直接赋值 总结: 通过传参 通过返回值 二.向下转型 instanceof 一.向上转型 向上转型其实就是创建一个子类对象,并将其当作父类对象来使用,一般语法格式如下: 父类类型 对象名 new 子类类型() 一般有以…...
【华为OD机试AB高分必刷题目】朋友圈(C++-并查集Union-Find实现)
🚀你的旅程将在这里启航!本专栏所有题目均包含优质解题思路,高质量解题代码,详细代码讲解,助你深入学习,高分通过! 文章目录 【华为OD机试AB高分必刷题目】朋友圈(C++-并查集Union-Find实现)题目描述解题思路C++题解代码代码OJ评判结果代码讲解寄语【华为OD机试AB高分…...
前端面试题之vue篇
vue基础 vue的基本原理 当一个Vue实例创建时,Vue会遍历data中的属性,用Object.defineProperty(Vue使用proxy)转换为getter/setter,并且在内部追踪相关依赖,在属性被访问和修改时通知变化。每个组件实例都有相应的watcher程序实例…...
Java进阶(垃圾回收GC)——理论篇:JVM内存模型 垃圾回收定位清除算法 JVM中的垃圾回收器
前言 JVM作为Java进阶的知识,是需要Java程序员不断深度和理解的。 本篇博客介绍JVM的内存模型,对比了1.7和1.8的内存模型的变化;介绍了垃圾回收的语言发展;阐述了定位垃圾的方法,引用计数法和可达性分析发以及垃圾清…...
GaN HEMT 电容的分析建模,包括寄生元件
标题:Analytical Modeling of Capacitances for GaN HEMTs, Including Parasitic Components 来源:IEEE TRANSACTIONS ON ELECTRON DEVICES(14年) 摘要:本文提出了一种基于表面势的终端电荷和电容模型,包…...
Python实战 | 使用 Python 和 TensorFlow 构建卷积神经网络(CNN)进行人脸识别
专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https:/…...
JLink edu mini 10Pin接口定义
注意:SWD接口在阵脚2,4;而20Pin的SWD接口在阵脚7,9 参考:1 官网资料; 2 【润石RS0104YQ Demo开发板测试分享】J-Link EDU Mini调试5V系统_国产运算放大器_模拟开关_线性稳压器_电平转换器_小逻辑_比较器…...
compile: version “go1.19“ does not match go tool version “go1.18.1“
** 1 安装了新版本的go后 为什么go version 还是旧版本? ** 如果你已经按照上述步骤安装了新版本的 Go,但 go version 命令仍然显示旧版本,可能是因为你的环境变量设置不正确或未正确生效。你可以尝试以下方法来解决问题: 重新…...
spring boot security 自定义AuthenticationProvider
spring boot security 自定义AuthenticationProvider 基于 spring boot 3.x 场景实现 手机验证码登陆 实现 CaptureCodeAuthenticationFilter public class CaptureCodeAuthenticationFilter extends AbstractAuthenticationProcessingFilter {private static final Strin…...
某电力设计公司绩效考核优化项目成功案例纪实
——引入角色定位考核法,建立多维度评价体系,支持业务转型后的客观评价 【客户行业】电力行业 【问题类型】绩效考核 【客户背景及现状分析】 某电力设计公司成立于2000年左右,是一家从事输变电工程勘察、设计、咨询的专业公司,…...
力扣371周赛
力扣第371场周赛 找出强数对的最大异或值 I 枚举 class Solution { public:int maximumStrongPairXor(vector<int>& a) {int n a.size() , res 0;for(int i 0 ; i < n ; i ){for(int j 0 ; j < n ; j ){if(abs(a[i]-a[j])<min(a[i],a[j])){int c (a…...
Python之字符串、正则表达式练习
目录 1、输出随机字符串2、货币的转换(字符串 crr107)3、凯撒加密(book 实验 19)4、字符替换5、检测字母或数字6、纠正字母7、输出英文中所有长度为3个字母的单词 1、输出随机字符串 编写程序,输出由英文字母大小写或…...
Transmit :macOS 好用的 Ftp/SFtp 工具
Transmit 是一种功能强大的 FTP/SFTP/WebDAV 客户端软件,是一个 Mac OS X 平台上设计的文件传输软件。它由 Panic(一家以软件工具为主的公司)开发和维护,是一款非常受欢迎且易于使用的软件,而且被广泛认为是 Mac OS X …...
【Github】git clone命令下载文件中途停止
方法一: 使用git clone命令下载github上的源代码时,有时文件下载到一定百分比时就停止不动, 这是因为我们所下载的文件很大,超过了git预先分配的Postbuffer容量,所以一直卡在那里。可以使用以下命令查看当前Postbuffe…...
Qwen1.5-1.8B GPTQ模型解析:深入LSTM与Transformer在序列建模中的异同
Qwen1.5-1.8B GPTQ模型解析:深入LSTM与Transformer在序列建模中的异同 最近在和朋友聊起AI模型的发展时,他问了一个挺有意思的问题:“现在大家都在说Transformer,那以前很火的LSTM是不是就完全没用了?” 这个问题让我…...
我让 Claude 和 Codex 同时审计 个模块,它们只在 个上达成共识凹
整体排查思路 我们的目标是验证以下三个环节是否正常: 登录成功时:服务器是否正确生成了Session并返回了包含正确 JSESSIONID的Cookie给浏览器。 浏览器端:浏览器是否成功接收并存储了该Cookie。 后续请求:浏览器在执行查询等操作…...
OpenCode实战案例:用AI编程助手快速开发项目,提升10倍编码效率
OpenCode实战案例:用AI编程助手快速开发项目,提升10倍编码效率 1. 为什么选择OpenCode作为AI编程助手 作为一名长期奋战在代码一线的开发者,我一直在寻找能够真正提升开发效率的工具。当我第一次接触OpenCode时,就被它的设计理念…...
SITS2026推理优化框架全拆解(含TensorRT-LLM v2.7兼容性验证报告)
第一章:SITS2026推理优化框架全貌与技术定位 2026奇点智能技术大会(https://ml-summit.org) SITS2026(Scalable Inference Toolkit for Scalable 2026)是面向大语言模型与多模态推理场景设计的轻量级、可插拔式优化框架,专为低延…...
Java的CompletableFuture组合操作与异步流水线在微服务中的设计
Java的CompletableFuture组合操作与异步流水线在微服务中的设计 在微服务架构中,高并发与低延迟是核心需求。Java的CompletableFuture通过强大的异步编程能力,为微服务设计提供了高效的解决方案。它不仅能简化多线程任务编排,还能通过组合操…...
掌握类人记忆,解锁AI大模型潜力:小白也能轻松收藏学习!
AI智能体(Agent)的热度不减,然而许多Agent系统都有一个共同的痛点就是“健忘症”,尤其是上下文过长时,更为明显。这种缺乏长期、连贯记忆的能力,极大地限制了AI智能体的潜力和用户体验。它们很难真正理解用…...
Python asyncio 并发下载任务设计
Python asyncio 并发下载任务设计 在当今互联网时代,高效下载大量文件是许多应用场景的常见需求。无论是爬取网页数据、批量下载图片,还是同步云端资源,传统的同步下载方式往往因网络延迟而效率低下。Python的asyncio库提供了一种基于协程的…...
(十八)32天GPU测试从入门到精通-TensorRT-LLM 部署与优化day16
目录 引言TensorRT-LLM 环境搭建模型优化与编译多 GPU 推理量化优化性能实测生产部署常见问题排查 引言 TensorRT-LLM 是NVIDIA 官方的 LLM 推理优化库,提供业界领先的性能和完整的优化技术栈。作为 NVIDIA 生态的一部分,TensorRT-LLM 深度整合了 NVID…...
LLM 算法岗 | 八股问答()· 强化学习与 RLHF碧
. GIF文件结构 相比于 WAV 文件的简单粗暴,GIF 的结构要精密得多,因为它天生是为了网络传输而设计的(包含了压缩机制)。 当我们用二进制视角观察 GIF 时,它是由一个个 数据块(Block) 组成的&…...
实时行情系统设计:从协议选择到高可用架构,再到数据源选型乌
一、核心问题及解决方案(按踩坑频率排序) 问题 1:误删他人持有锁——最基础也最易犯的漏洞 成因:释放锁时未做身份校验,直接执行 DEL 命令删除键。典型场景:服务 A 持有锁后,业务逻辑耗时超过锁…...
