uniapp中需要经常性的发出请求,如果直接使用uni.request的话代码过于繁琐,不便于后期的维护就对uni.request进行二次封装

第一种

//1:普通函数二次封装
//请求二次封装思路
//1:统一处理路径,参数,请求方式
//2:请求拦截器
//3:响应拦截器,对服务器返回状态码统一拦截,统一处理
let baseUrl = 'http://locahost:3000'
export default {
	get(url, data) {
		return new Promise((resolve, reject) => {
			uni.request({
				data,
				url: baseUrl + url,
				method: 'get',
				header: {},
				success: (data) => {
					//做响应拦截

					resolve(data)
				},
				fail: (err) => {
					reject(err)
				}
			})
		})
	},

	post(url, data) {
		return new Promise((resolve, reject) => {
			uni.request({
				data,
				url: baseUrl + url,
				method: 'post',
				header: {},
				success: (data) => {
					//做响应拦截

					resolve(data)
				},
				fail: (err) => {
					reject(err)
				}
			})
		})
	},
	http({
		url,
		method,
		data
	}) {
		if (method === 'get') {
			this.get(url, data)
		} else {
			this.post(url, data)
		}
	}
}

使用方法

import request from '@/utils/request.js'
//post请求
export function getSwiper1(){
    return request.post('/type/getSwiper')
}
//get请求
export function getSwiper2(){
    return request.get('/type/getSwiper')
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐