vue3封装接口(自测可用)

2024-02-22 21:44

本文主要是介绍vue3封装接口(自测可用),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注:这个是js版本不是ts注意

在实际的项目实战中如果我们不对接口加以管理,整篇看着就很乱,这个时候我们就要用到接口封装了。

废话不多说直接上代码!!!

首先是request.js

import axios from "axios";// 使用环境变量来设置基础URL
const baseURL = process.env.VUE_APP_API_BASE_URL || "接口前缀http://xxxxxxxxxxxxxx";const service = axios.create({baseURL: baseURL,timeout: 5000,headers: {"Content-type": "application/json;charset=utf-8"}
});service.interceptors.request.use(config => {const token = localStorage.getItem("token");if (token) {config.headers['Authorization'] = 'Bearer ' + token;}return config;
}, error => {console.error("Request error: ", error);return Promise.reject(error);
});service.interceptors.response.use(response => {if (response.status === 200) {return response.data;} else {// 可以根据需要添加更多的错误处理console.error("Response error: ", response);return Promise.reject(new Error("Error with status code " + response.status));}
}, error => {// 对常见的HTTP错误进行处理if (error.response) {// 请求已发出,服务器回复状态码不在2xx范围console.error("Error status: ", error.response.status);// 根据返回的状态码进行不同的处理// 例如: if (error.response.status === 401) { // 处理登录过期 }} else {// 服务器连回应都没有返回console.error("Network error: ", error);}return Promise.reject(error);
});export default service;

其次api.js

post方法

// 我要用到的一些接口
import service from "@/request/index";
// 引入接口
// 如果在 JavaScript 中引入接口不需要进行类型标注
// import { ILoginData } from "@/type/login";// 登录接口
export function index(data) {return service({url: "/index/index",method: "POST",data: data});
}

get方法

export function index(queryParams) {return service({url: "/index/index",method: "GET",params: queryParams});
}

然后home.vue

到这里就非常简单了,直接import引入相应的名称在使用就可以了

<template><div><div @click="inds">加载数据</div></div>
</template><script setup>
import { ref } from 'vue';
import { index } from "@/request/api";const inds = async () => {try {const res = await index();console.log(1, res);} catch (err) {console.error(2, err);} finally {console.log(3);}
};
</script>

最后封装接口请求数据

首页不需要参数,可以直接请求,那么需要参数的怎么办呢?有方法

这两种方法都行没什么不一样的

方法一

<script setup>
import { ref } from 'vue';
import { index } from "@/request/api";const inds = async () => {try {let id = 1119;//比如接口需要id就声明id,如果是name就写nameconst res = await index({id});console.log(1, res);} catch (err) {console.error("失败", err);} 
};
</script>

方法二

<script setup>
import { ref } from 'vue';
import { index } from "@/request/api";const inds = async () => {try {const res = await index({id:1119});console.log(1, res);} catch (err) {console.error("失败", err);} 
};
</script>

到这里就结束了感谢观看,有疑问可以在评论区写出来。

这篇关于vue3封装接口(自测可用)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/736588

相关文章

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Python用Flask封装API及调用详解

《Python用Flask封装API及调用详解》本文介绍Flask的优势(轻量、灵活、易扩展),对比GET/POST表单/JSON请求方式,涵盖错误处理、开发建议及生产环境部署注意事项... 目录一、Flask的优势一、基础设置二、GET请求方式服务端代码客户端调用三、POST表单方式服务端代码客户端调用四

基于Redisson实现分布式系统下的接口限流

《基于Redisson实现分布式系统下的接口限流》在高并发场景下,接口限流是保障系统稳定性的重要手段,本文将介绍利用Redisson结合Redis实现分布式环境下的接口限流,具有一定的参考价值,感兴趣... 目录分布式限流的核心挑战基于 Redisson 的分布式限流设计思路实现步骤引入依赖定义限流注解实现

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.