wanyu_frontend/api/fetch.js

39 lines
1.0 KiB
JavaScript

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