Axios 封装

请注意以下文件夹:

utils下的setToken.js  是token封装(封装 Token-CSDN博客),service.js 是axios封装。

Axios封装:

1.安装axios
在项目终端下 输入:

npm install axios --save

2.在main.js全局引入axios

import axios from 'axios'Vue.prototype.$axios =axios   //挂载到原型,可以在全局使用

3.在service.js  写入以下内容:

import axios from "axios";
import {getToken} from '@/utils/setToken.js'
import {Message} from 'element-ui'const service = axios.create({baseURL:'/api' , // baseURL 会自动加在请求地址上timeout: 300
})export async function request(method,url,headers, params,data){headers=headers||{};headers["token"] = getToken('token')return await new Promise((resolve, reject) => {service({url,method,params,data,headers}).then(res => {const resData=res.dataresData.message=resData.message||'响应成功'; // log('request',method,url,headers, params,data,resData);if(resData.code === 200) {resolve(resData);//  表格数据转换 }else{Message({message:resData.message, type:'warning'})reject(new Error(resData.message))}}).catch(err => {log('request',method,url,headers, params,data,err);Message({message: '响应失败' , type:'warning'})reject(err)})} )
}/*** 发送GET请求* @param {String} url  请求地址* @param {Object} params 请求参数* @returns */
export function  get(url, params){ return request('get',url,{},params);
}
/*** 发送POST请求,没有报文体* @param {*} url 请求地址* @param {*} params 请求URL参数* @returns */
export function post(url, params){ return request('post',url,{},params);
}
/*** 发送POST请求,发送JSON报文体* @param {*} url 请求地址* @param {*} params 请求URL参数* @param {*} data 请求body参数* @returns */
export function postJSON(url, params,data){ return request('post',url,{'Content-Type': 'application/json;charset=UTF-8'},params,data);
}
/*** 送POST请求,发送From表单报文体* @param {*} url 请求地址* @param {*} params 请求URL参数* @param {*} data 请求body参数* @returns */
export function postFrom(url, params,data){ return request('post',url,{'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},params,data);
}
/*** 发送POST请求,发送FromData报文体,上传文件可用* @param {*} url 请求地址* @param {*} params 请求URL参数* @param {*} data 请求body参数* @returns */
export function postFromData(url, params,data){ var fromDate=new FormData();for(var key in data){fromDate.append(key,data[key]);}return request('post',url,{'Content-Type': 'multipart/form-data'},params,fromDate);
}
/*** 发送delete请求* @param {*} url 请求地址* @param {*} params 请求URL参数* @returns */
export async function del(url, params){ return request('delete',url,{},params);
}
/*** 发送PUT请求,没有报文体* @param {*} url 请求地址* @param {*} params 请求URL参数* @returns */
export function put(url, params){ return request('put',url,{},params);
}/*** 发送PUT请求,发送JSON报文体* @param {*} url 请求地址* @param {*} params 请求URL参数* @param {*} data 请求body参数* @returns */
export function putJSON(url, params,data){ return request('put',url,{'Content-Type': 'application/json;charset=UTF-8'},params,data);
}/*** 送PUT请求,发送From表单报文体* @param {*} url 请求地址* @param {*} params 请求URL参数* @param {*} data 请求body参数* @returns */
export function putFrom(url, params,data){ return request('put',url,{'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},params,data);
}/*** 发送PUT请求,发送FromData报文体,上传文件可用* @param {*} url 请求地址* @param {*} params 请求URL参数* @param {*} data 请求body参数* @returns */
export function putFromData(url, params,data){ var fromDate=new FormData();for(var key in data){fromDate.append(key,data[key]);}return request('put',url,{'Content-Type': 'multipart/form-data'},params,fromDate);
}

例子:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/104994.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

12.JVM

一.JVM类加载机制:把类从硬盘文件加载到内存中 1.java文件,编写时是一个.java文件,编译后现成一个.class的字节码文件,运行的时候,JVM就会读取.class文件,放到内存中,并且构造类对象. 2.类加载流程: a.加载:找到.class文件,打开文件,读取内容,尝试解析文件内容. b.验证:检查…

C# PortraitModeFilter (人物图片)背景模糊

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Linq; using System.Windows.Forms; us…

Marin说PCB之CoilcraftBourns POC 电感的性能对比

十一小长假本来是一件美好事情。可是天有不测风云,小编我却有祸兮来了。本来是公司的硬件同事强哥要回以色列了,最近他们国家那边都在打仗,强哥本着舍身为国的精神回国抗战去了。小编我就想着在他回国之前搞了篮球比赛送别一下他呢&#xff0…

利达卓越:以数字金融,追梦新未来

秉持初心、勇敢前行,便能如火炬照彻黑暗,在平凡的生活中不断创新、保持优势,一步步走向梦想的远方。在金融投资领域,利达卓越广招贤才,坚持创新的原则,以数字技术为金融赋能,与多方市场参与建立长期合作关系,为推动全球经济和社会发展贡献力量,以团队金融优势续写时代华美篇章,…

数据库安全-RedisHadoopMysql未授权访问RCE

目录 数据库安全-&Redis&Hadoop&Mysql&未授权访问&RCE定义漏洞复现Mysql-CVE-2012-2122 漏洞Hadoop-配置不当未授权三重奏&RCE 漏洞 Redis-未授权访问-Webshell&任务&密匙&RCE 等漏洞定义:漏洞成因漏洞危害漏洞复现Redis-未授权…

【计算机组成体系结构】电路基本原理与加法器设计

一、算术逻辑单元—ALU 1.基本的逻辑运算(1bit的运算) 基本逻辑运算分为,与、或、非。大家应该很熟悉了,与:全1为1,否则为0。或:全0为0,否则为1。非:取反。三个基本的逻…

Unity关键词语音识别

一、背景 最近使用unity开发语音交互内容的时候,遇到了这样的需求,就是需要使用语音关键字来唤醒应用程序,然后再和程序做交互,有点像智能音箱的意思。具体的技术方案方面,也找了一些第三方的服务,比如百度…

华为云云耀云服务器L实例评测|华为云耀云服务器L实例私有库搭建verdaccio(八)

九、华为云耀云服务器L实例私有库搭建verdaccio: Verdaccio 是一个简单的、零配置本地私有 npm 软件包代理注册表。Verdaccio 开箱即用,拥有自己的小型数据库,能够代理其它注册表(例如 npmjs.org),缓存下载…

node.js+NPM包管理器+Webpack打包工具+前端项目搭建

javascript运行环境(无需依赖html文件) BFF,服务于前端的后端 官网下载安装,node -v查看是否安装成功 ①、创建一个01.js文件 //引入http模块 const httprequire(http)//创建服务器 http.createServer(function(request,respo…

【angular】TodoList小项目(已开源)

参考:https://segmentfault.com/a/1190000013519099 文章目录 准备工作headerTodo、Doing、Done样式(HTMLCSS)功能(TS)将输入框内容加入todoList(addTodo)将todo事件改到doing 服务 参考开源后续…

9.Linear Maps

线性映射 线性映射是将向量作为输入并产生一些新向量作为输出的转换。 从坐标定义开始(数组),再到2,3,并展示它们是如何关联的 线性映射的坐标表示最终是矩阵, 1.坐标定义(数组) 列向量是向量的坐标表示…

uniapp小程序实现绘制内容,生成海报并保存截图(Painter和Canvas两种方式举例)

一、Painter方法 Painter插件传送门 1.下载资源包 2.将资源包的如下部分 3.使用页面引入组件 ui样式 <paintercustomStyle=margin-left: 40rpx; height: 1000rpx;palette="{{palette}}"bind:imgOK="onImgOK"/>data 中数据(绘制内容,替换区域) pai…

《动手学深度学习 Pytorch版》 8.3 语言模型和数据集

8.3.1 学习语言模型 依靠在 8.1 节中对序列模型的分析&#xff0c;可以在单词级别对文本数据进行词元化。基本概率规则如下&#xff1a; P ( x 1 , x 2 , … , x T ) ∏ t 1 T P ( x t ∣ x 1 , … , x t − 1 ) P(x_1,x_2,\dots,x_T)\prod^T_{t1}P(x_t|x_1,\dots,x_{t-1}) …

uniapp 运行到 app 报错 Cannot read property ‘nodeName‘ of null

uniapp 运行到某一个页面&#xff0c;报错&#xff0c;h5没有问题 Unhandled error during execution of scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repovuejs/coreat <GuiPagecustomHeadertruecustomF…

docker 安装oracle

拉取镜像 拉取oracle_11g镜像 拉取oracle镜像(oracle 11.0.2 64bit 企业版 实例名: helowin) Oracle主要在Docker基础上安装&#xff0c;安装环境注意空间和内存&#xff0c;Oracle是一个非常庞大的一个软件&#xff0c; 建议使用网易镜像或阿里镜像网站这里以oracle 11.0.2…

力扣-461.汉明距离

Method 1 直接比较x&#xff0c;y二进制中的每一位&#xff0c;如果不同则cnt加一&#xff0c;并且x&#xff0c;y每次右移一位 class Solution { public:int hammingDistance(int x, int y) {int cnt 0;while(x > 0 && y > 0) {if((x & 1) ! (y & 1)…

当涉及到API接口数据分析时,主要可以从以下几个方面展开

当涉及到API接口数据分析时&#xff0c;主要可以从以下几个方面展开&#xff1a; 请求分析&#xff1a;可以统计每个API接口的请求次数、请求成功率、失败率等基础指标。这些指标可以帮助你了解API接口的使用情况&#xff0c;比如哪个API接口被调用的次数最多&#xff0c;哪个…

“之江创客”跨境电商赛区决赛暨浙南新电商发展论坛圆满落幕

9月26日&#xff0c;由商务部中国国际电子商务中心指导&#xff0c;浙江省商务厅等十个部门主办&#xff0c;浙江省电子商务促进中心、温州市商务局、苍南县人民政府承办的“之江创客”2023全球电子商务创业创新大赛跨境电商赛区决赛暨浙南新电商发展论坛在苍南圆满落幕。浙江省…

用 Three.js 创建一个酷炫且真实的地球

接下来我会分步骤讲解&#xff0c;在线示例在数字孪生平台。 先添加一个球体 我们用threejs中的SphereGeometry来创建球体&#xff0c;给他贴一张地球纹理。 let earthGeo new THREE.SphereGeometry(10, 64, 64) let earthMat new THREE.MeshStandardMaterial({map: albed…

结构体对齐规则

1.第一个成员在结构体变量偏移量为0的地址处。 2.其他成员变量对齐到某个数字(对齐数)的整数倍的地址处。(对齐数编译器默认的一个对齐数与该成员大小的较小值&#xff09;注意&#xff1a;目前有且只有VS编译器有默认为8. 3.结构体总大小为最大对齐数的整数倍。 4.如果嵌套…