import axios from "./axios"; import { clearEmptyParam } from './clearEmptyParam' import Vue from "vue"; import shop from "./shop"; const request = axios.create({ // baseURL: 'https://admin.arcskytech.top/uav-api',//生产环境外国服务器 baseURL: 'https://uav-api.xzaiyp.top/uav-api',//演示环境 // baseURL: 'http://h5.xzaiyp.top/uav-two',//开发环境 // baseURL: 'https://shop-admin.xzaiyp.top/shop_demo', timeout: '5000s', }) request.interceptors.request.use(config => { config.headers['Content-Type'] = "application/x-www-form-urlencoded" if (localStorage.getItem('token')) { config.headers['X-Access-Token'] = `${localStorage.getItem('token')}` } if (uni.getStorageSync('language')) { config.headers['Language'] = `${uni.getStorageSync('language')}` } clearEmptyParam(config) return config; }) request.interceptors.response.use(res => { if (res.headers['token']) { localStorage.setItem('token', res.headers['token']) } if (res.data.code != 200) { uni.$u.toast(uni.$resMessage[res.data.message] || res.data.message) } if (res.data.code == 401) { localStorage.removeItem('token') uni.navigateTo({ url: "/pages/login/login" }) } return res.data; }, err => { console.log(err); if (err.response.status == 401) { localStorage.removeItem('token') // router.replace('/login').catch(()=>{}) uni.navigateTo({ url: "/pages/login/login" }) } return Promise.reject(new Error(err)) }) export function handleRequest(key, data, params) { if (!shop[key]) { return console.error('无效key'); } if (shop[key].auth) { if (!localStorage.getItem('token')) { uni.navigateTo({ url: "/pages/login/login" }) console.error('需要登录') return { then() {} }; } } return request({ ...shop[key], data, params }) }; export default handleRequest