uniapp Request请求封装的方法

news/2024/7/20 2:48:40 标签: vue.js, 前端, es6, 前端框架, 小程序

封装方法一

1.新建request.js

封装

const baseUrl = "http://localhost:6645"
const request = (url = '', date = {}, type = 'POST', header = {
	'content-type': 'application/x-www-form-urlencoded'
}) => {
	return new Promise((resolve, reject) => {
		uni.request({
			method: type,
			url: baseUrl + url,
			data: date,
			header: header,
			dataType: 'json',
		}).then((response) => {
			setTimeout(function() {
				uni.hideLoading();
			}, 200);
			let [error, res] = response;
			resolve(res.data);
		}).catch(error => {
			let [err, res] = error;
			reject(err)
		})
	});
}
export default request

2.在main.js中全局注册

import request from "api/request.js"
Vue.prototype.$request = request

 3.在页面中调用

	this.$request('/recruit/getAll', {
			// 传参参数名:参数值,如果没有,就不需要传
			}).then(res => {
			// 打印调用成功回调
			console.log(res)
			})

4.效果如下

 优缺点

 优点:方便快捷,效率高

缺点:请求方法没有完全封装,还是散落在页面各处,后期维护不方便

 封装方法二

1.新建请求文件

 

const baseUrl = "http://localhost:6645"

// 获取所有招聘信息
export function getAllRecruit() {
	return uni.request({
	    url: baseUrl + '/recruit/getAll', //仅为示例,并非真实接口地址。
		method: 'POST',
	    header: {
	        'content-type': 'application/x-www-form-urlencoded' //自定义请求头信息
	    }
	   
	});

}

2.在页面中导入


	import {getAllRecruit} from "../../api/recruit_info.js"

3,在created周期函数中调用

created() {
			
			
			// 获取所有招聘信息
			getAllRecruit().then(res =>{
				console.log(res)
			})
}

4.效果图

 优缺点

优点:请求方法封装在单独的文件夹中,页面中只需要调用,不需要其他的业务代码,便于维护

缺点:需要导入,导出,代码比方法一多一些


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

相关文章

Nil,nil,NSNULL,NULL的区别

一、nil我们给对象赋值时候,一般会使用object nil 标示我向吧这个对象释放掉:或者对象由于某种原因,经过多次release,于是对象引用计数器为0了,系统将这块内存释放掉,这个时候这个对象为nil,我…

SSH无密码登录

SSH(Secure Shell),是专为远程登录会话和其他网络服务提供安全性的协议。使用SSH,可以远程登录到其他Linux主机,但是需要输入密码。如在10.3.93.213登录10.3.93.212,会要求输入密码。 为了实现无密码登录,可以使用ssh-…

mybatis-plus 获取某列表的某字段的集合

List<RecruitTreasure> items rts.list(null);// 获取了表中所有数据List<Integer> idList items.stream().map( RecruitTreasure::getTid).collect(Collectors.toList());// 取出其中一列System.out.println("idList " idList);实操&#xff1a;使用…

static和extern 和 一点const

2019独角兽企业重金招聘Python工程师标准>>> 一些基本概念&#xff1a; 1. 编译单元(模块)&#xff1a; 在IDE开发工具大行其道的今天&#xff0c;对于编译的一些概念很多人已经不再清楚了&#xff0c;很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不…

Python 命令行参数解析

方法1&#xff1a; Python有一个类可以专门处理命令行参数&#xff0c;先看代码&#xff1a; #!/usr/bin/env python # encoding: utf-8 …

父子类在创建对象时的加载顺序

子继承父&#xff0c;在创建对象时&#xff0c;对资源加载的过程的理解 说明&#xff1a; 子类构造器调用this();会调用子类本身的空参构造器。 子类构造器调用spuer();会调用父类的空参构造器&#xff0c;调用spuer( xxx)会父类有参构造器 1. 一个new Leaf(); package com.z…

Unity中的特殊文件夹

看了雨松MOMO的 Unity3D研究院之手游开发中所有特殊的文件夹学习了&#xff0c;做个笔记。 1.Editor Editor文件夹可以在根目录下&#xff0c;也可以在子目录里&#xff0c;只要名子叫Editor即可。不过我比较喜欢放在根目录&#xff0c;一目了然。Editor文件夹下面的所有资源以…

BZOJ 2005: [Noi2010]能量采集

2005: [Noi2010]能量采集 Description 栋栋有一块长方形的地&#xff0c;他在地上种了一种能量植物&#xff0c;这种植物可以采集太阳光的能量。在这些植物采集能量后&#xff0c;栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起。 栋栋的植物种得非常整齐&#x…