import {
|
globalApi,
|
} from '@/api/globalApi.js';
|
import {
|
qualityInspectionApi
|
} from '@/api/qualityInspection.js';
|
|
import {
|
apiLoginPassword
|
} from './publicInterface';
|
|
// 成功
|
const responseOK = (response) => {
|
const {
|
data
|
} = response;
|
test(data);
|
return data;
|
}
|
const test = (obj) => {
|
if (obj instanceof Array) {
|
obj.forEach(e => {
|
test(e);
|
})
|
} else if (obj instanceof Object) {
|
for (let key in obj) {
|
if (obj[key] == null) {
|
obj[key] = "";
|
} else {
|
if (obj[key] instanceof Array || obj[key] instanceof Object) {
|
test(obj[key])
|
}
|
}
|
}
|
}
|
|
}
|
|
// 响应失败的依赖性
|
const responseFailedDependency = () => {
|
uni.showToast({
|
title: '登录状态过期,即将返回登录!',
|
icon: 'error',
|
position: 'top',
|
duration: 2000
|
});
|
setTimeout(() => {
|
uni.clearStorageSync();
|
// 重定向登录
|
uni.redirectTo({
|
url: '/pages/login/login'
|
})
|
}, 2000);
|
return false;
|
}
|
|
const responseError = (response, http = false) => {
|
http && uni.showToast({
|
title: '服务器异常,请稍后重试!',
|
icon: 'error',
|
position: 'top',
|
duration: 2000
|
});
|
|
return false;
|
}
|
|
const responseNotResources = (response, http = false) => {
|
http && uni.showToast({
|
title: '没有找到服务资源!',
|
icon: 'error',
|
position: 'top',
|
duration: 1000
|
});
|
return false;
|
}
|
|
const badRequest = (response, http = false) => {
|
http && uni.showToast({
|
title: '请求异常!',
|
icon: 'error',
|
position: 'top',
|
duration: 1000
|
});
|
return response;
|
}
|
|
const responseUpgradeRequired = (response, http = false) => {
|
http && uni.showToast({
|
title: response.data.msg,
|
icon: 'error',
|
position: 'top',
|
duration: 2000
|
})
|
return false;
|
}
|
|
const handlerCode = {
|
200: responseOK,
|
400: badRequest,
|
404: responseNotResources,
|
424: responseFailedDependency,
|
426: responseUpgradeRequired,
|
500: responseError
|
}
|
|
// const BaseUrl = "http://192.168.0.110:9896"
|
// const webSocketUrl = "ws://192.168.0.110:9896/wrzs/ws/info"
|
|
const BaseUrl = "https://wrzs.czjlchem.com:9090"
|
// const BaseUrl = 'http://192.168.0.66:9896'
|
const webSocketUrl = "wss://wrzs.czjlchem.com:9090/wrzs/ws/info"
|
// const webSocketUrl = "ws://192.168.0.7:9896/wrzs/ws/info"
|
|
export const onlineurl = 'https://wrzs.czjlchem.com:9090';
|
// const BaseUrl = "http://192.168.0.100:9997";
|
// const webSocketUrl = "ws://192.168.0.100:9997/wrzs/ws/info"
|
|
// const BaseUrl = "http://192.168.0.108:9997";
|
// const webSocketUrl = "ws://192.168.0.108:9997/wrzs/ws/info"
|
// 线上生产
|
// const BaseUrl = 'https://mx.jzeg.cn:9195';
|
// const webSocketUrl = "wss://mx.jzeg.cn:9195/wrzs/ws/info"
|
|
|
// 请求拦截
|
const fetch = (url, opt) => {
|
// 查找对应地址
|
let urls = (globalApi[opt.url]?.url || globalApi[url]?.url || qualityInspectionApi[opt.url]?.url || qualityInspectionApi[url]?.url);
|
let params = opt.params ? ('?' + Object.keys(opt.params).map(key => key + '=' + opt.params[key]).join('&')) :
|
'';
|
// #ifdef H5
|
opt.url = urls + params
|
// #endif
|
|
// #ifndef H5
|
opt.url = BaseUrl +urls + params
|
// #endif
|
opt.method = opt.method || "GET";
|
var header = {}
|
if (uni.getStorageSync('token')) {
|
header = {
|
"Authorization": "Bearer" + ' ' + uni.getStorageSync('token'),
|
"clientToc": "Y",
|
'CLIENT_TOC': 'Y',
|
}
|
}
|
opt.header = {
|
...opt.header,
|
...header
|
}
|
|
opt.data = opt.data || {};
|
return new Promise((resolve, reject) => {
|
let options = {}
|
if (opt.data) {
|
Object.keys(opt.data).map(key => {
|
if(opt.data[key]===0){
|
opt.data[key] = 0;
|
}else if(opt.data[key] === ''){
|
opt.data[key] = '';
|
}
|
else if (opt.data[key] == '' || opt.data[key] == "") {
|
opt.data[key] = null;
|
}
|
});
|
}
|
|
Object.keys(opt).map(key => {
|
if (key !== "params") {
|
|
return options[key] = opt[key]
|
}
|
})
|
uni.request(options)
|
.then(res => interceptorsRes(res, resolve, reject))
|
.catch(err => interceptorsErr(err, reject))
|
})
|
}
|
const fetchId = (url, opt) => {
|
// 查找对应地址
|
let urls = (globalApi[opt.url]?.url || globalApi[url]?.url);
|
let params = opt.data ? ('/' +opt.data ):
|
'';
|
// #ifdef H5
|
opt.url = urls + params
|
// #endif
|
// #ifndef H5
|
opt.url = BaseUrl +urls + params
|
// #endif
|
opt.method = opt.method || "GET";
|
var header = {}
|
if (uni.getStorageSync('token')) {
|
header = {
|
"Authorization": "Bearer" + ' ' + uni.getStorageSync('token'),
|
"clientToc": "Y",
|
'CLIENT_TOC': 'Y',
|
}
|
}
|
|
opt.header = {
|
...opt.header,
|
...header
|
}
|
|
opt.data = opt.data || {};
|
|
return new Promise((resolve, reject) => {
|
|
let options = {}
|
if (opt.data) {
|
Object.keys(opt.data).map(key => {
|
if (opt.data[key] == '' || opt.data[key] == "") {
|
opt.data[key] = null;
|
}
|
});
|
}
|
|
Object.keys(opt).map(key => {
|
if (key !== "params") {
|
return options[key] = opt[key]
|
}
|
})
|
|
uni.request(options)
|
.then(res => interceptorsRes(res, resolve, reject))
|
.catch(err => interceptorsErr(err, reject))
|
})
|
}
|
|
|
// 响应拦截
|
const interceptorsRes = ([err, resp], resolve, reject) => {
|
console.log(resp,'resp===拦截器===')
|
const {
|
statusCode,
|
data
|
} = resp;
|
// 验证http状态码
|
const handlerHTTPStatus = handlerCode[statusCode];
|
|
// 没有找到相应状态操作直接返回
|
if (!handlerHTTPStatus) return resolve(resp);
|
if (!handlerHTTPStatus(resp, true)) return reject(false);
|
resolve(resp.data)
|
}
|
|
// 异常处理
|
const interceptorsErr = (err, reject) => {
|
console.log("网络异常", err)
|
reject(err)
|
}
|
|
|
export {
|
fetch,
|
fetchId,
|
BaseUrl,
|
webSocketUrl
|
}
|