import configService from './baseurl.js' import { msg as toast, showConfirm, tansParams } from './common.js' import { getToken } from './auth.js' import errorCode from './errorCode.js' // 联调时调整: // 1.configService 的url // 2.请求头headers // 3.返回数据格式 const BASE_URL = configService.apiUrl; let timeout = 10000 const request = config => { const isToken = (config.headers || {}).isToken === false; config.headers = config.headers || {}; if (getToken() && !isToken) { config.headers['Authorization'] = 'Bearer ' + getToken(); } if (config.params) { let url = config.url + '?' + tansParams(config.params); url = url.slice(0, -1); // 去掉最后一个& config.url = url; } return new Promise((resolve, reject) => { uni.request({ method: config.method || 'get', timeout: config.timeout || timeout, url: config.baseUrl || BASE_URL + config.url, data: config.data, header: config.headers, dataType: 'json' }).then(res => { const code = res.data.code || 200; const msg = errorCode[code] || res.data.msg || errorCode['default']; if (code === 401) { showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录?').then(res => { if (res.confirm) { uni.reLaunch({ url: '/pages/login/login' }); } }); reject('无效的会话,或者会话已过期,请重新登录。'); } else if (code === 500) { toast(msg); reject('500'); } else if (code !== 200) { toast(msg); reject(code); } resolve(res.data.data); }) .catch(error => { let { message } = error; if (message === 'Network Error') { message = '后端接口连接异常'; } else if (message.includes('timeout')) { message = '系统接口请求超时'; } else if (message.includes('Request failed with status code')) { message = '系统接口' + message.substr(message.length - 3) + '异常'; } toast(message); reject(message); }); }); }; export default request;