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

10.vue.js中封装axioa(3)

Vue 项目中如何封装和使用 Axios 的完整结构与示例,

项目结构目录(含 Axios 封装)

your-vue-project/
├── src/
│ ├── api/ # 所有 API 接口文件
│ │ └── user.js # 示例:用户相关接口
│ ├── utils/ # 工具函数
│ │ └── request.js # Axios 封装文件
│ ├── views/ # 页面组件
│ │ └── UserView.vue # 示例:使用接口的页面
│ ├── App.vue
│ └── main.js
├── package.json
└── README.md

📜 request.js(Axios 封装文件)src/utils/request.js

import axios from ‘axios’;

// 创建 Axios 实例
const service = axios.create({
baseURL: import.meta.env.VITE_API_BASE_URL || ‘’, // 你的后端 API 根路径
timeout: 5000,
headers: {
‘Content-Type’: ‘application/json’,
},
});

// 请求拦截器
service.interceptors.request.use(
config => {
// 这里可以设置 token,例如:
const token = localStorage.getItem(‘token’);
if (token) {
config.headers.Authorization = Bearer ${token};
}
return config;
},
error => Promise.reject(error)
);

// 响应拦截器
service.interceptors.response.use(
response => response.data, // 只返回 data 部分
error => {
// 可统一处理错误
console.error(‘Request Error:’, error);
return Promise.reject(error);
}
);

export default service;

📜 user.js(接口文件)src/api/user.js

import request from ‘@/utils/request.js’;

// 示例:获取用户列表
export function getUserList() {
return request({
url: ‘/users’,
method: ‘get’
});
}

// 示例:登录
export function login(data) {
return request({
url: ‘/auth/login’,
method: ‘post’,
data
});
}

📜 UserView.vue(使用接口)src/views/UserView.vue

User List

  • {{ user.name }}

相关文章:

  • spring的webclient与vertx的webclient的比较
  • 机器学习——XGBoost
  • Python Einops库:深度学习中的张量操作革命
  • 深度强化学习驱动的智能爬取策略优化:基于网页结构特征的状态表示方法
  • Multi Agents Collaboration OS:Web DeepSearch System
  • delphi7 链表 使用方法
  • 数数科技正式加入上海市人工智能协会,共筑DATA×AI新基建
  • 实数域上的二分
  • UE Learning Record
  • k8S 命令
  • React Navive初识
  • 优化Docker容器化安装与配置的最佳实践
  • Golang面试精解:实现并发安全带过期清理的缓存结构
  • 极限复习c++
  • Spring Plugin框架应用实践:医院多租户客户端动态路由方案解析
  • 【地址区间划分】
  • 【科研绘图系列】R语言绘制和弦图(Chord diagram plot)
  • 如何通过requests和time模块限制爬虫请求速率?
  • MATLAB读取文件内容:Excel、CSV和TXT文件解析
  • 极昆仑HybridRAG方案:突破原生 RAG 瓶颈,开启大模型应用新境界
  • 动态网站系统是什么/搜索引擎优化的英语简称
  • 网络优化的内容包括哪些方面/网站推广优化招聘
  • 国外黄冈网站推广软件免费吗/全网搜索
  • 两个网站 一个域名/aso关键字优化
  • 坪山网站建设哪家公司靠谱/seo专业培训需要多久
  • 平面设计短期培训班/关键词排名优化公司