news 2026/7/10 15:30:16

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/7/10 12:35:39

Flink Rebalance、Rescale、Shuffle 核心区别

Flink 中的 Rebalance、Rescale、Shuffle 是三种核心的数据流分区策略,用于定义上游算子的并行子任务如何将数据分发到下游算子的并行子任务。三者的核心差异体现在数据分配方式、网络开销、适用场景上,选择不当会直接影响作业的性能和数据分布的均匀性。以下是详细的对比与解…

作者头像 李华
网站建设 2026/7/10 12:11:45

42、Linux编程:软件开发工具探索与实践

Linux编程:软件开发工具探索与实践 1. 编程基础概念 在编程过程中,通常会经历编辑、编译和调试的循环,多数程序员需多次重复此流程,直至程序正确运行。除了掌握这些基本步骤,还需熟悉以下术语和概念: - 变量 :用于存储不同类型的数据,可将其视为数据的占位符,如同…

作者头像 李华
网站建设 2026/7/10 11:39:53

1700元 vs 2万元:华为云Flexus AI智能体性价比实测,中小企业该选谁?

李老板在东莞经营一家五金配件厂,员工不到30人,去年销售额勉强突破800万。最近他越来越头疼——销售小王每天要接几十个客户电话,重复回答“有没有现货?”“最小起订量多少?”;新来的文员小张处理合同时&am…

作者头像 李华