Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

zhdd-request

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

zhdd-request

> 研发人: 朱琦

  • 2.0.1
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

zhdd-request

研发人: 朱琦

研发日期: 2022/1/10

简介

zhdd-request 插件是基于 axiosqs 开发的请求封装,可以支持多服务域名请求

快速使用

安装

npm i zhdd-request

引入

初始化配置 vue main.js为例
import { setRequestConfig, setInterceptor } from 'zhdd-request'

/**
 * 初始化 配置
 * @param {Object} config      初始配置
 * @param {Object} services 多个服务域名配置
 * */
setRequestConfig(
  // config 初始配置 可设置baseUrl timeout headers
  {
    baseURL: process.env.VUE_APP_BASE_API,
    timeout: 3000, // 非必传 接口超时时间设置
    headers: {}, // 非必传 请求头
  },
  // services 多个服务域名配置, 可不传 不传时config.baseURL 为必传
  [
    {
      // 默认服务域名 第一个
      name: 'BASE_SERVER',
      url: process.env.VUE_APP_BASE_API
    },
    {
      // 其他服务域名
      name: 'JTQG_SERVER',
      url: process.env.VUE_APP_JTQG_SERVER_BASE_API
    },
  ]
)

若后续需要设置headers 可再次调用setRequestConfig(config)

使用

import { createRequest } from 'zhdd-request'

/**
  * 实例1
  * */
getList (params) {
  return createRequest().setParameters(params).get('/event/list')
}

/** 
  * 实例2
  * 用setAxios请求
  * 传参方法遵循 axios
  * */
getList (params) {
  return createRequest().setAxios({
    url: '/event/listForJtqg',
    method: 'get',
    params
  })
}

使用方法详解

  • createRequest()

    创建请求类,传参为空时 使用默认服务域名

    createRequest() 
    // 等同于
    createRequest('BASE_SERVER')
    
  • 设置当前 请求超时 时间

    createRequest('BASE_SERVER',timeout)
    
  • setParameters(object) 传参

    createRequest().setParameters(object)
    
  • add() 添加参数

    createRequest().add('key','value')
    
  • get() GET请求

    createRequest().add('key','value').get(url)
    
  • post() POST请求

    默认 application/json

    createRequest().setParameters(object).post(url)
    
  • post() POST请求 setParameters(object,'formdata')

    请求类型为 multipart/form-data 传参一定要是个对象,不能是formData类型

    createRequest().setParameters(object,'formdata').post(url)
    
  • post() POST请求 setParameters(object,'urlencoded')

    请求类型为 application/x-www-form-urlencoded

    createRequest().setParameters(object,'urlencoded').post(url)
    
  • delete() DELETE请求

    createRequest().setParameters(object).delete(url)
    
  • delete() DELETE请求 setParameters(object,'urlencoded')

    请求类型为 application/x-www-form-urlencoded

    createRequest().setParameters(object,'urlencoded').delete(url)
    
  • put() PUT请求

    createRequest().setParameters(object).put(url)
    
  • url 拼接参数

    createRequest().setParameters({id:123, type:0}).get(url/{id}/{type})
    
  • file() 下载文件流

createRequest().setParameters(object).file(url, config)

config [Object] 配置

config类型说明
fileTypeString下载文件类型
fileNameString下载文件名

关于fileType文件类型,可取值:

拓展名文件类型fileType
.jpg 、.jpegJPEG 图片image/jpeg
.pngPNG 图片image/png
.jsonJSON 格式application/json
.pdfPDFapplication/pdf
.pptMicrosoft PowerPointapplication/vnd.ms-powerpoint
.xlsMicrosoft Excelapplication/vnd.ms-excel
.zipZIPapplication/zip
.rarRAR 存档application/x-rar-compressed
  • fileUrl() 获取url链接
createRequest().setParameters(object).fileUrl(url, openUrl)

openUrl [Boolean] 是否打开url 默认为true

为 true 时,会直接通过 window.open(href) 打开连接 为 false时,可以通过then回调获取url

方法

setRequestConfig(config, services) 设置请求配置

  1. config [Object] 请求基础配置
config类型说明
baseURLString默认服务域名
timeoutNumber接口超时时间设置 非必传
headersObject请求头 非必传
  1. services [Object] 请求多服务域名配置
[{
    name: "BASE_SERVER",
    url: process.env.VUE_APP_BASE_API
 },
 {
    name: "JTQG_SERVER",
    url: process.env.VUE_APP_JTQG_SERVER_BASE_API
 },
 ...
]

createRequest(servicesName, timeout) 创建请求类

  1. servicesName [String] 服务名

  2. timeout [Number] 超时时间

setInterceptor(fun, type) 拦截器

  1. fun [Function] 拦截器触发的回调函数

fun(res)

  • res: 当前状态返回信息
  1. type [String] 拦截器类型
type类型说明
SUCCESSString请求成功时
ERRORString请求失败时
BEFOREString请求之前时

FAQs

Package last updated on 21 Jun 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc