import env from '@/env.js'; const headers = { "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8" } const http = async (method, url, data, header) => { url = url || '' data = { ...data, token: uni.getStorageSync('token') } method = method || 'GET' header = header || headers // if (uni.getStorageSync('token')) header.cookie = uni.getStorageSync('token') let error, response; [error, response] = await uni.request({ url: env.BASE_API + url, data: header['Content-Type'].indexOf('application/json') > -1 ? JSON.stringify(data) : data, method: method, header: header, timeout: 30000 }) // response.header['Set-Cookie'] && uni.setStorageSync('token', response.header['Set-Cookie']) const res = response.data if ([508, 512, 514].indexOf(res.code) > -1) { uni.hideLoading() uni.clearStorageSync() uni.navigateTo({ url: '/pages/login/index' }) return Promise.reject(res) } else if (res.code === 500) { console.error(res) uni.showToast({ title: '服务器繁忙!', duration: 2000, icon: 'none' }); return Promise.reject(res) } else if (res.code === 400) { uni.showToast({ title: res.msg, duration: 4000, icon: 'none' }); return Promise.reject(res) } else if (res.code === 201) { uni.hideLoading() return Promise.reject(res) } else if (res.code === 200) { return Promise.resolve(res) } else { return Promise.reject(res) } } export default http