import { HTTP_REQUEST_URL, HTTP_REQUEST_URL_TWO, HTTP_REQUEST_URL_THREE, HEADER, TOKENNAME, } from '@/config/app'; import { checkLogin } from '../libs/login'; import { Toast } from '../libs/uniApi'; import store from '../store'; function toLogin() { store.commit("LOGOUT"); uni.showToast({ title: '请登录', icon: 'none', duration: 1000 }); } function baseRequestTwo(url, method, data, { noAuth = false, noVerify = false }) { let Url = HTTP_REQUEST_URL_TWO, header = HEADER; if (!noAuth) { //登录过期自动登录 if (!store.state.app.token && !checkLogin()) { toLogin(); return Promise.reject({ msg: '未登录' }); } } if (store.state.app.token) header[TOKENNAME] = 'Bearer ' + store.state.app.token; return new Promise((reslove, reject) => { uni.request({ url: Url + '/api' + url, method: method || 'GET', header: header, data: data || {}, success: (res) => { // #ifdef APP-PLUS //console.log('app', Url + '/api/' + url, res.data); // #endif if (noVerify) // reslove(res.data, res); reslove(res.data); else if (res.data.status == 200) reslove(res.data, res); else if (res.data.code == 1) { reslove(res.data.data); } else if (res.data.code == 0) { reslove(res.data, res); } else if ([410000, 410001, 410002, 40000].indexOf(res.data.status) !== -1) { toLogin(); reject(res.data); } else if (res.data.status == 501) { uni.reLaunch({ url: '/pages/error/index' }) reject(res.data); } else if (res.statusCode === 500) Toast("请检查网络") else reject(res.data.message || '请检查网络'); }, fail: (message) => { //console.log('message', message); reject('请求失败'); } }) }); } const http = {}; ['options', 'get', 'post', 'put', 'head', 'delete', 'trace', 'connect'].forEach((method) => { http[method] = (api, data, opt) => baseRequestTwo(api, method, data, opt || {}) }); export default http;