微信小程序开发学习笔记《18》uni-app框架-网络请求与轮播图

微信小程序开发学习笔记《18》uni-app框架-网络请求

博主正在学习微信小程序开发,希望记录自己学习过程同时与广大网友共同学习讨论。建议仔细阅读uni-app对应官方文档

一、下载网络请求包

这个包是以前黑马程序员老师写的一个包,跟着课程学习,感觉挺好用的。

在资源管理器自己项目的页面下,调用cmd或者powershell,首先初始化npm

复制代码
npm init -y

然后下载大佬的包。

复制代码
npm install @escook/request-miniprogram

下载的包会存放在如图所示

因为是node包管理下载的。

二、导入配置包

在main.js文件中头部加入如下代码,实现导入与配置。

python 复制代码
//导入网络请求包(npm install @escook/request-miniprogram) 使用的是刘龙彬写的
import {$http} from '@escook/request-miniprogram'
uni.$http = $http     //设置uni里面的$http为导入的$http

请求拦截器在网络请求过程中起着非常重要的作用。他们主要是用来处理一些预处理操作,如检查用户登陆状态,修改请求信息,添加额外的头部信息等。

uni包含了所有wx.api,所以可以无缝将wx换为uni。

python 复制代码
$http.beforeRequest = function(options){
	uni.showLoading({
		title:'数据加载中...'
	})
}

响应拦截器提供了一种有效的处理服务响应的方法,使我们能够全局处理接口的响应数据,统一处理接口的错误和异常等。

python 复制代码
$http.afterRequest = function(){
	uni.hideLoading()
}

三、请求轮播图的数据

实现步骤:

  1. 在data中定义轮播图的数组
  2. 在onLoad生命周期函数中调用获取轮播图数据的方法
  3. 在methods中定义获取轮播图数据的方法

在对应需要轮播图的页面,输入一下代码,

html 复制代码
<template>
	<view>
		Home
	</view>
</template>

<script>
	export default {
		data() {
			return {
				// 1.轮播图的数据列表,默认为空数组
				swiperList:[],
			}
		},
		onLoad() { // 声明生命周期函数
			// 2.在小程序页面刚加载的时候,调用获取轮播图数据的方法
			this.getSwiperList()
		},
		methods: {
			// 3.获取轮播图数据的方法
			async getSwiperList() {
				// 3.1发起请求
				const {
					data: res
				} = await uni.$http.get('/api/public/v1/home/swiperdata ')
				// 3.2 请求失败
				if (res.meta.status !== 200) {
					return uni.showToast({
						title: '数据请求失败! ',
						duration: 1500,
						icon: 'none',
					})
				}
				// 3.3请求成功,为data中的数据赋值
				this.swiperList = res.message
			},
		},
	}
</script>

<style lang="scss">

</style>

其中在发起网络请求之前,需要设置请求的根路径。

python 复制代码
//在main.js入口文件中设置
//请求的根路径
$http.baseUrl = 'https://www.uinav.com'      //这个是自己后端写的,根据自己后端项目需要写出对应根路径

四、渲染轮播图的UI结构

1.渲染UI结构:

html 复制代码
<template>
	<view>
		<!--轮播图区域。可以通过uswp快捷生成模板!-->
		<swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000" :circular="true">
			<!--循环渲染轮播图的item项-->
			<swiper-item v-for="(item,i) in swiperList" :key="i">
				<view class="swiper-item">
					<!--动态绑定图片的 src属性-->
					<image :src="item.image_src"></image>
				</view>
			</swiper-item>
		</swiper>
	</view>
</template>

2.美化UI结构

html 复制代码
<style lang="scss">
	swiper { 
		height: 330rpx;

		.swiper-item,
		image {
			width: 100%;
			height: 100%;
		}
	}
</style>

以上学习笔记都是博主在B站学习黑马程序员课程时的学习笔记,如果有什么问题,烦请联系我删除。

相关推荐
谅望者1 小时前
数据分析笔记06:假设检验
笔记·数据挖掘·数据分析
千寻技术帮1 小时前
50022_基于微信小程序同城维修系统
java·mysql·微信小程序·小程序·同城维修
摇滚侠1 小时前
Vue 项目实战《尚医通》,获取当前账户就诊人信息并展示出来,笔记42
前端·javascript·vue.js·笔记·html5
重启编程之路2 小时前
python 基础学习socket -TCP编程
网络·python·学习·tcp/ip
石像鬼₧魂石2 小时前
Kali Linux 中对某(靶机)监控设备进行漏洞验证的完整流程(卧室监控学习)
linux·运维·学习
d111111111d3 小时前
STM32通信协议学习--I2C通信(了解)
笔记·stm32·单片机·嵌入式硬件·学习
盼哥PyAI实验室3 小时前
学会给网页穿衣服——学习 CSS 语言
前端·css·学习
我的xiaodoujiao3 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 25--数据驱动--参数化处理 Excel 文件 2
前端·python·学习·测试工具·ui·pytest
Rousson4 小时前
硬件学习笔记--89 MCU主频对Uart波特率影响及采样点
笔记·单片机·学习
Fantasydg4 小时前
AJAX JSON学习
前端·学习·ajax