_request - 更新日志

1.3.1(2020-08-03)

修改默认超时时间

1.3.0(2020-08-01)

修复请求超时/取消请求onerror触发两次。增加请求拦截器可取消请求。增加请求可配置绕过拦截器。

1.2.2(2020-07-02)

增加 statusCode 修复 .then() is not a function

1.2.1(2020-05-16)

优化代码

1.2(2020-05-16)

修复 X.prototype.y called on incompatible type。使用原生 Promise 代理 Promise polyfill。新增支持 finally。修复服务器响应不为 200 时,catch 没有参数

1.1.2(2020-03-01)

修复示例错误

1.1.1(2020-03-01)

修复上传文件 res 为字符串 BUG

1.1.0(2020-02-12)

新增上传下载方法;增加请求拦截器可以修改请求体;取消 overtime 钩子函数;修改取消网络请求方法 cencel() 名为 abort();修改 onerror 方法为唯一;修改配置中的 headers 为 header

1.0.8(2019-12-14)

增加对拦截器方法和钩子函数的异步支持,可以在拦截器或钩子函数里传入 async 方法

1.0.7(2019-11-27)

增加实例对象请求 url 时判断,使其可以请求 实例化时配置的baseURL 之外的 url

1.0.6(2019-11-25)

修复拦截器方法参数中 接收不到 method url data

1.0.5(2019-11-25)

增加 onerror 钩子函数,使其可以对全局网络请求错误进行统一处理,onerror 接受失败请求的 method, url, data, errorMessage 作为参数(如果设置了 overtime 钩子函数,onerror 会先于 overtime 执行)

1.0.4(2019-11-21)

修改当服务器响应不为 200 时也可以被响应拦截器拦截

1.0.3(2019-11-15)

增加 Promise polyfill 下,修复 报错 TypeError: Method Promise.prototype.then called on incompatible receiver [object Object]

1.0.2(2019-11-14)

新增 cancel 方法可以取消某个网络请求;去掉了插件中 reject 时的 console.error

1.0.1(2019-11-13)

增加 实例化对象时 配置 headers

1.0.0(2019-11-08)

欢迎使用 uni_request.js

最近在使用uni-app开发应用,因为用axios用的太顺手了,就对uni.request方法做了一个封装,使其使用起来和axios方法和效果一样。因为是自己现做现用,api设计的都比较简单,代码不也不复杂,但是却很实用。如有BUG,还请不吝指出,非常感谢


使用

import uni_request from './uni_request.js'

const request = uni_request({ // 有效配置项只有两个
    baseURL: 'http://192.168.0.13/dwbsapp', //baseURL
    timeout: 1111 // 超时时间 
})

request.interceptors.request.use(config => { // 请求拦截器(可以设置多个)
    console.log('请求拦截器')
    config.headers.TEST = 'TEST'
    return config
})

request.interceptors.response.use(response => { // 响应拦截器(可以设置多个)
    const { data: res } = response
    if (res.code === 200) {
        console.log('响应拦截器')
    }
    return response
})

request.overtime = () => { // 超时钩子函数(可以设置多个)
    console.log('超时了')
}

request.get('/').then(res => {
    console.log(res)
})