39 lines
1.0 KiB
JavaScript
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
|