https://www.bilibili.com/video/BV1BJ411W7pX?p=32

具体使用:https://blog.csdn.net/weixin_44763569/article/details/107267124

1)封装前的接口写法

2)封装后的写法

async, await用法:

普通用法:

integral() {
this.$myRequest({
url: '/mall/user-integral',
}).then(res => {
this.integrall = res.data.integral
})
}

3)api.js封装:

 1 // 全局请求路径,也就是后端的请求基准路径
2 const BASE_URL = 'http://192.168.31.39:8899/'
3 // 同时发送异步代码的次数,防止一次点击中有多次请求,用于处理
4 let ajaxTimes=0;
5 // 封装请求方法,并向外暴露该方法
6 export const myHttp = (options)=>{
7 // 解构请求头参数
8 let header = {...options.header};
9 // 当前请求不是登录时请求,在header中加上后端返回的token
10 if(options.url != 'login'){
11 header["client-identity"] = uni.getStorageSync('session_id');
12 }
13 ajaxTimes++;
14 // 显示加载中 效果
15 uni.showLoading({
16 title: "加载中",
17 mask: true,
18 });
19 return new Promise((resolve,reject)=>{
20 uni.request({
21 url:BASE_URL+options.url,
22 method: options.method || 'POST',
23 data: options.data || {},
24 header,
25 success: (res)=>{
26 resolve(res)
27 },
28 fail: (err)=>{
29 reject(err)
30 },
31 // 完成之后关闭加载效果
32 complete:()=>{
33 ajaxTimes--;
34 if(ajaxTimes===0){
35 // 关闭正在等待的图标
36 uni.hideLoading();
37 }
38 }
39 })
40 })
41 }

4)main.js调用:

import { myHttp } from './util/api.js';
Vue.prototype.$http = myHttp;

https://blog.csdn.net/renxiaoxing55/article/details/112647858

封装http并挂载到全局的更多相关文章

  1. vue组件挂载到全局方法

    在最近的项目中,使用了bootstrap-vue来开发,然而在实际的开发过程中却发现这个UI提供的组件并不能打到我们预期的效果,像alert.modal等组件每个页面引入就得重复引入,并不像eleme ...

  2. uni-app 环境配置,uni.request封装,接口配置,全局配置,接口调用的封装

    1.环境配置 (可参考uni-官网的环境配置) common文件夹下新建config.js let url_config = "" if(process.env.NODE_ENV ...

  3. 【vue3】封装自定义全局插件

    [vue3]封装自定义全局插件 原vue2方法 main.js import Vue from 'vue' import App from './App.vue' import router from ...

  4. Vue3学习与实战 · 全局挂载使用Axios

    在vue2中会习惯性的把axios挂载到全局,以方便在各个组件或页面中使用this.$http请求接口.但是在vue3中取消了Vue.prototype,在全局挂载方法和属性时,需要使用官方提供的gl ...

  5. 大熊君大话NodeJS之------Global Objects全局对象

    一,开篇分析 在上个章节中我们学习了NodeJS的基础理论知识,对于这些理论知识来说理解是至关重要的,在后续的章节中,我们会对照着官方文档逐步学习里面的各部分模块,好了该是本文主角登台亮相的时候了,G ...

  6. 封装Vue组件的一些技巧

    封装Vue组件的一些技巧 本文同步在个人博客shymean.com上,欢迎关注 写Vue有很长一段时间了,除了常规的业务开发之外,也应该思考和反思一下封装组件的正确方式.以弹窗组件为例,一种实现是在需 ...

  7. Vue-axios 在vue cli中封装

    common/post.js import axios from 'axios' // 引入axios import qs from 'qs' // 引入qs axios.defaults.baseU ...

  8. 【转】 实现 Cocos2d-x 全局定时器

    转自:http://www.tairan.com/archives/3998 cocos2d-x 中有自己的定时器实现,一般用法是在场景,层等内部实现,定时器的生命周期随着它们的消亡而消亡,就运行周期 ...

  9. Nuget调用简单封装.

    1. 项目引用Dapper作为直接访问, 为了使用方便, 封装一下.达到效果: - 数据库连接配置在webconfig.xml中.  - 常用调用方法封装. 调用: //可以采用单例模式. //全局实 ...

  10. Net Core集成Exceptionless分布式日志功能以及全局异常过滤

    Net Core集成Exceptionless分布式日志功能以及全局异常过滤 相信很多朋友都看过我的上篇关于Exceptionless的简单入门教程[asp.Net Core免费开源分布式异常日志收集 ...

随机推荐

  1. SQL动态化多个分组查询

    现有以下三张表,分别为:diqu(地区表),zhiye(职业表),info(信息表) 最基本的分组查询 1 select dqID,jbID,COUNT(1) from info group by d ...

  2. Optional源码分析(涉及Objects源码和Stream源码)

    研究Optional源码之前先谈一谈Objects源码. 主要代码: @ForceInline public static <T> T requireNonNull(T obj) { if ...

  3. 使用CEF(七)详解macOS下基于CEF的多进程应用程序CMake项目搭建

    由于macOS下的应用程序结构导致了CEF这样的多进程架构程序在项目结构.运行架构上有很多细节需要关注,这一块的内容比起Windows要复杂的多,所以本文将会聚焦macOS下基于CEF的多进程应用架构 ...

  4. Kubernetes: client-go 源码剖析(一)

    0. 前言 在看 kube-scheduler 组件的过程中遇到了 kube-scheduler 对于 client-go 的调用,泛泛的理解调用过程总有种隔靴搔痒的感觉,于是调转头先把 client ...

  5. 关于yolov3在训练自己数据集时容易出现的bug集合,以及解决方法

    早先写了一篇关于yolov3训练自己数据集的博文Pytorch实现YOLOv3训练自己的数据集 其中很详细的介绍了如何的训练自定义的数据集合,同时呢笔者也将一些容易出现的bug写在了博文中,想着的是可 ...

  6. 使用FRP实现内网穿透<阿里云服务器端+WINDOWS客户端>

    使用FRP实现内网穿透 1.准备条件 一个云服务器 一个FRP服务端文件,下载地址 一个FRP的windows客户端文件,下载地址 2.服务端 使用远程客户端工具,连接你自己的云服务器(我使用的是阿里 ...

  7. 关于helloworld

    我们的helloworld是从一个源程序开始的,该源程序由程序员通过编译器创建并保存的文件,文件名就是hello.c.这个hello.c的源程序,实际上是有0和1组成的序列.每一个0和1都成为一位,这 ...

  8. 无法找到模块“element-plus/dist/locale/zh-cn.mjs”的声明文件

    把 zhCn 的引入 改成 下面这个就可以了 import zhCn from "element-plus/es/locale/lang/zh-cn"; 贼拉拉管用,快去试试吧 ~

  9. ClickHouse(21)ClickHouse集成Kafka表引擎详细解析

    目录 Kafka表集成引擎 配置 Kerberos 支持 虚拟列 资料分享 参考文章 Kafka表集成引擎 此引擎与Apache Kafka结合使用. Kafka 特性: 发布或者订阅数据流. 容错存 ...

  10. flutter常用的设计模式

    单例模式(Singleton Pattern): 确保一个类只有一个实例,并提供一个全局访问点. 工厂模式(Factory Pattern): 定义一个创建对象的接口,但让子类决定具体实例化哪个类:常 ...