uniapp封装request

文章描述:

uniapp封装request方法使用

第一步、根目录下新建 common/config.js 文件

const config = {
	base_url: 'https://******.com/api'
}
export { config }
//自定义api
export default{
	http:"https://******.com/api"
}

第二步、根目录下新建 common/http.js 文件

import {
	config
} from './config.js'

export const apiResquest = (prams) => { //prams 为我们需要调用的接口API的参数 下面会贴具体代码
	
	
	// 判断请求类型
	let headerData = {
		'content-type': 'application/json'
	}

	let dataObj = null
        //因为我们的GET和POST请求结构不同这里我们做处理,大家根据自己后台接口所需结构灵活做调整吧
	
	if(prams.header){
		headerData = prams.header
	}
	if(prams.query){
		dataObj = prams.query
	}
	
	
	return new Promise((resolve, reject) => {
		let url = config.base_url + prams.url; //请求的网络地址和局地的api地址组合
		uni.showLoading({
			title: '加载中',
			mask: true
		})
		return uni.request({
			url: url,
			data: dataObj,
			method: prams.method,
			header: headerData,
			success: (res) => {
				uni.hideLoading()
                //这里是成功的返回码,大家根据自己的实际情况调整
				
				resolve(res.data);
				// console.log(res)
			},
			fail: (err) => {
				reject(err);
				console.log(err)
				uni.hideLoading()
			},
			complete: (res) => {
				console.log('请求完成')
				uni.hideLoading()
				// console.log(res.data)
				
			}
		});
	})
}

第三步、根目录main.js

import globals from './common/config.js';

Vue.prototype.$globals = globals;

第四部、页面中调用

载入

import { apiResquest } from '../../common/http.js'
import cache from '../../common/cache.js';
var _self, api;

onload

_self = this;
api = _self.$globals.http;

 

POST请求

//这里可以设置需要传递的参数
	apiResquest({
		url: '/jeecg-system/sys/mLogin',
		method: 'POST',
		query:{username:'183****2362',password:'123456'}
	}).then((res) => {
		console.log(res)
		if(res.code==200)
		{

		}	
	}).catch(err => {
		console.log(err)
	})

GET请求和带头部token

	apiResquest({
		header:{'X-Access-Token':cache.getCache('token')},
		url: '/jeecg-system/sys/user/queryById',
		method: 'GET',
		query:{id:userid}
	}).then((res) => {
		console.log(res)
	}).catch(err => {
		console.log(err)
	})

 

发布时间:2022/03/25

发表评论