import helpers from "../utils/helpers"; class Fetch { static request(methods, url, data, needToken = true, showErrorMsg = true) { return new Promise((resolve, reject) => { var headers = { 'content-type': methods === 'postFrom' ? 'application/x-www-form-urlencoded' : 'application/json', 'Accept': 'application/json' } if (needToken) { headers.token = uni.getStorageSync('token'); } uni.request({ url: url, method: methods === 'postFrom' ? 'POST' : methods, data: data, header: headers, success(res) { if (res.data.code === 1) { resolve(res.data.data) // 成功,返回数据 } else { if (res.data.code === 0 && showErrorMsg) { helpers.showToast(res.data.msg) // 失败且需显示错误提示 } else if (res.data.code === 401) { helpers.jumpToPage('login') } reject(res.data) // 统一 reject 错误数据 } }, fail(err) { helpers.showToast('网络异常') reject(err) } }) }) } } export default Fetch