1.1.4 • Published 2 years ago

janvem-tools v1.1.4

Weekly downloads
7
License
MIT
Repository
-
Last release
2 years ago

Janvem - tools

Request

🔧 - 一个基于Axios二次封装的简易工具库

特点/功能

  • 支持全局配置请求信息
  • 支持自定义头部
  • 支持实时获取接口的加载状态,全局回调加载状态,常用语页面加载中的Loading
  • 支持配置自定义返回状态码,配置请求refreshToken接口
  • 支持全局动态配置存储token信息,设置请求头中的Token Key
  • 全面支持TypeScript

安装

Using npm:

$ npm install janvem-tools -S

Using yarn:

$ yarn add janvem-tools

API

名称说明类型默认值版本
baseURL全局接口域名地址string"/"v1.0
timeout请求有效时间,单位:msnumber20000v1.0
isNeedToken是否需要设置tokenbooleanfalsev1.0
tokenKey请求头中token的Keystring"Authorization"v1.0
loading开启接口loading功能监听booleanfalsev1.0
loadingCallbackloading状态变化时,毁掉方法function(loading: boolean) => void;v1.0
noPermissionCodetoken过期的状态码number401v1.0
refreshConfigrefreshToken的接口配置信息object默认值与常规请求参数一致v1.0
beforeRequest全局请求拦截function(AxiosRequestConfig) => AxiosRequestConfig
afterResponse全局相应拦截function(AxiosResponse) => AxiosResponsev1.0

Function

方法名说明默认值版本
setToken设置全局token的value,默认存于localStorage,key为:AUTH_TOKENajax.setToken(输入Token值)
clearToken清除全局tokenajax.clearToken()

使用:

Note:es6 usage

const { request } from 'janvem-tools'

Directory

# Example

api // 接口管理目录
| - request.js // 接口配置文件
| - modules // 各模块接口存放文件夹
| - | - common.js // 基础模块请求
| - | - .......

Init global request

// requst.js
const { request } from 'janvem-tools'
const ajax = new request({
  baseURL: "http://localhost:7001",
  timeout: 20000,
  isNeedToken: true,
  tokenKey: 'Authorization'
  loadingCallback: (loading) => {
    console.log(loading);
  },
  beforeRequest: (config) => {
    return config;
  },
  afterResponse: (response) => {
    return response;
  },
  noPermissionCode: 401,
  refreshConfig: {
    url: "/refresh",
    method: "POST",
    params: {},
  },
});
export default ajax;

Request

// common.js
import ajax from './../request.js'

// GET
export const get = (params = {}, config = {}) => {
  return ajax.get({
    url: "/",
    params,
    config: { // 此配置会覆盖默认配置
      isNeedToken: false, // 是否需要token
      loading: true, // 是否开启loading
      ...config
    },
  });
}

// POST
export const post = (params = {}, config = {}) => {
  return ajax.post({
    url: "/",
    params,
    config: { // 此配置会覆盖默认配置
      isNeedToken: false, // 是否需要token
      loading: true, // 是否开启loading
      ...config
    },
  });
}

// PUT
export const put = (params = {}, config = {}) => {
  return ajax.put({
    url: "/",
    params,
    config: { // 此配置会覆盖默认配置
      isNeedToken: false, // 是否需要token
      loading: true, // 是否开启loading
      ...config
    },
  });
}

// DELETE
export const delete = (params = {}, config = {}) => {
  return ajax.delete({
    url: "/",
    params,
    config: { // 此配置会覆盖默认配置
      isNeedToken: false, // 是否需要token
      loading: true, // 是否开启loading
      ...config
    },
  });
}

// FORM - 表单提交
const formData = new FormData();
formData.append('file', file)
export const form = (params = {}, config = {}) => {
  return ajax.form({
    url: "/",
    params,
    config: { // 此配置会覆盖默认配置
      isNeedToken: false, // 是否需要token
      loading: true, // 是否开启loading
      ...config
    },
  });
}

Token

// common.js
import ajax from './../request.js'
// GET
export const get = ajax.get({
  url: "/",
  params: {},
  config: { // 此配置会覆盖默认配置
    isNeedToken: true, // 是否需要token
  },
});

// other file
import ajax from '@/api/request.js'

// 设置Token
ajax.setToken(输入Token值)

// 清除Token
ajax.clearToken()
1.1.1

2 years ago

1.1.0

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.0.3

2 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago