48 lines
986 B
JavaScript
48 lines
986 B
JavaScript
// 导入模块
|
|
import Request from 'luch-request'
|
|
|
|
// 实例化网络请求
|
|
const http = new Request({
|
|
// 接口基地址
|
|
baseURL: '',
|
|
custom: {
|
|
loading: true,
|
|
},
|
|
})
|
|
|
|
//配置请求拦截器
|
|
http.interceptors.request.use(
|
|
function (config) {
|
|
// 显示加载状态提示
|
|
if (config.custom.loading) {
|
|
uni.showLoading({ title: '正在加载...', mask: true })
|
|
}
|
|
// 定义头信息,并保证接口调用传递的头信息
|
|
// 能够覆盖在拦截器定义的头信息
|
|
config.header = {
|
|
Authorization: 'token',
|
|
...config.header,
|
|
}
|
|
|
|
return config
|
|
},
|
|
function (error) {
|
|
return Promise.reject(error)
|
|
}
|
|
)
|
|
// 响应拦截器
|
|
http.interceptors.response.use(
|
|
function ({ statusCode, data, config }) {
|
|
// 隐藏加载状态提示
|
|
uni.hideLoading()
|
|
// 解构出响应主体
|
|
return data
|
|
},
|
|
function (error) {
|
|
return Promise.reject(error)
|
|
}
|
|
)
|
|
|
|
// 导出配置好的模网络模块
|
|
export { http }
|