zhgdyunapp/api/request.js

73 lines
2.0 KiB
JavaScript
Raw Normal View History

2024-04-17 22:11:05 +08:00
//基础请求地址,需要根据自己的需求切换
export const BASE_URL = "http://192.168.34.155:19111"
//export const BASE_URL = "http://192.168.8.100:10000"
//export const BASE_URL = "http://106.13.16.28:10000"
//是否已显示未登录弹窗
let showNoLoginTip = false
/**
* 封装请求保持与pc端一致的风格
* @param {Object} config uni request的配置
*/
export function request(config = {}, sl = true) {
return new Promise((resolve, reject) => {
if (sl) {
uni.showLoading({ title: '加载中...' })
}
uni.request({
url: BASE_URL + (config.url.startsWith("/") ? config.url : ("/" + config.url)),
method: (config.method || 'GET').toLocaleUpperCase(),
timeout: config.timeout || 20000,
withCredentials: true,
header: {
//大家在这里传自定义的token这里默认wflow的
Authorization: "Bearer " + uni.getStorageSync('wflow-token'),
...config.header,
},
dataType: 'json',
data: config.data,
success: (res) => {
if (res.statusCode === 200) {
showNoLoginTip = false
resolve(res)
} else if (res.statusCode === 401) {
if (!showNoLoginTip) {
showNoLoginTip = true
uni.showModal({
title: '提示',
content: '登录已失效,是否重新跳转到登录',
success: function(res) {
showNoLoginTip = false
uni.removeStorageSync('loginUser')
if (res.confirm) {
uni.navigateTo({ url: '/pages/login/login' })
}
}
});
}
} else if (res.statusCode === 500) {
console.log(res)
uni.showToast({
icon: 'none',
title: '系统异常:' + res.data
})
}else {
showNoLoginTip = false
reject({ statusCode: res.statusCode, msg: res.data })
}
},
fail: (err) => {
console.log(err)
uni.showToast({
title: '网络异常,请检查网络',
duration: 2000,
icon: 'exception'
})
},
complete: () => uni.hideLoading()
})
})
}
export default request