Vue3二次封装axios

embedded/2024/10/18 3:26:11/

在这里插入图片描述

官网: 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.ppmy.cn/embedded/85658.html

相关文章

100个python的基本语法知识【上】

0. 变量和赋值: x 5 name “John” 1. 数据类型: 整数(int) 浮点数(float) 字符串(str) 布尔值(bool) 2. 注释: # 这是单行注释 ""…

微信小程序删除滑块 SwiperCell 自动收起 Van weapp van-swipe-cell 滑块自动收起 点击页面也自动收起滑块

在当前页面整个 view 中 给页面绑定 点击事件bindtap"onSwipeCellPage"给 van-swipe-cell 组件设置 id (for循环可以添加 id"swip-cell-{{item.id}}" )van-swipe-cell 组件 添加属性 当用户打开滑块时触发 bind:open"swiperCel…

Vue element ui分页组件示例

https://andi.cn/page/621615.html

java算法实现-1

1. 算法编程 1:请编写Java代码实现实现以下逻辑与输出 ? 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死&#xff0c…

在appium中,如何通过匹配图片来进行断言?

在Appium中进行图片匹配断言,可以使用OpenCV来实现。以下是使用Appium和OpenCV进行图片匹配断言的示例代码。 首先,需要确保安装了必要的库: pip install opencv-python-headless pip install opencv-python pip install numpy然后&#xf…

高级java每日一道面试题-2024年7月26日-JVM篇-JVM对Java原生锁做了哪些优化?

面试官: JVM对Java原生锁做了哪些优化? 我回答: 在Java高级面试中,关于JVM对Java原生锁的优化是一个重要的话题。JVM(Java虚拟机)为了提高多线程程序的性能和效率,对Java的原生锁(如synchronized关键字和Lock接口&a…

loj2143组合题解

组合 求 ∑ i 0 ∞ C n k i k r \sum_{i0}^{\infty} C_{n k}^{i kr} ∑i0∞​Cnkikr​ 模 p p p 的值。 这道题题目非常的善良,直接把式子送给我们了,那我们直接开始推式子: ∑ i 0 ∞ C n k i k r ∑ i 0 ∞ ∑ j 0 w C w j C n…

视觉SLAM--回环检测

文章目录 创建字典相似度计算增加字典规模 回环检测的意义:可以使 后端位姿图得到一个 全局一致估计。 视觉SLAM的主流做法: 基于外观的回环检测方法,仅 根据两幅图像的相似性确定回环检测关系。这种方法,摆脱了累计误差&…