vue+react封装请求

news/2024/6/19 5:47:36 标签: javascript, 前端, vue.js
import axios from 'axios'
import { Toast } from 'vant'
//开发环境
// const urlHost='https://localhost:9033'
// create an axios instance
const request = axios.create({
  // baseURL: urlHost, // url = base url + request url
  withCredentials: false, // send cookies when cross-domain requests
  timeout: 5000, // request timeout
})

var that=this
// request interceptor
request.interceptors.request.use(
  config => {
    config.headers['jnpf-origin'] = 'pc'
    return config
  },
  error => {
    // do something with request error
    if (process.env.NODE_ENV === 'development') {
      console.log(error) // for debug
    }
    return Promise.reject(error)
  }
)

// response interceptor
request.interceptors.response.use(
  response => {
    const res = response.data 
    // console.log('====',response)
    if (response.status == 200) {
      return res
    }else{
      console.log('====',res)
      Toast(res.errmsg,)
      return res.msg
    }
  },
  error => {
    if (process.env.NODE_ENV === 'development') {
      console.log(error) // for debug
    }
    Toast(error|| '请求出错,请重试',)
    return Promise.reject(error)
  }
)

export default request
export {urlHost}
import axios from 'axios';

const instance = axios.create({
  baseURL: ' // 设置请求的基础URL
  timeout: 5000, // 设置请求超时时间
});
import instance from './axios';

// 请求拦截器
instance.interceptors.request.use(
  (config) => {
    // 在请求发送前添加请求头
    config.headers['Authorization'] = 'Bearer ' + localStorage.getItem('token');
    return config;
  },
  (error) => {
    return Promise.reject(error);
  }
);

// 响应拦截器
instance.interceptors.response.use(
  (response) => {
    // 在响应返回后进行一些额外的处理
    return response;
  },
  (error) => {
    // 处理一些错误,如网络错误、服务器错误等
    return Promise.reject(error);
  }
);

export default instance;


http://www.niftyadmin.cn/n/5182494.html

相关文章

Netty+SpringBoot 打造一个 TCP 长连接通讯方案

项目背景 最近公司某物联网项目需要使用socket长连接进行消息通讯,捣鼓了一版代码上线,结果BUG不断,本猿寝食难安,于是求助度娘,数日未眠项目终于平稳运行了,本着开源共享的精神,本猿把项目代码…

数据结构第三课 -----线性表之双向链表

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

arf_1解题

arf_1解题 镜像环境 version: 3.2services:web:image: registry.cn-hangzhou.aliyuncs.com/n1book/web-file-read-1:latestports:- 80:80新建yml文件将代码保存在当前位置 使用docker-compost up -d 拉取镜像 解题 访问该镜像映射端口为1520 可以看到页面只有一个holle但…

no tests were found

将带有Test的方法返回类型设为void

【git】远程远程仓库命令操作详解

这篇文章主要是针对git的命令行操作进行讲解,工具操作的基础也是命令行,如果基本命令操作都不理解,就算是会工具操作,真正遇到问题还是一脸懵逼 如果需要查看本地仓库的详细操作可以看我上篇文件 【git】git本地仓库命令操作详解…

【广州华锐互动】消防科普VR实训展馆增强群众学习兴趣和沉浸感

在现代社会,科技的发展已经深入到我们生活的各个角落,其中包括教育和信息传播领域。3D技术的引入为科普教育提供了全新的可能性。特别是在消防安全教育中,消防科普VR实训展馆的应用,不仅可以提高公众的消防安全意识,还…

使用Postman进行压力测试

1.打开Postman新建测试接口 2.点击右边保存,选择一个文件集合,如果没有就创建,然后保存 就是这个东西,这里不便展示出来,压力测试需要在文件夹里面进行 3.选择要测试的接口,iterations 表示请求发起次数&a…

什么是社会工程学攻击?社会工程学攻击案例,如何防范?

什么是社会工程学攻击? 从广义上讲,社会工程学是操纵人们放弃敏感信息的做法。社交工程学攻击可能当面发生,例如盗匪装扮成送货员闯入建筑物。本文将重点关注社会工程学网络攻击。在大多数情况下,此类攻击旨在使受害者泄露登录凭…