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

第70讲axios后端请求工具类封装

axios工具类封装:

// 引入axios
import axios from 'axios';// 创建axios实例
const httpService = axios.create({// url前缀-'http:xxx.xxx'// baseURL: process.env.BASE_API, // 需自定义baseURL:'http://localhost:80/',// 请求超时时间timeout: 3000 // 需自定义
});//添加请求和响应拦截器
// 添加请求拦截器
httpService.interceptors.request.use(function (config) {// 在发送请求之前做些什么config.headers.token=window.sessionStorage.getItem('token');return config;
}, function (error) {// 对请求错误做些什么return Promise.reject(error);
});// 添加响应拦截器
httpService.interceptors.response.use(function (response) {// 对响应数据做点什么return response;
}, function (error) {// 对响应错误做点什么return Promise.reject(error);
});/*网络请求部分*//**  get请求*  url:请求地址*  params:参数* */
export function get(url, params = {}) {return new Promise((resolve, reject) => {httpService({url: url,method: 'get',params: params}).then(response => {resolve(response);}).catch(error => {reject(error);});});
}/**  post请求*  url:请求地址*  params:参数* */
export function post(url, params = {}) {return new Promise((resolve, reject) => {httpService({url: url,method: 'post',data: params}).then(response => {console.log(response)resolve(response);}).catch(error => {console.log(error)reject(error);});});
}/**  文件上传*  url:请求地址*  params:参数* */
export function fileUpload(url, params = {}) {return new Promise((resolve, reject) => {httpService({url: url,method: 'post',data: params,headers: { 'Content-Type': 'multipart/form-data' }}).then(response => {resolve(response);}).catch(error => {reject(error);});});
}export default {get,post,fileUpload
}

配置@作为根目录

vue.config.js里面配置:

  configureWebpack:{resolve:{alias:{'@':resolve('src')}}},

在这里插入图片描述
导入axios工具类;

import axiosUtil from '@/util/axios'

改下:

try{let result=await axiosUtil.post("adminLogin",form.value);let data=result.data;if(data.code==0){ElMessage.success("登录成功");window.sessionStorage.setItem("token",data.token);}else{ElMessage.error(data.msg);}}catch(err){console.log("error:"+err);ElMessage.error("系统运行出错,请联系管理员");}
http://www.lryc.cn/news/297543.html

相关文章:

  • 【数学建模】【2024年】【第40届】【MCM/ICM】【F题 减少非法野生动物贸易】【解题思路】
  • 第3节、电机定速转动【51单片机+L298N步进电机系列教程】
  • 【51单片机】LCD1602(可视化液晶屏)调试工具的使用
  • Netty应用(四) 之 Reactor模型 零拷贝
  • Huggingface上传模型
  • kyuubi 接入starrocks | doris
  • notepad++成功安装后默认显示英文怎么设置中文界面?
  • HiveSQL——连续增长问题
  • 使用cocos2d-console初始化一个项目
  • VitePress-13- 配置-title的作用详解
  • Rust-AI todo list 开发体验
  • 2024-02-07(Sqoop,Flume)
  • LDAR管理系统解决方案
  • [vscode]ssh报错: Resolver error: Error: XHR failedscode错误
  • 【Maven】依赖、构建管理 继承与聚合 快速学习(3.6.3 )
  • Flume安装部署
  • 点云从入门到精通技术详解100篇-非结构化道路下无人平台路径规划与运动控制
  • 生成树技术华为ICT网络赛道
  • [HTTP协议]应用层的HTTP 协议介绍
  • Linux 命令基础
  • 【开源】JAVA+Vue+SpringBoot实现实验室耗材管理系统
  • 集成开发环境 IntelliJ IDEA的基本使用
  • 【Flink入门修炼】1-2 Mac 搭建 Flink 源码阅读环境
  • Spring IoC容器详解
  • 06 MP之自动填充+SQL执行的语句和速度分析
  • 3 scala集合-Set
  • Android应用图标微技巧,8.0系统中应用图标的适配
  • java学习(多态)
  • [UI5 常用控件] 07.SplitApp,SplitContainer
  • MyBatisPlus之分页查询及Service接口运用