uni-app学习05 封装网络请求和获取动态数据

封装网络请求

新建文件夹utils用于存放工具js文件

```css
/* 
	base.js
	
	公共接口配置
 */

const base ={
	host:'http://localhost:8088',// 基础域名
	indexData:'/store/getStoreList',//首页接口
}

export default base

获取动态数据

在utils文件夹中创建request.js用于网络请求

/* 
	request.js
	
	封装的网络请求的方法
	url 接口地址
	method 请求方式
	data 参数传递
	options 配置参数
		{
			loading:boolean,	//是否加载动画,默认为真,加载动画,可以在传参时传递false取消
			title:'名称'
		}
 */
export default function(url,method='Get',data={},options={loading:true}){//传参时按顺序传
	return new Promise((resovle,reject)=>{
		//交互动画
		if(options.loading){
			uni.showLoading({
				title:"数据加载中"
			})
		}
		uni.request({
			url:url,
			method,
			data,
			success:res=>{
				if(res.data.status===200){
					uni.showToast({
						title:"数据加载完毕"
					})
				}
				resovle(res.data)
			},
			fail:error=>{
				reject(error)
			},
			complete() {
				// 成功或失败都执行
				uni.hideLoading()
			}
		})
	})
}

在home.vue中修改script

<script>
	import base from '@/utils/base.js';
	import request from '@/utils/request.js';
	export default {
		data() {
			return {};
		},
		// 生命周期
		created() {
			this.getIndexData()
		},
		methods: {
			// 请求首页的动态数据信息
			// async 关键字写在函数名之前(相当于一个标识),
			// 让普通函数具有异步的行为特征,
			// 但是整体上代码却是同步执行的。
			async getIndexData(){
				// let用来声明变量。用法类似于var,但是所声明的变量,
				// 只在let命令所在的代码块内有效。
				let res = await request(base.host+base.indexData)
				console.log('首页动态数据---',res);
			}
		}
	};
</script>

加载动画

加载动画

成功获取后台数据库中的动态数据,打印到小程序的控制台中
控制台打印动态数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值