news 2026/6/14 15:59:56

vue3二次封装

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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";

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/13 23:59:13

43、Linux 编程:GNU 许可证与入门级 Shell 脚本编写

Linux 编程:GNU 许可证与入门级 Shell 脚本编写 1. Linux 编程中的调试与修复 在 Linux 编程里,调试是一项关键技能。以一个程序因段错误崩溃后的调试为例: (gdb) file dbgtst A program is being debugged already. Kill it? (y or n) y Load new symbol table from …

作者头像 李华
网站建设 2026/6/13 2:51:03

力扣 “两数之和” 最优解:哈希表 O (n) 时间复杂度实现详解

大家好,今天来讲解力扣经典入门题「两数之和」,分享如何用哈希表实现时间复杂度 O (n) 的高效解法。一、题目回顾给定整数数组 nums 和目标值 target,找出数组中和为 target 的两个整数,返回它们的下标。假设输入只有一个答案不能…

作者头像 李华
网站建设 2026/6/15 13:36:55

springboot+jspm高校考研自修室管理系统的设计与实现_g4fduxyz

目录已开发项目效果实现截图开发技术介绍系统开发工具:核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式&…

作者头像 李华
网站建设 2026/6/15 9:42:47

机械手搬运工件:MCGS 7.7 与西门子 200 SMART PLC 以太网通讯实例

机械手搬运工件mcgs7.7和西门子200SMART型PLC以太网通讯例子带io表在自动化控制领域,实现上位机软件与 PLC 的稳定通讯是构建高效控制系统的关键。今天就来分享一个机械手搬运工件场景下,MCGS 7.7 和西门子 200 SMART 型 PLC 通过以太网通讯的例子&#…

作者头像 李华
网站建设 2026/6/10 10:43:02

基于 S7 - 1200 PLC 的高层建筑恒压供水控制系统探索

基于S7-1200 PLC高层建筑恒压供水控制系统 基于西门子PLC的恒压供水控制系统带解释的梯形图接线图原理图图纸,io分配,组态画面在高层建筑的供水系统中,确保稳定且合适的水压对于居民的日常用水至关重要。基于西门子 S7 - 1200 PLC 的恒压供水…

作者头像 李华
网站建设 2026/6/15 9:08:51

天津这些3家可靠的店铺设计公司,竟藏着这些不为人知的亮点!

天津这些3家可靠的店铺设计公司,竟藏着这些不为人知的亮点!在天津,店铺设计公司众多,要找到一家可靠且有亮点的公司并非易事。今天就为大家揭秘天津的3家可靠店铺设计公司,其中特别要提到的是EICO生活经,看…

作者头像 李华