uni-http-interface

0.0.6 • Public • Published

uni-http-interface

使用方法

第一步:配置封装拦截器和基础路径:http.js

import http from 'uni-http-interface';

// 公共配置项,三种api通用
http.config = {
	baseUrl: 'http://baidu.com', // 基础路径
	timeout: 6000, // 超时时间
}
// 对应接口配置项
http.requestConfig {
	// uni.request(OBJECT)的 OBJECT 参数: https://uniapp.dcloud.io/api/request/request.html#request
	...
}
http.uploadFileConfig {
	// uni.uploadFile(OBJECT)的 OBJECT 参数: https://uniapp.dcloud.io/api/request/network-file.html#uploadfile
	...
}
http.downloadFileConfig {
	// uni.downloadFile(OBJECT)的 OBJECT 参数: https://uniapp.dcloud.io/api/request/network-file.html#downloadfile
	...
}

http.interceptor.invoke = config => {
	// 请求拦截前触发
	return config
}

http.interceptor.success = res => {
	// 请求成功回调拦截
	// 成功回调
	return Promise.resolve(response.data)
	// 走失败回调
	return Promise.reject(response)
}

http.interceptor.fail = err => {
	// 请求失败回调拦截
	// 走失败回调
	return Promise.reject(response)
}

http.interceptor.complete = res => {
	// 请求完成回调拦截
	// 成功回调
	return Promise.resolve(response.data)
	// 走失败回调
	return Promise.reject(response)
}

// 已封装:get,post,put,delete,upload,download请求,如需其他请求自行在下方封装

export default http

第二步:使用http.js

import http from '@/utils/http'
// 接口请求拦截
let interceptor = {
	invoke: config => {
		// 请求拦截前触发,同:http.interceptor.invoke,该配置存在会最终取该配置的参数
		return config
	},
	success: response => {
		// 请求拦截前触发,同:http.interceptor.success,该配置存在会优先执行
	    // 请求成功回调拦截
	    // 成功回调
	    return Promise.resolve(response.data)
	    // 走失败回调
	    return Promise.reject(response)
	},
	fail: error => {
		// 请求拦截前触发,同:http.interceptor.fail,该配置存在会优先执行
	    // 走失败回调
	    return Promise.reject(error)
	},
	complete: response => {
		// 请求拦截前触发,同:http.interceptor.complete,该配置存在会优先执行
	    // 请求成功回调拦截
	    // 成功回调
	    return Promise.resolve(response.data)
	    // 走失败回调
	    return Promise.reject(response)
	}
}
// 请求的参数
let data = {
	...,
}
// OBJECT参数
let option = {
	...,
}
// 发出get请求
http.get('/user/userInfo', data, option, interceptor)
// 发出post请求
http.post('/user/login', data option, interceptor)
// 发出put请求
http.put('/user/userInfo', data option, interceptor)
// 发出delete请求
http.delete('/user/userInfo', data option, interceptor)
// 上传文件请求
http.upload('/upload/file', {
	file, // 上传文件字段,三选一即可:https://uniapp.dcloud.io/api/request/network-file.html#uploadfile
	...option // option参数
}, interceptor)
// 下载文件
http.download('/download/file', option, interceptor)

Readme

Keywords

none

Package Sidebar

Install

npm i uni-http-interface

Weekly Downloads

4

Version

0.0.6

License

MIT

Unpacked Size

8.45 kB

Total Files

5

Last publish

Collaborators

  • mouxan