import helpers from "../utils/helpers"; class Fetch { static request(methods, url, data, needToken = true, showErrorMsg = true) { return new Promise((resolve, reject) => { if (needToken && (data.token === undefined || !data.token)) { data.token = uni.getStorageSync('token'); } uni.request({ url: url, method: methods === 'postFrom' ? 'POST' : methods, data: data, header: { 'content-type': methods === 'postFrom' ? 'application/x-www-form-urlencoded' : 'application/json' }, 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(err.errMsg) reject(err) } }) }) } } export default Fetch