首页 > 其他分享 >vue中封装服务器地址/接口与设置请求头

vue中封装服务器地址/接口与设置请求头

时间:2023-07-01 12:56:20浏览次数:41  
标签:vue 封装 请求 接口 SERVER token axios 服务器

  1. 设置请求头
    首先创建一个放置服务器地址的js,如http.js,然后在http.js中引入axios
    import axios from "axios";
    如果没有axios,需要先安装,npm i axios或者yarn add axois,然后重启服务器
    ...直接上代码
点击查看代码
import axios from "axios";  //导入axios

// 创建请求实例对象
const SERVER  = axios.create({
    baseURL:'ip',  //ip为你的服务器地址
    timeout:12000  //请求超时的时间
})
// 请求拦截器,在里面设置请求头
SERVER.interceptors.request.use((reqconfig)=>{
    // 在请求头进行授权,携带TOKRN给服务器,服务器验证后,根据TOKEN是否有效返回对应结果
    reqconfig.headers.Authorization = localStorage.token;  //这个token是我们在登录成功时获取的结果里面的token,将这个token 存入本地存储,然后在设置请求头时又将它拿出来
    return reqconfig;
})

export default SERVER  //将创建的实例对象保暴露出去,以便其他文件引入

我们在登录成功时会获取到类似这样一个结果
image
然后将里面的token存入本地存储
localStorage.token = res.data.token
token 的一般格式为Bearer eyJhbGciOi.....,但有时候后端可能不会在前面加Bearer,这个时候设置请求头时我们就手动加上,如:
reqconfig.headers.Authorization ="Bearer " + localStorage.token; //注意Bearer后面的空格不要漏掉
2.封装api接口
当我们设置好了请求头,封装好服务器地址后,就可以创建一个apis.js的文件,用来存放所有的接口,这样做的原因是方便维护,如果接口太多,那么每次请求时就要写很多冗余的代码,而且若接口有变,那维护起来是相当的不方便
....直接看代码

点击查看代码
import SERVER from 'xxxx'  //xxxx是你封装服务器地址文件的路径

//创建并导出接口
//export const 接口名 = (参数,没有参数就不写,保留括号) => SERVER.请求方式(get?post?..)('接口',参数(没有参数就不写))
export const $_login = (params) => SERVER.post('/users/checkLogin',params)
export const $_login = (params) => SERVER.get('/users/checkLogin',{params})
export const $_login = () => SERVER.get('/users/checkLogin')
//接口名若没有特殊要求,一般写成$_xxx的格式

标签:vue,封装,请求,接口,SERVER,token,axios,服务器
From: https://www.cnblogs.com/wanganli/p/17508192.html

相关文章

  • Vue双向数据绑定原理(面试必问) vue双向绑定面试怎么说
    vue.js是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调来渲染视图。具体步骤1、需要observer的数据对象进行递归遍历,包括子属性对象的属性,都加上setter和getter这样的话,给这......
  • Vue项目卡顿慢加载?这些优化技巧告诉你!
    前端开发是一个快速发展的领域,每天都会涌现出新的技术和工具。在实现功能的同时,开发人员面临着许多挑战如代码可维护性,加载时间,访问速度,构建速度等问题。这些挑战可能直接影响网站的性能和用户体验,需要采取一些优化措施来改善问题。在本文中,我们将探讨一些前端项目优化的具体措施......
  • 《Linux C/C++ 服务器开发实践》记录
    《LinuxC/C++服务器开发实践》记录序言:该记录是一份读书笔记,因为主题需要和计算机操作系统有关,自然而然的想到Linux的学习,刚好最近找实习发现很多C++服务器方向需要熟悉Windows/Linux的多线程开发,所以就选了这本《LinuxC/C++服务器开发实践》来看,这本书有许多工作用得上的知......
  • 前端Vue自定义勾选协议组件 可用于登录 注册等场景
    前端Vue自定义勾选协议组件,可用于登录注册等场景,下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13299效果图如下:cc-protocolBox使用方法<!--agree:是否同意勾选 protocolArr:协议数组@click:勾选同意点击@protocolClick:协议点击--><......
  • 前端Vue自定义登录界面切换tabs 账号登录验证码登录模版 支持手机号校验邮箱校验验证
    前端Vue自定义登录界面切换tabs账号登录验证码登录模版支持手机号校验邮箱校验、验证码发送, 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13298效果图如下:cc-loginTabs使用方法<!--selIndex:选中序列 tabs-arr:tabs数组 @tabClic......
  • 如何在多个 Linux 服务器上运行多个命令
    动动发财的小手,点个赞吧!如果你正在管理多台Linux服务器,并且你想在所有Linux服务器上运行多个命令,但你不知道该怎么做。不用担心,在这个简单的服务器管理指南中,我们将向您展示如何在多个Linux服务器上同时运行多个命令。为此,您可以使用pssh(并行ssh)程序,这是一个用于在多个......
  • 云服务器centos7安装mysql8
    1.先去官网准备好几个安装包: 2.tar-xvfmysql-8.0.26-1.el8.x86_64.rpm-bundle.tar 3.可能需要卸载系统中自带的mariadbrpm-qa|grepmariadb rpm-e--nodepsmariadb-connector-c-3.1.11-2.oc8.1.x86_64rpm-e--nodepsmariadb-connector-c-config-3.1.11-2.oc8.1.......
  • [GPT] Vue 的 methods 中使用了 addEventListener,如何在 addEventListener 的匿名函数
     在Vue的methods方法中使用addEventListener时,你可以使用 箭头函数 来访问Vue实例的数据。箭头函数不会创建自己的作用域,而是继承父级作用域的上下文。以下是一个示例: html<template><button@click="attachEventListener">ClickMe</button></template><s......
  • [GPT] 如何让 vue-router 打开新窗口
     在VueRouter中打开新窗口可以通过使用<router-link>组件的target属性来实现。将target属性设置为`"_blank"`将会在新窗口中打开链接。以下是一个示例: html<router-linkto="/example"target="_blank">打开新窗口</router-link> 这将在单击链接时在新窗口中打......
  • O2OA(翱途)开发平台如何在流程表单中使用基于Vue的ElementUI组件?
    本文主要介绍如何在O2OA中进行审批流程表单或者工作流表单设计,O2OA主要采用拖拽可视化开发的方式完成流程表单的设计和配置,不需要过多的代码编写,业务人员可以直接进行修改操作。在流程表单设计界面,可以在左边的工具栏找到ElementUI组件。 将对应的组件拖动到表单设计......