0.1.3 • Published 5 years ago

swx-request v0.1.3

Weekly downloads
1
License
MIT
Repository
-
Last release
5 years ago

swx微信网络请求库

axios风格

示例

默认配置

{
  /**
   * 默认url前缀或别名
   * 例如:
   * {
   *  baseUrl: 'https://www.xxx.com/api'
   * }
   * 或者
   * {
   *  baseUrl: 'auth'
   * }
   */
  baseUrl: '',
  /**
   * 多个url可以配置别名
   * 例如:{
   *  demo: 'https://www.demo.com/api',
   *  auth: 'https://auth.demo.com/api',
   *  sub1: 'https://www.sub1.com/api'
   * }
   */
  baseUrlMap: {}
}

初始化

import request from 'swx-request'
// 初始化默认配置

request.defaultConf.baseUrl = 'https://www.aa.com/api'
// 初始化拦截器
request.interceptors.request.use(conf => {
    conf.data = conf.data || {}
    const { data } = conf
    // 公共参数
    // data.common = '333'
    // 过滤空参数
    // eslint-disable-next-line no-restricted-syntax
    for (const k in data) {
        if (data[k] === undefined || data[k] === null) {
        delete data[k]
        }
    }
    return conf
})
request.interceptors.response.use(rs => {
    if (rs && rs.statusCode !== 200) {
      return {
        success: false,
        code: rs.statusCode
      }
    }
    const { data: resp, reqConf } = rs
    // reqConf 请求配置对象,用于追踪请求
    // 格式化后台接口转成前端标准格式
    // todo
    return resp
})

请求

import request from 'swx-request'
// get post put (url, data, conf)
request.get('demo', { param1: 1 }).then(data=>{})
request.post('demo', { param1: 1 }).then(data=>{})
// delete head options (url, conf)
0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.1

5 years ago