import service from './service.js' import config from '../common/config.js' const get = function(url, data) { return request(url, 'GET', data); } const getp = function(url, data) { return request(url, 'GET'); } const post = function(url, data) { return request(url, 'POST', data); } const put = function(url, data) { return request(url, 'put', data); } const postFormData = function(url, data) { return request(url, 'POST', data, { 'Content-Type': 'application/x-www-form-urlencoded' }); } const postPatchJson = function(url, data) { return request(url, 'POST', data, { 'Content-Type': 'application/json-patch+json' }); } const del = function(url, data) { return request(url, 'DELETE', data); } const request = function(url, method, data, headers) { let header = {} if (uni.getStorageSync('token')) { header['Authorization'] = uni.getStorageSync('token') } // 如果URL已经包含完整地址,则不添加BASE_URL if (url.startsWith('http')) { // URL已经是完整的,直接使用 } else { url = config.getApiBaseUrl() + url; } // console.error(url) if (headers) { header = Object.assign({}, header, headers) } return new Promise((resolve, reject) => { uni.request({ url, data, method, header, timeout: 50000, success: (res) => { // console.error(url,res.data.code) if (res.statusCode === 200) { if (res.data.code == 600 || res.data.msg == '登录过期,请重新登录') { uni.clearStorage() uni.reLaunch({ url: '/pages/login/login' }); } if (res.data.code < 0 && res.data.message) { uni.showToast({ icon: 'none', title: res.data.data.message, duration: 2000 }); reject(); } else if ( res.data.code === 500) { // uni.showToast({ // icon: 'none', // title: res.data.msg || '操作失败,请联系管理员', // duration: 2000 // }); // uni.removeStorageSync('UserToken_KEY'); resolve(res.data); } else { resolve(res.data); } } else if (res.statusCode === 403 || res.statusCode === 401) { service.addToken(''); // uni.reLaunch({ // url: '/pages/login/login' // }); reject(); } else { reject(); // uni.showToast({ // icon:'none', // title: res.data.msg || '系统繁忙!', // duration: 2000 // }); } }, fail: (error) => { uni.hideLoading(); // uni.showToast({ // icon:'none', // title: '网络错误!', // duration: 2000 // }); reject(); console.log(error); } }); }); } export default { get, post, del, request, postFormData, put, postPatchJson, getp }