当前位置: 首页 > news >正文

Vue3二次封装axios

在这里插入图片描述

官网: https://www.axios-http.cn/docs/interceptors

  • steps1:
    安装 npm install axios -s
  • steps2:
    /src/api/request.js 文件 >>> 拦截器
import axios from 'axios'
// 如果没用element-plus就不引入
import { ElMessage } from 'element-plus'const service = axios.create()
const NETWORK_ERROR = '网络错误...'
// 添加请求拦截器
service.interceptors.request.use(function (config) {// 在发送请求之前做些什么return config},function (error) {// 对请求错误做些什么return Promise.reject(error)}
)// 添加响应拦截器
service.interceptors.response.use((res) => {const { code, data, msg } = res.dataif (code === 200) {return data} else {ElMessage.error(msg || NETWORK_ERROR)return Promise.reject(msg || NETWORK_ERROR)}
})function request(options) {options.method = options.method || 'get'return service(options)
}
export default request
  • steps3:
    /src/api/api.js 文件 >>> 接口
 /*** 整个项目api的统一管理*/
import request from './request'export default {/*** 首页左侧表格数据* @returns tableList*/getTableData() {return request({url: '/api/home/getTableData',method: 'get'})}
}
  • steps4:
    main.js 文件 >>> 引入接口文件

    import api from '@/api/api'const app = createApp(App)app.config.globalProperties.$api = api
    
  • 组件内调用

import { ref, onMounted, getCurrentInstance } from 'vue'
const { proxy } = getCurrentInstance()
const getTableData = async () => {const data = await proxy.$api.getTableData()tableData.value = data.tableData
}
onMounted(() => {getTableData()
})
http://www.lryc.cn/news/407719.html

相关文章:

  • 【MetaGPT系列】【MetaGPT完全实践宝典——多智能体实践】
  • C#中GridControl的数据源双向绑定
  • sklearn详细基础教程(科普篇)
  • el-table列的显示与隐藏
  • 使用命令快速删除项目中的node_modules
  • leetCode15三数之和(双指针)
  • 数据挖掘-数据预处理
  • 【调试笔记-20240723-Linux-gitee 仓库同步 github 仓库,并保持所有访问链接调整为指向 gitee 仓库的 URL】
  • 《GPT-4o mini:开启开发与创新的新纪元》
  • 生成树协议配置与分析
  • Golang | Leetcode Golang题解之第287题寻找重复数
  • 【音视频SDL2入门】创建第一个窗口
  • 《置身事内:中国政府与经济发展》生活过得好一点,比大多数宏伟更宏伟
  • MongoDB教程(十八):MongoDB MapReduce
  • HTML前端面试题之<iframe>标签
  • Docker-Compose实现MySQL之主从复制
  • jetson显卡没有加速,而是在用cpu推理?
  • Linux下如何安装配置Fail2ban防护工具
  • js的深浅拷贝
  • 实验八: 彩色图像处理
  • Python酷库之旅-第三方库Pandas(048)
  • springboot爱宠屋宠物商店管理系统-计算机毕业设计源码52726
  • 自训练和增量训练word2vec模型
  • 华三路由器开启web访问
  • C++软件开发值得推荐的十大高效软件分析工具
  • vue2老项目中node-sass更换dart-sass
  • 源/目的检查开启导致虚拟IP背后的LVS无法正常访问
  • 类和对象(四)
  • <PLC><HMI><汇川>在汇川HMI画面中,如何为UI设置全局样式?
  • 在Git项目中添加并应用“.gitignore”文件