wanyu_frontend/api/fetch.js
2025-05-09 21:48:53 +08:00

41 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) => {
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