uni-app项目封装网络请求
原创
©著作权归作者所有:来自51CTO博客作者微笑@鼠的原创作品,请联系作者获取转载授权,否则将追究法律责任
在项目根目录创建一个utils文件夹主要放一些项目公共封装方法
在utils下创建request.js文件
import indexConfig from '@/config/index.config'这个引入文件参考上一篇
/**
* 封装网络请求
*/
import indexConfig from '@/config/index.config'
module.exports = (params) => {
let url = indexConfig.baseUrl + params.url; // 线上环境中开启
// let url = "/dpc/" + params.url; // 本地访问时开启
let method = params.method;
let header = params.header || {};
let data = params.data || {};
// 请求方式 get post
if (method) {
method = method.toUpperCase(); // 小写转大写
if (method == "POST") {
if(!header) {
header = {
'Content-Type': 'application/json',
};
}
}
}
// 发起请求 加载动画
if (!params.hideLoading) {
uni.showLoading({
title: "加载中"
})
}
// 发起网络请求
uni.request({
url: url,
method: method || "GET",
header: header,
data: data,
dataType: "json",
sslVerify: false, // 是否验证ssl证书
success: res => {
if (res.statusCode && res.statusCode != 200) {
// api错误
uni.showModal({
// content: res.msg
content: '系统错误, 请稍后再试~'
})
return;
}
typeof params.success == "function" && params.success(res.data);
},
fail: err => {
// console.log(err)
uni.showModal({
content: '加载失败, 稍后再试~'
})
typeof params.fail == "function" && params.fail(err.data);
},
complete: (e) => {
// console.log("请求完成");
uni.hideLoading()
typeof params.complete == "function" && params.complete(e.data);
return;
}
})
}