92 lines
2.1 KiB
JavaScript
92 lines
2.1 KiB
JavaScript
let baseUrl = '';
|
||
if (process.env.NODE_ENV === 'development') {
|
||
baseUrl = 'http://192.168.0.239:8080'; // 开发环境
|
||
} else {
|
||
baseUrl = 'http://192.168.0.224:8080'; // 生产环境
|
||
}
|
||
|
||
export default function request(url, data = {}, method = "GET") {
|
||
return new Promise((resolve, reject) => {
|
||
uni.showLoading({
|
||
title: '请求中...',
|
||
mask: true
|
||
});
|
||
|
||
uni.request({
|
||
url: baseUrl + url,
|
||
data: data,
|
||
method: method,
|
||
header: {
|
||
"Authorization": "Bearer " + (uni.getStorageSync("token") || ''),
|
||
"clientid": "resident",
|
||
'content-type': 'application/json'
|
||
},
|
||
success: (res) => {
|
||
uni.hideLoading();
|
||
|
||
// HTTP 失败
|
||
if (res.statusCode !== 200) {
|
||
reject(`请求异常 ${res.statusCode}`);
|
||
return;
|
||
}
|
||
|
||
const resData = res.data || {};
|
||
|
||
// token 过期
|
||
if (resData.code === 401) {
|
||
uni.showToast({ title: '登录过期,请重新登录', icon: 'none' });
|
||
uni.clearStorageSync('token');
|
||
setTimeout(() => {
|
||
uni.reLaunch({ url: '/pageSubPack/loginSub/pwd-login' });
|
||
}, 1500);
|
||
reject('登录过期');
|
||
return;
|
||
}
|
||
|
||
// 成功
|
||
if (resData.code === 200) {
|
||
resolve(resData);
|
||
}
|
||
// 业务失败:只 reject,不弹窗!
|
||
else {
|
||
reject(resData); // 把完整错误返回给页面!
|
||
}
|
||
},
|
||
fail: (err) => {
|
||
uni.hideLoading();
|
||
reject(err);
|
||
}
|
||
});
|
||
});
|
||
}
|
||
|
||
export const get = (url, data) => request(url, data, 'GET');
|
||
export const post = (url, data) => request(url, data, 'POST');
|
||
export const deleteMethod = (url, data) => request(url, data, 'DELETE');
|
||
export const putMethod = (url, data) => request(url, data, 'PUT');
|
||
|
||
// 上传
|
||
export const upload = (filePath, url) => {
|
||
return new Promise((resolve, reject) => {
|
||
uni.uploadFile({
|
||
url: baseUrl + url,
|
||
filePath: filePath,
|
||
name: 'file',
|
||
header: {
|
||
"Authorization": "Bearer " + (uni.getStorageSync("token") || ''),
|
||
"clientid": "resident"
|
||
},
|
||
success: (res) => {
|
||
try {
|
||
const data = JSON.parse(res.data);
|
||
resolve(data.data || ''); // 直接返回图片地址
|
||
} catch (e) {
|
||
resolve('');
|
||
}
|
||
},
|
||
fail: (err) => {
|
||
reject(err);
|
||
}
|
||
});
|
||
});
|
||
}; |