import config from '@/config/request' let logouted = 0 const request = options => { const header = Object.assign({}, config.headers, { token: uni.getStorageSync('token') }) const otherUrl = ['getTeamsByAccountId'] return new Promise((resolve, reject)=>{ const { url } = options uni.request({ header, // url: (otherUrl.map(e => config.baseURL.includes(e)) ? 'http://192.168.31.137:9000/' : config.baseURL) + url, url: config.baseURL + url, method: options.method || 'GET', // 请求类型,默认为GET data: options.data || {}, // 请求参数,默认空对象 success: ({ data }) => { const { status, message } = data // 状态判断,根据后台定义并提示 if (status === 200) { resolve(data) } else if (status == 401) { if (!logouted) { // 登录过期 uni.clearStorageSync() uni.showToast({ title: message, icon: 'none' }) setTimeout(() => { logouted = 0 uni.reLaunch({ url: '/pages/index/index' }) }, 1500) reject(data) logouted = 1 } } else if (!status) { resolve(data) } else { uni.showToast({ title: message, icon: 'none' }) reject(data) } }, fail: err => { uni.showToast({ title: '请求失败!', icon: 'none' }) reject(err) }, }) }) } const get = (url, data, options = {}) => { options.method = 'GET' options.data = data options.url = url return request(options) } const post = (url, data, options = {}) => { options.method = 'POST' options.data = data options.url = url return request(options) } export default { request, get, post }