1.1.1 • Published 5 years ago
miniprogram-wxios v1.1.1
wxios 接口请求
针对 wx.request 接口进行二次封装。
- 使用
promise
调用风格 - 加入 拦截器功能
API
wxios(config)
wxios({ url: 'http://localhost/api', method: 'post', data: { test: '1' } }).then(function (response) { console.log(response); });
wxios(url[, config])
wxios( 'http://localhost/api', { method: 'post', data: { test: '1' } } ).then(function (response) { console.log(response); });
请求 别名
wxios.request(config)
wxios.get(url, data[, config])
wxios.post(url, data[, config])
wxios.delete(url, data[, config])
wxios.head(url, data[, config])
wxios.put(url, data[, config])
wxios.all(promises)
var p1 = Promise.resolve(); var p2 = Promise.resolve(); wxios.all([p1, p2]) .then(function(resList){ console.log(resList); });
wxios.create([defaultConfig])
通过
wxios.create([defaultConfig])
创建一个全新的 wxios实例。var instance = wxios.create({ baseURL: 'http://localhost' });
新实例拥有 wxios下挂载的所有request方法。
请求拦截器
request拦截器 :
wxios.interceptors.request
// 添加一个拦截器 // 同时返回一个 拦截器标识 var interceptorId = wxios.interceptors.request.use(function(config) { // do something... // TODO: // 每个拦截器都必须返回 config return config; }); // 删除一个拦截器 wxios.interceptors.request.eject(interceptorId);
response拦截器 :
wxios.interceptors.response
// 添加一个拦截器 // 同时返回一个 拦截器标识 var interceptorId = wxios.interceptors.response.use(function(response) { // do something... // TODO: // 每个拦截器都必须返回 response return response; }); // 删除一个拦截器 wxios.interceptors.response.eject(interceptorId);
Default Config
{ // 公共接口前缀 baseURL: '', // 公共 headers 配置 headers: {}, // 接口超时时间, 单位 ms, 默认为 0,不做超时处理 timeout: 0 }
wxios.defaults.baseURL = 'http://localhost'; wxios.defaults.headers.common['content-type'] = 'application/json'; wxios.default.headers.post['content-type'] = 'application/json';
取消请求
wxios.CancelToken
var cancelToken = wxios.CancelToken.source(); wxios.post('/test', {}, { cancelToken: cancelToken.token }); // cancel cancelToken.cancel(errorMessage);