news 2026/8/21 14:13:15

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/8/21 6:56:25

39、邮件和新闻服务器管理指南

邮件和新闻服务器管理指南 1. 邮件转发与别名设置 若要在将邮件转发到指定地址的同时,在原系统保留一份邮件副本,可在 .forward 文件中添加如下行: wilbur@somewhereelse.net, wilbur\只需追加用户名,并以反斜杠结尾。行尾的反斜杠 ( \ ) 可防止 sendmail 重复转…

作者头像 李华
网站建设 2026/8/21 22:53:37

未来已来:AI原生文本生成将如何重塑内容生态?

未来已来:AI原生文本生成将如何重塑内容生态? 关键词:AI原生文本生成、内容生态、生成式AI、AIGC、大语言模型(LLM)、内容生产链、人机协同 摘要:当AI从“辅助工具”进化为“原生创作者”,内容生…

作者头像 李华
网站建设 2026/8/21 6:19:21

springboot+jspm关于java的酒店预订管理系统_7co146y7

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

作者头像 李华
网站建设 2026/8/21 11:46:25

springboot+jspm大学生教务评教系统的设计与实现_h6604vab

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

作者头像 李华
网站建设 2026/8/21 5:49:57

水下机器人控制与路径跟踪仿真

增量PID轨迹跟踪 MATLAB仿真 水下机器人控制 无人船无人艇 USV路径跟随大家好!今天我将和大家分享一个有趣的主题:增量PID轨迹跟踪在水下机器人中的应用。这个主题结合了控制理论、算法优化和实际工程应用,非常值得探讨。首先,我想…

作者头像 李华
网站建设 2026/8/21 8:07:16

Pr加转场总生硬又耗时?怎么才能1键做出丝滑高级转场?

转场是视频镜头衔接的 “润滑剂”—— 自然的转场能让叙事更流畅,还能靠创意动效强化视频风格,比如 vlog 的柔和过渡、电商视频的产品聚焦转场、综艺的趣味转场。但很多新手在 Pr 里加转场时,总陷入 “瞎翻效果半小时、调参数越调越生硬、批量…

作者头像 李华