0.0.52 • Published 4 years ago
@qiejs/ajax v0.0.52
qie-ajax
对 Axios 进行一定的封装,用于简化接口定义与调用方式
安装
npm install @qiejs/ajax
初始化
// ajax.js
import Ajax from "@qiejs/ajax";
import axios from "axios";
axios.defaults.timeout = 60 * 1000;
axios.defaults.baseURL = "https://api.example.com";
// ----------------- 拦截器
// 添加请求拦截器
axios.interceptors.request.use(
function(config) {
// 在发送请求之前做些什么
return config;
},
function(error) {
// 对请求错误做些什么
return Promise.reject(error);
}
);
// 添加响应拦截器
axios.interceptors.response.use(
function(response) {
// 对响应数据做点什么
return response;
},
function(error) {
// 对响应错误做点什么
return Promise.reject(error);
}
);
const createAjax = new Ajax({
axios: axios,
// post请求的数据类型
dataType: "json",
// 根据不同框架来显示和隐藏 Loading
loading: {
show: () => {
Toast.loading();
},
hide: () => {
Toast.clear();
}
},
// 统一的异常处理
catch: err => {
alert(err.message);
}
});
export default createAjax;
定义 API
// api.js
import createAjax from "./ajax";
const apis = {
login: "post /login",
getUser: id => `get /user/${id}`
};
export default createAjax(apis, "/api");
使用
import api from './api'
api.login({
data: {userName: 'jack', passwrod: '12111' }
loading: true
}).then(res => {
console.log(res)
})
api.getUser(userId)({
data:{ a: 1},
loading: true,
catchError: false,
}).then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})
0.0.52
4 years ago
0.0.51
4 years ago
0.0.50
4 years ago
0.0.49
4 years ago
0.0.48
4 years ago
0.0.46
4 years ago
0.0.47
4 years ago
0.0.46-0
4 years ago
0.0.45
4 years ago
0.0.41
4 years ago
0.0.42
4 years ago
0.0.43
4 years ago
0.0.44
4 years ago
0.0.40
4 years ago
0.0.38
4 years ago
0.0.39
4 years ago
0.0.37
4 years ago
0.0.36
5 years ago
0.0.35
5 years ago
0.0.34
5 years ago
0.0.33
5 years ago
0.0.33-0
5 years ago
0.0.32-0
5 years ago
0.0.31
5 years ago
0.0.30
5 years ago
0.0.29
5 years ago
0.0.28
5 years ago
0.0.27
5 years ago
0.0.26
5 years ago
0.0.25
5 years ago
0.0.24
5 years ago
0.0.20
5 years ago
0.0.19
5 years ago
0.0.18
5 years ago