import { config } from '@/config/app'; import useUserStore from '@/store/user'; const userStore = useUserStore(); function baseRequest(url, method, data, { noAuth = false, noVerify = false, onReLogin = false }) { let Url = config.HTTP_REQUEST_URL, header = config.HEADER; if (userStore.userInfo) { header.TOKEN = userStore.token } return new Promise((reslove, reject) => { uni.request({ url: Url + '/api' + url, method: method || 'GET', header: { ...header }, data: method != 'GET' ? data || {} : {}, params: method == 'GET' ? data : {}, success: (res) => { if (res.data.show) { uni.showToast({ title: res.data.msg || '操作成功', icon: 'none', }) } if (noVerify) reslove(res.data); else if (res.data.code == -1) { if (res.data.msg == "登录超时,请重新登录") { userStore.setToken(''); userStore.setUserInfo({}); uni.reLaunch({ url: '/pages/login/login' }) } } else if (res.data.code == 0) { reject(res.data); } else if (res.data.code == 1) { reslove(res.data); } else if (res.data.code == 200) { reslove(res.data.data); } else if ([410000, 410001, 410002, 40000].indexOf(res.data.code) !== -1) { reject(res.data); } else if (res.data.code == 501) { reject(res.data); } else { reject(res.data.msg || '请检查网络'); } }, fail: (message) => { console.log(message, '错误') uni.showToast({ title: '网络错误', icon: 'none' }) reject('请求失败'); } }) }); } const syhttp = {}; ['options', 'get', 'post', 'put', 'head', 'delete', 'trace', 'connect'].forEach((method) => { syhttp[method] = (api, data, opt) => baseRequest(api, method, data, opt || {}) }); export default syhttp;