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

vue3二次封装

1.下载npm install axios

2.下载npm install @types/axios -D

先创建utils文件

在utils里创建request.ts

这是一层封装

import axios from 'axios'; axios.defaults.timeout = 30000; axios.defaults.baseURL = "http://47.94.4.201" // 添加响应拦截器 axios.interceptors.response.use(function (response) { //可以写if判断,提前拦截错误信息 console.log(response); return response; }, function (err) { return Promise.reject(err); }); 只有get这一个是这莫长的代码 export function get(url: string, params = {}) { return new Promise((resolve, reject) => { axios.get(url, { params: params, headers: { "token": sessionStorage.getItem('token') } }).then(res => { resolve(res.data); }).catch(err => { reject(err.data) }) }); } post delect剩下的就是这样短的 export function post(url: string, data = {}) { return new Promise((resolve, reject) => { axios({ url, data, method: 'post', }).then(res => { resolve(res.data); }).catch(err => { reject(err.data) }) }); }

在utils里创建http.ts这是二层封装

import {post,get} from "../utils/request"; // 注册 export function zhu(query: any) { return new Promise((resolve, reject) => { post('/index.php/index/index/register', query).then(res => { resolve(res) }).catch(err => { reject(err) }) }) } // 验证码 export function yan(query: any) { return new Promise((resolve, reject) => { get('/index.php/index/index/getcode', query).then(res => { resolve(res) }).catch(err => { reject(err) }) }) } // 登录 export function deng(query: { name: string; pwd: string }) { return post('/index.php/index/index/login', query); } // 超级企业列表 export function shu(data) { return new Promise((resolve, reject) => { get('/index.php/index/call/getsuperes', data).then(res => { resolve(res) }).catch(err => { reject(err) }) }) } // 搜索 export function sou(data) { return new Promise((resolve, reject) => { post('/index.php/index/call/getsearches', data).then(res => { resolve(res) }).catch(err => { reject(err) }) }) } // 添加 export function tian(data) { return new Promise((resolve, reject) => { post('/index.php/index/call/addsuper', data).then(res => { resolve(res) }).catch(err => { reject(err) }) }) } // 详情 export function xiang(data) { return new Promise((resolve, reject) => { post('/index.php/index/call/getsuperbyid', data).then(res => { resolve(res) }).catch(err => { reject(err) }) }) } // 状态 export function zhuang(data) { return new Promise((resolve, reject) => { post('/index.php/index/call/upsuperstatus', data).then(res => { resolve(res) }).catch(err => { reject(err) }) }) }

这是二层封装

在哪里用就import { } from "@/utils/https";

http://www.cnnetsun.cn/news/113910.html

相关文章:

  • Xiaomi 商城页面布局(部分)
  • FPGA以太网升级程序:便捷qspi Flash升级,具备校验功能,适用于Xilinx 7系列...
  • 运料小车装卸料控制:西门子1200PLC与TP700触摸屏联机仿真博途16
  • S32K311启动过程中,向量表重定向
  • 从蓝图到产线:高效产品信息传递的桥梁建设
  • 时间复杂度
  • 网站建设公司怎么选?2025年网站设计制作公司推荐指南
  • 今天咱们来聊一个挺有意思的优化算法改进——基于透镜成像反向策略的海洋捕食者算法。这个改进版本在原始MPA基础上搞了点新花样,咱们直接上干货看代码实现
  • Gitee:本土化DevOps平台如何重塑中国开发者生态
  • vCenter Server 8.0U3h 新增功能简介
  • Cisco NX-OS 10.6(2)F 发布 - 数据中心网络操作系统
  • Ubuntu24.04无操作卡死,无法唤醒问题以及内核版本切换记录
  • 全场景覆盖・全流程智控:分布式解决方案让多功能厅 “不止于多”
  • 【轨物方案】聚焦锯床设备智能化升级,打造工业互联网新范式
  • 【轨物交流】轨物科技亮相2025高校科技成果交易会
  • cesium加载geotiff的 四种方法
  • 【毕业设计】基于python的运维管理平台的设计与实现
  • 苹果 iOS 开发真正复杂的不是写代码这方面,是证书、构建、上架
  • FSMC-TFTLCD显示实验(5):显示一个字符串的函数传递过程追踪~
  • 基于Android的课程考勤及作业提交系统
  • 飞易通蓝牙与Wi-Fi模块:医疗产品无线连接的全能助手
  • 你的音效素材库该升级了!这个网站的分类细到超出你想象
  • Agent的“话痨”病有救了!微软黑科技教你压缩对话历史,让AI告别失忆,这篇教程太顶了!
  • ARMv7 linux中断路由以及处理
  • 【详解】基于Kubernetes部署Kafka集群
  • AIoT:从万物互联到万物智联的进化之路
  • ERROR in ./node_modules/vue-router/dist/vue-router.mjs 被报错折磨半天?真相竟是……
  • Spring Boot 自动配置的底层实现原理
  • AI如何帮你快速掌握Wireshark端口过滤技巧
  • 手把手教你复现CVE-2023-51767漏洞