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

Axios二次封装和Api的解耦

目录

一、axios三种基本写法

二、axios的二次封装

三、Api的解耦


一、axios三种基本写法

1)get方法(是最简单的):

写法二:

2)post:

3)axios请求配置

默认是get请求,如果是默认就不需要写method:,如果是post请求就要method声明。

二、axios的二次封装

1)二次封装的意义:有很多,最主要的是为了方便管理。另一方面,有时候我们项目中涉及权限问题,我们登陆时需要判断用户是否是登录状态,这种判断如果在某个页面单独做会很麻烦冗余,就可以放在封装内。

情景假设:有三个页面,每个页面都需要发送5次请求,如果在每个页面中单独写,就需要写15次,这时当后面地址由开发环境158.12.4之类换做发布环境http://shouyeh.cn之类时,改动太麻烦。而封装后只需要修改一次即可。

baseURL:相当于一个变量,如下图所示。

2)具体步骤:

第一步:在src中新建一个目录utils,然后在utils内新建一个request.js文件。

第二步,在request.js内进行配置。引入axios;创建axios对象;添加请求拦截器;添加响应拦截器。

第三步,在app.vue中,引入request。

注意:

第二步中比较重要的是,根据需要可以在请求拦截器判断是否在登录状态。

在响应拦截器中,看到后端给前端的返回数据。

三、Api的解耦

1)api解耦的意义:一是为了同一个接口可能多次使用,封装起来后直接调用就可以。

在实际项目中,可能会面临同一个接口在多个地方调用的情况,比如头部导航栏和下面分区导航链接所指的是同一个内容。就像美团可以在首页推荐直接点外卖,也可以进入外卖导航栏内点食物链接一样。

二是为了方便api请求统一管理。

2)具体步骤:

第一步,先在src文件夹下新建api文件夹。然后在api文件夹下新建.js文件,这些.js文件可以进行分类,比如某一个页面的放在一起。

 

第二步,在.js文件中,先引入request。接着将接口定义为函数,这样在页面中使用时只要写函数就可以了,不用再写url。

需要数据时直接在函数里写请求参数就可以,参考步骤三的图二。

注意,查询课程这个接口函数(data),有个data参数,是因为这个接口后端规定他必须有请求参数,而图中我们使用了ES6语法糖,在return中data:data,和图一这样写是一样的。

 

第三步,在app.vue页面使用接口。首先引入接口函数,然后直接引用封装的函数就可以了。

相关文章:

Axios二次封装和Api的解耦

目录 一、axios三种基本写法 二、axios的二次封装 三、Api的解耦 一、axios三种基本写法 1)get方法(是最简单的): 写法二: 2)post: 3)axios请求配置 默认是get请求,如…...

SpringAOP从入门到源码分析大全,学好AOP这一篇就够了(一)

文章目录系列文档索引一、认识AOP1、AOP的引入原因2、AOP常见使用场景日志场景统计场景安防场景性能场景3、AOP概念AOP 的概念Aspect 概念(切面)Join point 概念(连接点)Pointcut 概念(切入点)Advice 概念&…...

【单目标优化算法】樽海鞘群算法(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

手把手教你,解决C盘分区不足,C盘怎么扩大磁盘分区

由于在磁盘分区中,C盘是很重要的一个磁盘,为了保证C盘有足够的磁盘分区。其中扩大C盘分区很常见的操作之一。那么,C盘怎么扩大磁盘分区?在本文中,易我小编将全面地讲解C盘合并分区的方法。 一、为什么C盘怎么扩大磁盘分…...

Ethernet-APL——过程自动化的新黄金标准

| Ethernet-APL为终客户和设备制造商带来益处 Ethernet-APL(Advanced Physical Layer,高级物理层)是一种两线制以太网物理层,它使用了由IEEE 802.3cg所定义的10BASE-T1L,并采用了新的工艺制造规定,因此构成…...

LVGL Styles

LVGL StylesGet started按钮添加标签按钮添加风格滑动条值显示StylesSize stylesBackground stylesBorder stylesOutline stylesShadow stylesImage stylesArc stylesText stylesLine stylesGet started 按钮添加标签 /*** brief 按钮事件回调函数* param e */ void btn_eve…...

扬帆优配|联通港股创近两年新高!A股资源类股爆发,食品饮料领跌

今日上午,A股商场和港股商场均现较大起伏震动,临近上午收盘出现一波跳水,不过,到上午收盘,上证指数仍微涨0.10%,煤炭等资源类板块明显上涨。 港股商场上午走弱,科技股领跌。 沪指微涨0.10%资源…...

Win10+VS2019+Qt5.15.2下编译QCAD

一:官方说法:WindowsDownload and install a C compiler, for example:Visual Studio C Express or Visual Studio CommunityDownload and install Qt from qt.io (see supported platforms):Download for example the online installer fileqt-opensour…...

【微信小程序】原生微信小程序ts模板下引入vant weapp

之前一直是在普通项目下使用 vant weapp,这不最近学了ts,使用微信开发工具的tsless初始化项目,再引入 vant 时踩了好久坑,特来记录一下 前言 本文章适合微信开发工具的ts项目,指的是项目目录结构如下图 总结 从上图…...

Puppeteer之Pyppeteer——自动登录Gmail(6)

前言 本文是该专栏的第6篇,结合项目案例让你熟练使用pyppeteer,后面会持续分享Pyppeteer的干货知识,记得关注。 有同学留言,使用selenium自动登录gmail邮箱,被Google识别为机器人怎么办?出现这个问题,主要在于Google可以检测出selenium的控件,无论你怎么加入规避方法,…...

python 绘图 —— 绘制从顶部向底部显示的柱形图[ax.bar()]

python 绘图 —— 绘制从顶部向底部显示的柱形图[ax.bar()] 效果图如下所示: 就是这个样子,一般比较少见将柱形图从上往下绘制的。可能是会为了更好的展示数据对比结果吧。这里绘图的主要思路如下: 利用ax.twinx()这个函数生成一个新的x轴…...

自定义Task工具,调用系统的IdleHandler方法

1、工具类&#xff0c;调用系统的IdleHandler方法package com.abbi.viewdemo;import android.os.Looper;import android.os.MessageQueue;import java.util.LinkedList;import java.util.Queue;public class DelayTaskDispatcher {private Queue<Task> delayTasks new L…...

生态GEP案例分享

浙江省领导参观德清”两山“平台4月30日上午&#xff0c;浙江省政府参事室一行领导&#xff0c;在德清县副县长陪同下考察当地数据智能运营中心&#xff0c;参观了国内首个县域数字“两山”决策支持平台建设成果。国内生产总值(GDP)&#xff0c;是指按国家市场价格计算的一个国…...

企业级信息系统开发学习笔记1.5 初探Spring AOP

文章目录零、本讲学习目标一、Spring AOP&#xff08;一&#xff09;AOP基本含义&#xff08;二&#xff09;AOP基本作用&#xff08;三&#xff09;AOP与OOP对比&#xff08;四&#xff09;AOP使用方式&#xff08;五&#xff09;AOP基本概念二、提出游吟诗人唱赞歌任务&#…...

Mysql数据库主主从设置

注意&#xff1a;在同一台服务器上部署主从或主主之类的时候&#xff0c;数据库data下有一个auto.cnf里的uuid不能重复。 原则&#xff1a;做同步之前要保证两个数据库数据一致. 锁表操作&#xff1a; FLUSH TABLES WITH READ LOCK; 注&#xff1a;没有锁定主服务器&#xf…...

监管持续,医疗卫生机构如何守好“涉疫”数据安全?

肆虐三年的新冠疫情&#xff0c;影响着全球经济发展、社会正常运行&#xff0c;也成为网络攻击、勒索软件攻击快速增长的温床&#xff0c;“滋生”了一系列网络、数据安全问题&#xff0c;受到各界关注。最近&#xff0c;上线运行三年的 “粤康码”发布公告、官宣部分服务下线&…...

STM32开发(13)----获取唯一设备标识符UID

获取唯一设备标识符UID前言一、什么事UID二、实验过程1.CubeMx配置2.代码实现3.实验结果总结前言 这一章节介绍如何获取STM32芯片中的唯一的ID号的两种方法。 一、什么事UID 在许多项目中&#xff0c;识别设备是必要的。从简单的设备描述到更复杂的设备&#xff0c;如 USB 串…...

华为OD机试 - 最优调度策略(Python) | 机试题+算法思路+考点+代码解析 【2023】

最优调度策略 题目 在通信系统中有一个常见的问题是对用户进行不同策略的调度 会得到不同系统消耗的性能 假设由 N 个待串行用户,每个用户可以使用 A/B/C 三种不同的调度策略 不同的策略会消耗不同的系统资源 请你根据如下规则进行用户调度 并返回总的消耗资源数 规则是:相…...

前端零基础入门-002-集成开发环境

本篇目标 了解市面上常用的前端集成开发环境&#xff08;ide&#xff09;掌握 HBuiberX 的使用&#xff1a;下载安装&#xff0c;新建项目、网页、运行网页。 内容摘要 本篇介绍了市面上流行的几款前端集成开发环境&#xff08;ide&#xff09;&#xff0c;并介绍了 Hbuilde…...

su和sudo的区别

linux中 su和sudo的区别 su和sudo是两个常用的切换到root超级用户命令。功能上类似&#xff0c;但使用上还是有不少差异。 su命令 su是切换到root用户的命令&#xff0c;主要用法如下&#xff1a; su&#xff1a;不带参数直接输入su将切换到root用户&#xff0c;需要输入root…...

西门子V90参数移植实战指南:从备份到验证的完整流程

1. 西门子V90参数移植的核心价值 当你面对生产线上的V90驱动器需要更换时&#xff0c;最头疼的问题莫过于如何让新设备"继承"旧设备的全部参数特性。我经历过三次完整的设备迭代&#xff0c;深刻理解参数移植的重要性——它直接关系到设备重启后的运行稳定性。不同于…...

StructBERT-WebUI部署案例:AI客服中台语义路由模块集成实践

StructBERT-WebUI部署案例&#xff1a;AI客服中台语义路由模块集成实践 1. 项目背景与价值 在现代AI客服系统中&#xff0c;语义理解是核心能力之一。当用户提出"我的订单怎么还没到"时&#xff0c;系统需要准确理解这其实是在询问"物流状态"&#xff0c…...

Rocky Linux 9.4 Minimal安装后必做的10件事:安全加固、性能优化与开发环境搭建

Rocky Linux 9.4 Minimal安装后必做的10件事&#xff1a;安全加固、性能优化与开发环境搭建 当你完成Rocky Linux 9.4 Minimal的安装&#xff0c;面对那个极简的命令行界面时&#xff0c;可能会感到一丝茫然。这个"裸"系统虽然轻量&#xff0c;但距离生产环境或高效开…...

电商客服外包怎么选|避坑指南[特殊字符]2026 商家必看

做电商绕不开客服外包&#xff0c;但低价陷阱、转包兼职、大促掉链、响应超时、售后甩锅真的太坑了&#xff01;今天整理一套不踩雷选型攻略&#xff0c;全是行业干货&#xff0c;新手也能直接抄作业&#x1f447; &#x1f6ab;先避坑&#xff1a;这些雷区千万别碰 超低价诱惑…...

如何高效使用开源工具EnergyStarX提升Windows 11电池续航:完整实战指南

如何高效使用开源工具EnergyStarX提升Windows 11电池续航&#xff1a;完整实战指南 【免费下载链接】EnergyStarX &#x1f50b; Improve your Windows 11 devices battery life. A WinUI 3 GUI for https://github.com/imbushuo/EnergyStar. 项目地址: https://gitcode.com/…...

避坑指南:PICO空间网格开发常见问题排查(视频透视/组件配置/真机调试)

PICO空间网格开发实战&#xff1a;视频透视配置与真机调试全解析 在混合现实&#xff08;MR&#xff09;开发领域&#xff0c;PICO设备凭借其出色的空间感知能力为开发者提供了广阔的创新空间。然而&#xff0c;当我们将Unity引擎与PICO硬件结合进行空间网格开发时&#xff0c;…...

Wan2.1-umt5多轮对话效果展示:复杂任务分解与执行跟踪

Wan2.1-umt5多轮对话效果展示&#xff1a;复杂任务分解与执行跟踪 最近在测试各种对话模型时&#xff0c;我遇到了一个挺有意思的挑战&#xff1a;让AI帮忙规划一次完整的旅行。这可不是简单的一问一答&#xff0c;它涉及到理解模糊需求、主动追问细节、分解多个子任务&#x…...

Hotkey Detective:3步快速解决Windows热键冲突,找出占用快捷键的幕后黑手

Hotkey Detective&#xff1a;3步快速解决Windows热键冲突&#xff0c;找出占用快捷键的幕后黑手 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/h…...

AQS深度探索:以ReentrantLock看Java并发编程的高效实现

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…...

Unpaywall扩展:一键解锁学术论文的终极免费方案

Unpaywall扩展&#xff1a;一键解锁学术论文的终极免费方案 【免费下载链接】unpaywall-extension Firefox/Chrome extension that gives you a link to a free PDF when you view scholarly articles 项目地址: https://gitcode.com/gh_mirrors/un/unpaywall-extension …...