import store from '@/vuex/store' const request = (params) => { let _self = this; let url = params.url; let method = params.method || 'POST'; let data = params.data || {}; // let token = '' // if (store.getters.saveToken !== '') { // token = store.getters.saveToken // } let defaultOpot = { 'Terminal-Type': 'innerH5', 'Content-Type': 'application/json;charset=UTF-8', } let header = {} method = method.toUpperCase() if (method == 'POST') { header = { 'Content-Type': 'application/json;charset=UTF-8' // 'Authorization': token } } const requestUrl = `${store.getters.baseUrl}/` + url; uni.showLoading({ title: '加载中...' }); return new Promise((resolve, reject) => { uni.request({ url: requestUrl, method: method, header: Object.assign({}, defaultOpot, header), data: data, dataType: 'json', }) .then(res => { // 成功 if (res.length === 1) { uni.showModal({ content: 'request:fail', showCancel: false }) reject('request:fail') } else if (res[1] && res[1].statusCode === 400) { uni.showModal({ content: res[1].data.message, showCancel: false }) reject(res[1].data.message) } else if (res[1] && res[1].statusCode === 401) { uni.showModal({ content: res[1].data.message, showCancel: false }) store.dispatch('delUserInfo') uni.redirectTo({ url: '/pages/login/login' }) } else if (res[1] && res[1].statusCode === 200) { let { data: dataType } = res[1] resolve(dataType) }else { uni.showModal({ content: res[1].data.message, showCancel: false }) reject(res[1].data.message) } }) .catch(err => { // 错误 reject(err) }) .finally(() => { uni.hideLoading(); }) }) } export default request