wx小程序学习Day4 搭建项目目录、页面、搭建tabbar结构、自定义搜索框组件、轮播图组件

今天是学习小程序的第4



1. 项目搭建

1.1 新建小程序项目

填入自己的appid


1.2 搭建目录结构

目录名作用
styles存放公共样式
components存放组件
lib存放第三方库
utils自己的帮助库
request自己的接口帮助库

之后清理一下不要的文件和代码
app.js中输入wx-app自动生成一段新的默认代码
pages/index/index.js中输入wx-page自动生成一段新的默认代码
(确保在vscode中安装了小程序开发助手插件)


1.3 搭建项目的页面

页面名称名称
首页index
分类页category
商品列表页goods_list
商品详情页goods_detail
购物车页cart
收藏页collect
订单页order
搜索页search
个人中心页user
意见反馈页feedback
登陆页login
授权页auth
结算页pay

在这里插入图片描述
com+s,成功生成
在这里插入图片描述


1.4 引入iconfont

复制这个在线链接
在这里插入图片描述
路径前补https:
全选复制
在这里插入图片描述
在我们的项目styles文件夹中新建一个iconfont.wxss文件,注意这里后缀是.wxss
粘贴刚刚复制的样式代码
在这里插入图片描述
在这里插入图片描述
iconfont.wxss文件在全局样式文件app.wxss中导入,这样就能在每个页面中使用了
在这里插入图片描述


1.5 搭建项目tabbar结构

首先新建一个icon文件夹,把我们准备好的图标图片拖进来

app.json中配置tabbar
"pages"同级:
这里直接打tabbar会有自动提示,注意每一个pagePath不一样的
在这里插入图片描述
在这里插入图片描述

要改变字体颜色和背景颜色:
selectedColor是活跃时的字体颜色
在这里插入图片描述
在这里插入图片描述


1.6 初始化页面样式

我们要在全局样式文件app.wxss 进行一些样式初始化
在这里插入图片描述
还需要改变一下导航栏的背景和字体颜色:
app.jsonwindow字段中:
在这里插入图片描述
在这里插入图片描述


2.首页

2.1 自定义搜索框组件

我们这里需要自定义组件,因为多个页面都用到了搜索框

components文件夹中新建一个文件夹SearchInput,右键选择新建component,就会自动生成四个文件
在这里插入图片描述
声明组件:
哪个页面要用这个组件,就在哪个页面的.json文件中声明
在这里插入图片描述
实现这个搜索框组件:
实际上是个超链接,点击会跳转到search页面:
在这里插入图片描述
样式部分我把后缀改成.less然后写了,安装了Easy WXLESS插件的话会自动生成相应的.wxss文件
在这里插入图片描述
在这里插入图片描述
点击跳转到search页:
在这里插入图片描述


2.2 获取轮播图数据

pages/index/index.js
data中定义一个swiperList空数组,准备放一些轮播图数据
onLoad生命周期回调中,我们发送异步请求,获取轮播图数据
在这里插入图片描述
控制台会报错,我们没有权限来请求这个接口
在这里插入图片描述
解决:
在详情-本地设置:
勾选这个
在这里插入图片描述
现在可以成功获取到:
在这里插入图片描述
这组message就是我们想要的数据,用setData赋值给swiperList
在这里插入图片描述
AppData中看到swiperList有值了就是成功了
在这里插入图片描述
补充一个解决权限问题的方法:
将域名添加到小程序的后台中
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dlZ2VnZWdlZ2UxMg==,size_16,color_FFFFFF,t_70)
在这里添加request的合法域名
在这里插入图片描述

关于发送网络请求的更多细节,参考文档:
https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html


2.3 动态渲染轮播图

image设置widthFix模式,宽度不变,高度自动变化,从而保持原图比例
在这里插入图片描述

图片设置width: 100%就好,占满整个swiper,高度不用设置会自适应
swiper也需要设置新的高度,不然在不同的设备中:swiper固定了150px的高度,而图片高度是自适应,会导致图片显示不全
swiper的高度是利用swiper宽高比=image宽高比计算出来的,(这个750rpxswiper的宽度
在这里插入图片描述
这时候轮播图在不同机型也能正确显示:
在这里插入图片描述
自动轮播、循环轮播、显示面板指示点在swiper标签上加上autoplaycircularindicator-dots三个属性就行


2.4 原生请求改成promise的方式

request文件夹中新建一个index.js文件:
在这里插入图片描述
在我们原来发送异步请求的地方调用这个request方法来发送请求:
在这里插入图片描述
还可以再抽一步:
在这里插入图片描述


2.5 分类导航

data中定义一个catesList空数组,定义一个getCatesList()方法,内容基本和获取轮播图数据一模一样,只是名字改了
在这里插入图片描述在这里插入图片描述在这里插入图片描述
pages/index/index.wxml
在这里插入图片描述
pages/index/index.wxss
在这里插入图片描述


2.6 楼层

data中定义一个floorList空数组,定义一个getFloorList()方法,内容基本和前面的一模一样,只是名字改了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
拿到数据:
在这里插入图片描述
这里要用到嵌套循环,注意一下层级结构
在这里插入图片描述
重新设置一下item的名字会更清晰:
在这里插入图片描述
布局瞎弄了一下不深究了,大概效果就是这样:
在这里插入图片描述


首页完

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值