// 请求地址 const getDomain = (uri, type) => { const app = getApp(); const { serverUrl, fileserverUrl, wechatUrl } = app.globalData; // 自定义 if (uri.includes("http")) return uri; // 微信 if (uri.startsWith("/wechat/api")) return wechatUrl + uri; // 地址前缀 else if (type) return serverUrl + `/ball/${type}/api/` + uri; // 常规 return serverUrl + "/ball/v1/api/" + uri; } export const $api = async (uri, method = 'GET', data, type) => { // 请求地址 let baseUrl = getDomain(uri, type); // 处理空数据 data = getFilterNull(data) return new Promise((resolve, reject) => { wx.request({ url: `${baseUrl}`, method, data, header: { 'Content-Type': 'application/json' }, success: (res) => toResolve(resolve, res), error: (e) => toReject(reject, e), }); }); } export const $apifile = async (uri, method, data, type) => { const app = getApp(); const { fileserverUrl, } = app.globalData; // 请求地址 // let baseUrl = getDomain(uri, type); return new Promise((resolve, reject) => { wx.uploadFile({ url: `${fileserverUrl}/${uri}`, filePath: data, name: 'file', formData: {}, success: (res) => toResolve(resolve, res), error: (err) => toReject(reject, err), }) }); } const toResolve = (resolve, result) => { if (result.statusCode === 200) resolve(result.data); else { console.error("请求失败"); } }; const toReject = (reject, result) => { console.error(result); reject(result); }; const getFilterNull = (data) => { for (const key in data) { //data[key] == null || data[key] == '' if (data[key] == null) delete data[key] } return data; }