微信小程序:实现微信小程序应用首页开发 (本地生活首页)

news/2024/7/7 16:28:40 标签: 微信小程序, 生活, notepad++

文章目录

      • 小程序应用页面开发
        • 1、创建项目并配置项目目录结构
        • 配置导航栏效果
        • 三、配置 tabBar 效果
        • 四、轮播图实现
          • 4.1 创建轮播图数据容器
          • 4.2 定义一个请求轮播图数据的接口
          • 4.3 页面加载调用 数据请求接口
        • 五、九宫格实现
        • 5.1 获取九宫格数据
        • 5.2 结构和样式的完善
        • 六、图片布局实现
        • 七、综合效果

小程序应用页面开发

在这里插入图片描述

1、创建项目并配置项目目录结构
  • 创建项目我相信大家都会,不会的可以csdn搜索即可

这里我们需要对项目目录进行修改配置
在这里插入图片描述

在 app.json 文件中的 pages 数组中添加三个页面,如上图所示,然后我们将其他默认的两个进行删除,然后左侧目录 pages 文件夹中的多余页面进行删除。

配置导航栏效果
  • 同样的在app.json 文件中的 window 对象中进行配置 我们的 导航栏效果 (app.json是全局配置)
  "window": {
    "navigationBarTextStyle": "white",
    "navigationBarTitleText": "本地生活",
	"navigationBarBackgroundColor": "#2b4b6b"
  }
三、配置 tabBar 效果
  • 依旧是在 app.json 全局进行配置
	"tabBar": {
		"list": [
			{
				"pagePath": "pages/home/home",
				"text": "首页",
				"iconPath": "/images/tabs/home.png",
				"selectedIconPath": "/images/tabs/home-active.png"
			},
			{
				"pagePath": "pages/message/message",
				"text": "消息",
				"iconPath": "/images/tabs/message.png",
				"selectedIconPath": "/images/tabs/message-active.png"
			},
			{
				"pagePath": "pages/contact/contact",
				"text": "联系我们",
				"iconPath": "/images/tabs/contact.png",
				"selectedIconPath": "/images/tabs/contact-active.png"
			}
		]
	},
  • 效果图如下:
    在这里插入图片描述+ 这里的字体图标可以在 网上找, 也可以私信我,我给大家提供!
四、轮播图实现
  • 轮播图这里的效果,我们需要从后台接口中获取数据,接口如下:
    接口地址:https://applet-base-api-t.itheima.net/slides
https://applet-base-api-t.itheima.net/slides
4.1 创建轮播图数据容器
  /**
   * 页面的初始数据
   */
  data: {
		// 轮播图数据
		slidesList: []

  },
4.2 定义一个请求轮播图数据的接口

home.js 代码如下:

	// 获取轮播图请求的方法
	getSlidesData () {
		wx.request({
			url: 'https://applet-base-api-t.itheima.net/slides',
			method: 'GET',
			success: (result) => {
				console.log(result.data)
				this.setData({
					slidesList: result.data
				})
			}
		})
	},
4.3 页面加载调用 数据请求接口
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
		this.getSlidesData()
	},

方法一但被调用,立马发送接口数据的请求:我们可以进行查看数据请求是否成功!
在这里插入图片描述
如上图所示,如果数据存在,那么表示成功,就可以使用我们的数据了。

代码编写:home.wxml文件中

<!-- 轮播图区域 -->
<swiper indicator-dots circular>
	<swiper-item  wx:for="{{ slidesList }}" wx:key="id">
		<image src="{{ item.image }}"></image>
	</swiper-item>
</swiper>

home.wxss

/* 轮播图样式 */
swiper {
	height: 300rpx
}

swiper swiper-item image {
	width: 100%;
	height: 100%;
}

实现的效果图如下:
在这里插入图片描述

五、九宫格实现
5.1 获取九宫格数据
		// 1、九宫格数据列表
		gridList: []


		// 2、九宫格接口请求方法调用
		this.getGridList()

	// 3、九宫格数据请求方法
	getGridList () {
		wx.request({
			url: 'https://applet-base-api-t.itheima.net/categories',
			method: "GET",
			success: (result) => {
				this.setData({
					gridList: result.data
				})
			}
		})
	},
5.2 结构和样式的完善

home.wxml 代码:

<!-- 九宫格区域 -->
<view class="grid-list">
	<view class="grid-item" wx:for="{{ gridList }}" wx:key="id">
		<image src="{{ item.icon }}"></image>
		<text>{{ item.name }}</text>
	</view>
</view>

home.wxss 代码:

/* 九宫格样式 */
.grid-list {
	display: flex;
	flex-wrap: wrap;
	border-left: 1rpx solid #efefef;
	border-top: 1rpx solid #efefef;
}

.grid-item {
	width: 33.3%;
	height: 200rpx;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-right: 1rpx solid #efefef;
	border-bottom: 1rpx solid #efefef;
	box-sizing: border-box;
}

.grid-item image {
	width: 60rpx;
	height: 60rpx;
}

.grid-item text {
	font-size: 24rpx;
	margin-top: 10rpx;
}

实现效果图:

在这里插入图片描述

六、图片布局实现
<!-- 底部图片区域 -->
<view class="image-box">
	<image src="/images/link-01.png" mode="widthFix"/>
	<image src="/images/link-02.png" mode="widthFix"/>
</view>


/* 图片区域 */
.image-box {
	display: flex;
	padding: 20rpx 10rpx;
	justify-content: space-around;
}

.iamge-box image {
	width: 45%;
}

这样整个案例页面就全部实现了

七、综合效果

在这里插入图片描述

完结,敬请期待…


http://www.niftyadmin.cn/n/5381363.html

相关文章

PAM | 账户安全 | 管理

PAM PAM&#xff08;Pluggable Authentication Modules&#xff0c;可插入式身份验证模块&#xff09;是一个灵活的身份验证系统&#xff0c;允许我们通过配置和组合各种模块来实现不同的身份验证策略。 在 Linux 或类 Unix 系统中&#xff0c;常见的 PAM 模块包括以下几种类…

沁恒CH32V30X学习笔记06---串口dma接收+空闲中断组合接收数据

DMA 控制器提供 18 个通道,其中 DMA1 包含 7 个通道,DMA2 包含 11 个通道,每个通 道对应多个外设请求,通过设置相应外设寄存器中对应 DMA 控制位 通道映射 dma1 dma2 示例代码 bsp_usart_it.c /** bsp_usart_it.c** Created on: 2024年2月18日* Author: admin*/…

3DSC特征描述符、对应关系可视化以及ICP配准

一、3DSC特征描述符可视化 C #include <pcl/point_types.h> #include <pcl/point_cloud.h> #include <pcl/search/kdtree.h> #include <pcl/io/pcd_io.h> #include <pcl/features/normal_3d_omp.h>//使用OMP需要添加的头文件 #include <pcl…

go-zero/grpc的rpc服务间传递额外数据

go-zero/grpc的rpc服务间传递额外数据 2024/02/18 客户端&#xff1a; md : metadata.New(map[string]string{"signature": "0123456789", "timestamp": "2021-07-01 00:00:00"}) ctx : metadata.NewOutgoingContext(ctx, md) addR…

通俗的讲解什么是机器学习之损失函数

想象一下&#xff0c;你在玩一个靶心射击的游戏&#xff0c;你的目标是尽可能让箭簇命中靶心。在这个游戏中&#xff0c;损失函数可以看作是测量你的箭簇与靶心距离的规则。损失函数的值越小&#xff0c;意味着你的箭簇离靶心越近&#xff0c;你的射击技能越好。 在机器学习中…

Vue+SpringBoot打造电子元器件管理系统

目录 一、摘要1.1 项目简介1.2 项目录屏 二、研究内容三、界面展示3.1 登录&注册&主页3.2 元器件单位模块3.3 元器件仓库模块3.4 元器件供应商模块3.5 元器件品类模块3.6 元器件明细模块3.7 元器件类型模块3.8 元器件采购模块3.9 元器件领用模块3.10 系统基础模块 四、…

【qt创建线程两种方式】

QT使用线程的两种方式 1.案例进度条 案例解析&#xff1a; 如图由组件一个进度条和三个按钮组成&#xff0c;当点击开始的时候进度条由0%到100%&#xff0c;点击暂停&#xff0c;进度条保持之前进度&#xff0c;再次点击暂停变为继续&#xff0c;点击停止按钮进度条停止。 案…

盲盒小程序开发:创新科技与消费者心理的完美结合

随着科技的飞速发展&#xff0c;小程序已经深入到我们生活的方方面面。而在众多小程序中&#xff0c;盲盒小程序以其独特的魅力&#xff0c;吸引了大量消费者的关注。本文将探讨盲盒小程序的发展背景、市场需求、开发流程以及未来趋势&#xff0c;以期为相关行业的从业者提供一…