0.1.3 • Published 4 years ago
vue-ga-http v0.1.3
工具介绍
基于axios及ES6的API层二次封装管理工具,可以有效帮助管理日常get、post、put、delete请求,使用方法简单,无需配置,即插即用!
安装方法
$ npm install vue-ga-http --save
使用方法
//main.js
import VueGaHttp from 'vue-ga-http' //引入模块
import { API_LIST } from './api/index'; //接口管理文件
//OPTIONS与axios配置一致
const OPTIONS = {
baseURL: 'http://127.0.0.1:3000/',
timeout: 10000,
withCredentials: true
};
Vue.use(VueGaHttp, { API_LIST, OPTIONS });
入口文件 附带命名空间防止冲突
// api/index.js
import USER_LIST from './user'
import ARTICLE_LIST from './article'
//增加命名空间
const API_LIST = {
user:USER_LIST,
article:ARTICLE_LIST
}
export { API_LIST };
这里定义需要管理的文件
// api/user.js
const BASE = '/user'
const API_LIST = [
{
name:'login',
url:'/login',
method:'post',
desc:"用户登陆"
},
...
{
name:'deleteUser',
url:'/delete/:id',
method:'delete',
desc:"根据id删除某个用户",
configurable:'id'
},
]
export default API_LIST.map(item=>{
item.url = BASE + item.url;
return item;
})
version:0.0.2
功能介绍:
- 基本请求、响应拦截器
- 可以分模块管理API(类似vuex中的module)
- 支持.then 和 async await两种请求方式
- 支持post、put方法携带queryString
支持的场景:
- 普通异步get、post、put、delete请求(所有方法书写一致)
login(){
let params = {};
params.username = '111';
params.password = '222';
this.$http.user.login(params).then(res=>{
console.log(res);
})
}
- 异步->同步请求
async logout(){
let res = await this.$http.user.logout();
console.log(res);
}
- post请求携带body参数和queryString参数
login(){
let params = {};
params.username = '111';
params.password = '222';
let query = {};
qeury.id = '111';
this.$http.user.login(params,query).then(res=>{
console.log(res);
})
//url: http://127.0.0.1:3000/user/login?id=111 method:post
}
可传参使用同一URL配置(/who/article ===> /you/article || /my/aritcle)
可支持动态路由(/aritcle/:id ===> /article/123 || /article/456)
4和5 功能基本一致 只是场景不同,需要在API_LIST中定义好可配置项configurable
login(){
let params = {};
params.username = '111';
params.password = '222';
const id = 'aaa';
this.$http.user.deleteUser(id,params,query).then(res=>{
console.log(res);
})
//url: http://127.0.0.1:3000/user/deleteUser/aaa method:delete
}