一、安装axios
npm install axios
二、新建api目录
在前端项目src目录下新建api目录

三、在api目录下新建request.js文件,用于封装请求接口,编写如下代码
import axios from "axios";
import { ElMessage } from "element-Plus";
const service = axios.create();
// 添加请求拦截器
service.interceptors.request.use(function (config) {
// 在发送请求之前做些什么
return config;
}, function (error) {
// 对请求错误做些什么
return Promise.reject(error);
});
// 添加响应拦截器
service.interceptors.response.use((res)=>{
// console.log(res)
const {code, data ,msg} = res.data
if(code===200){
return data;
}else{
const NETWORK_ERROR = '网络错误...'
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;四、在api目录下新建api.js,用于整个项目api统一管理,编写如下代码:
// 整个项目api统一管理
import request from "./request";
// 请求首页表格数据
export default{
getTableData(){
return request({
url: 'https://www.exame.com/list',
method: "get",
})
}
}五、全局引入
打开main.js文件,全局引入
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import api from "./api/api";
const app = createApp(App)
app.config.globalProperties.$api = api
app.use(router)
app.mount('#app')
// createApp(App).mount('#app')六、在对应的页面使用
<script setup>
import { ref, getCurrentInstance, onMounted } from 'vue';
const { proxy } = getCurrentInstance();
const getTableData = async ()=>{
const data = await proxy.$api.getTableData();
console.log(data)
}
onMounted(()=>{
getTableData()
})
</script>
关于简忆
简忆诞生的故事



粤ICP备16092285号
文章评论(0)