import login from "./login"; const timeZone = { 'timeZone-8': 'GMT+08:00', 'timeZone-9': 'GMT+09:00', 'timeZone5': 'GMT-08:00' }; const offSet = new Date().getTimezoneOffset() / 60; export default function xFetch({ url, method, data, type }) { if (type == 'binding') { url = `${getApp().globalData.globalUrl2}${url}` } else { url = `${getApp().globalData.globalUrl}${url}` } return new Promise((resolve, rejects) => { dd.httpRequest({ headers: { "Content-Type": "application/json; charset=utf-8", 'timeZone': timeZone[`timeZone${offSet}`], 'Authorization': `Bearer ${getApp().globalData.token}`, 'Accept-Language': 'zh' }, url: url, method: method, dataType: "json", data: data, timeout: 15000, success: function (res) { if (res.data.code == 0) { resolve(res); } else { if (res.data.code == 401) { login(); } else { alertOnce(res.data.msg || '请求异常,请重试', rejects, { ...res.data }); } } }, fail: function (err) { if (err && err.status == 401) { login(); } if (err.errorMsg === 'socket is closed') { } else { console.log(err) alertOnce((err && err.errorMsg) || '网络异常,请重试', rejects, err); } } }); }); } let alert = false; export function alertOnce(content, rejects, err) { if (alert == false) { dd.alert({ content: content, buttonText: "确定", success: () => { rejects({ refresh: true, ...err }); alert = false; } }); } alert = true; }