• 封装http并挂载到全局


    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

  • 相关阅读:
    谷歌 chrome 和 safari 浏览器 td innerHTML Textbox 部分显示不全
    SQLServer 日期转换字符串格式
    GNU 通用公共授權 第三版
    程序员的十个层次 你属于哪一层?
    一个因为缺少括号()引发的SQL存储过程不能执行的问题。
    关于实现字符串表达式求值
    Windows api数据类型【转载】
    x86—EFLAGS寄存器详解【转载】
    python PIL图像处理
    python学习笔记
  • 原文地址:https://www.cnblogs.com/guwufeiyang/p/14914050.html
Copyright © 2020-2023  润新知