Uma biblioteca de componentes de solicitação de rede baseada na extensão wx.request fornecida para o miniaplicativo WeChat.
npm install weapp.request -S
const request = require ( 'weapp.request' )
Envie uma solicitação GET
request ( 'https://api.github.com' ) . then ( onFulfilled ) . catch ( onRejected )
Como todas as chamadas request
retornarão um Promise
, você poderá usá then
para processar ainda mais os resultados da solicitação e usar catch
para capturar erros gerados internamente.
Envie uma solicitação GET e grave no cache
request ( 'https://api.github.com' , { } , {
cache : true
} )
Envie uma solicitação POST
request . post ( 'https://api.github.com' , {
user : 'afishhhhh'
} )
Exceto para solicitações GET, todos os outros métodos devem ser chamados na forma request.method
.
De acordo com a documentação oficial do WeChat, o método POST acima e o Content-Type
padrão são application/json
, e os dados serão serializados em JSON.
Se precisar enviar dados ao servidor na forma de string de consulta, você pode usar o seguinte método de chamada. Você não precisa escrever Content-Type
como application/x-www-form-urlencoded
explicitamente:
request . post ( 'https://api.github.com' , {
form : {
user : 'afishhhhh'
}
} )
Configuração global
Opções de configuração | tipo | ilustrar | Obrigatório | valor padrão |
---|---|---|---|---|
baseUrl | String/Undefined | Caminho básico da solicitação | não | |
cacheMaxAge | Number/Undefined | Período de validade do cache, unidade de tempo é segundos | não | 1800 |
código de status válido | Function/Undefined | intervalo legal do código de status, esta função aceita um parâmetro e retorna um Boolean | não | code => code >= 200 && code < 300 |
request . config ( {
baseUrl : 'https://api.github.com'
} )
Interceptador de solicitação/resposta
// 添加请求拦截器
request.interceptors.req.use(function (request) {
request.header['X-Tag'] = 'weapp.request'
// return request 可以显式地返回一个 request,如果没有 return,则默认返回当前 request
})
O mesmo vale para interceptadores de resposta.
// 移除请求拦截器
request.interceptors.req.remove()
request(url, params, options)
Faça uma solicitação GET.
params
: parâmetros de solicitação, o tipo é Object
, opcional.
options
: item de configuração, o tipo é Object
, opcional, pode ter os seguintes valores de atributos:
propriedade | tipo | Obrigatório | valor padrão | ilustrar |
---|---|---|---|---|
esconderijo | Boolean/Undefined | não | undefined | undefined significa obter os dados mais recentes do servidor e não gravá-los no cache. true significa obter os dados do cache primeiro. Se os dados não existirem no cache ou o cache tiver expirado, os dados serão obtidos. o servidor e gravado no cache false significa obter os dados do servidor primeiro. |
cabeçalho | Igual ao documento oficial do WeChat | |||
tipo de dados | Igual ao documento oficial do WeChat | |||
tipo de resposta | Igual ao documento oficial do WeChat |
request.method(url, params, options)
method
pode ser get
, post
etc.
request.config(options)
options
: itens de configuração, o tipo é Object
.
Este código é distribuído sob os termos e condições da licença do MIT.