微信小程序网络组件 weapp.request
地址:https://github.com/afishhhhh/weapp.request
weapp.request 是基于 wx.request 进行扩展的一个网络组件,相较于 wx.request 有更简单的调用方式。
此组件目前主要提供两个功能,分别的 Promise 以及缓存控制,使用 Promise 之后能让原先 wx.request 的调用变得更加简洁,避免了回调函数,对于服务器返回的数据可以根据项目需要在本地进行缓存。
欢迎各位 JS 大佬提出改进意见。
Features
- Promise API
- 缓存控制
Install
推荐使用 npm 安装
npm install weapp.request -S
Quick Start
引入 weapp.request
const request = require('weapp.request')- 发送一个 GET 请求 - request('https://api.github.com').then(onFulfilled).catch(onRejected)- 因为所有的 - request调用都会返回一个- Promise,所以可以使用- then对请求结果进行进一步处理,用- catch来捕获内部抛出的错误。
- 发送一个 GET 请求,并写入缓存 - request('https://api.github.com', {}, { cache: true })
- 发送一个 POST 请求 - request.post('https://api.github.com', { user: 'afishhhhh' })- 除了 GET 请求以外,所有其他的 method 都要以 - request.method的形式进行调用。- 根据微信官方文档的说明,以上 POST 方法且 - Content-Type默认为- application/json,会对数据进行 JSON 序列化。- 如果需要以 query string 的形式将数据发送给服务器,可以采取以下调用方法,不需要显示的将 - Content-Type写为- application/x-www-form-urlencoded:- request.post('https://api.github.com', { form: { user: 'afishhhhh' } })
- 全局配置 - 配置选项 - 类型 - 说明 - 必填 - 默认值 - baseUrl - String/Undefined- 基础请求路径 - 否 - cacheMaxAge - Number/Undefined- 缓存有效期,时间单位为秒 - 否 - 1800 - validStatusCode - Function/Undefined- status code 合法区间,该函数接受一个参数,并返回一个 - Boolean- 否 - code => code >= 200 && code < 300- request.config({ baseUrl: 'https://api.github.com' })
APIs
request(url, params, options)
发起一个 GET 请求。
params:请求参数,类型为 Object,非必填。
options:配置项,类型为 Object,非必填,可以有以下属性值:
| 属性 | 类型 | 必填 | 默认值 | 说明 | 
|---|---|---|---|---|
| cache | Boolean/Undefined | 否 | undefined | undefined表示从服务器获取最新数据,不写入缓存;true表示优先从缓存中获取数据,如果缓存中不存在该数据或者缓存已失效,则从服务器获取数据,并写入缓存;false表示优先从服务器获取数据,并将数据写入缓存 | 
| header | 同微信官方文档 | |||
| dataType | 同微信官方文档 | |||
| responseType | 同微信官方文档 | 
request.method(url, params, options)
method 可以是 get,post 等等。
request.config(options)
options:配置项,类型为 Object。
