| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- // src/utils/resquest.ts
- import axios from 'axios'
- import { useStore } from '../store/modules/user'
- import { showDialog, showFailToast, showNotify, showToast } from 'vant'
- // @ts-ignore
- import router from '@/router'
- const store = useStore()
- const service = axios.create({
- baseURL: import.meta.env.VITE_APP_BASE_API, // 设置基础 API 地址
- timeout: 50000, // 设置请求超时时间
- });
- // 请求拦截器
- service.interceptors.request.use(
- (config:any) => {
- // 在请求发送之前做处理,如添加 token 等
- if (store.token) {
- config.headers['Authorization'] =store.token
- }
- config.headers['Source'] = 'app'
- config.headers['Version'] = 'V6'
- config.headers['timestamp'] = JSON.stringify(Date.now())
- config.headers['Content-Type'] = 'application/json'
- return config;
- },
- (error:any) => {
- // 请求错误时做处理
- showToast({duration:5000,message:'网络开小车了,检查网络'})
- return Promise.reject(error);
- }
- );
- // 响应拦截器
- service.interceptors.response.use(
- (response:any) => {
- // 处理响应数据
- const res=response.data
- if (res.code !== 200) {
- if (res.code == 600 || res.code == 601 || res.code == 401 ) {
- try {
- // @ts-ignore
- window.android.logout()
- }catch (e) {
- showDialog({
- title: '温馨提示',
- message: '当前登录已过期,请重新登录!',
- }).then(() => {
- router.push('/login')
- });
- }
- return
- }
- if(res.code===305 && response.config.url=='api/entryOrder/app/blind/checkBarcodeIgnoreCase'){
- return res
- }
- showNotify({
- message: res.message || '系统异常,请联系技术支持!',
- duration: 5000,
- });
- // showToast({duration:10000,message:res.message})
- return Promise.reject(res);
- }
- return res;
- },
- (error:any) => {
- if (error.code === 'ECONNABORTED') {
- // 请求超时处理
- showFailToast({ duration: 5000, message: '请求超时,请稍后重试!', wordBreak: 'break-word' });
- }else if(error.code === 'ERR_NETWORK'){
- showFailToast({duration:5000,message:'网络开小车了, 请稍后重试!',wordBreak:'break-word'})
- }else {
- showNotify({
- message: error.message,
- duration: 8000,
- });
- }
- return Promise.reject(error);
- }
- );
- export default service;
|