zhgdyunapp_vue3/api/request.js

86 lines
3.4 KiB
JavaScript
Raw Permalink Normal View History

//基础请求地址,需要根据自己的需求切换
// export const BASE_URL = "http://192.168.34.221:9111"
// export const BASE_URL = "http://42.180.188.17:11211/"
//export const BASE_URL = "http://192.168.8.100:10000"
//export const BASE_URL = "http://106.13.16.28:10000"
//export const BASE_URL = "http://jxj.zhgdyun.com:18000/" // 包头
// export const BASE_URL = process.env.NODE_ENV === 'development' ? "http://192.168.34.221:9111" : "http://jxj.zhgdyun.com:18000" // 包头
export const BASE_URL = process.env.NODE_ENV === 'development' ? "http://192.168.34.221:9111" : "http://219.147.96.219:9809" // 包头线上地址(正式)
//是否已显示未登录弹窗
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: '加载中...'
})
}
// debugger
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'),
TenantId: JSON.parse(uni.getStorageSync("userInfo")).sn,
...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: 'none'
})
},
complete: () => uni.hideLoading()
})
})
}
export default request