Une bibliothèque de composants de requête réseau basée sur l'extension wx.request fournie pour l'applet WeChat.
npm install weapp.request -S
const request = require ( 'weapp.request' )
Envoyer une requête GET
request ( 'https://api.github.com' ) . then ( onFulfilled ) . catch ( onRejected )
Étant donné que tous les appels request
renverront une Promise
, vous pouvez then
utiliser pour traiter davantage les résultats de la requête et utiliser catch
pour capturer les erreurs générées en interne.
Envoyer une requête GET et écrire dans le cache
request ( 'https://api.github.com' , { } , {
cache : true
} )
Envoyer une requête POST
request . post ( 'https://api.github.com' , {
user : 'afishhhhh'
} )
À l'exception des requêtes GET, toutes les autres méthodes doivent être appelées sous la forme request.method
.
Selon la documentation officielle de WeChat, la méthode POST ci-dessus et le Content-Type
par défaut sont application/json
, et les données seront sérialisées JSON.
Si vous devez envoyer des données au serveur sous forme de chaîne de requête, vous pouvez utiliser la méthode d'appel suivante. Vous n'avez pas besoin d'écrire explicitement Content-Type
en tant que application/x-www-form-urlencoded
:
request . post ( 'https://api.github.com' , {
form : {
user : 'afishhhhh'
}
} )
Configuration globale
Options de configuration | taper | illustrer | Requis | valeur par défaut |
---|---|---|---|---|
URL de base | String/Undefined | Chemin de requête de base | Non | |
cacheMaxAge | Number/Undefined | Période de validité du cache, l'unité de temps est en secondes | Non | 1800 |
validStatusCode | Function/Undefined | plage légale du code d'état, cette fonction accepte un paramètre et renvoie un Boolean | Non | code => code >= 200 && code < 300 |
request . config ( {
baseUrl : 'https://api.github.com'
} )
Intercepteur de requête/réponse
// 添加请求拦截器
request.interceptors.req.use(function (request) {
request.header['X-Tag'] = 'weapp.request'
// return request 可以显式地返回一个 request,如果没有 return,则默认返回当前 request
})
Il en va de même pour les intercepteurs de réponse.
// 移除请求拦截器
request.interceptors.req.remove()
request(url, params, options)
Faites une requête GET.
params
: paramètres de demande, le type est Object
, facultatif.
options
: élément de configuration, le type est Object
, facultatif, peut avoir les valeurs d'attribut suivantes :
propriété | taper | Requis | valeur par défaut | illustrer |
---|---|---|---|---|
cache | Boolean/Undefined | Non | undefined | undefined signifie obtenir les dernières données du serveur et ne pas les écrire dans le cache ; true signifie obtenir les données du cache en premier. Si les données n'existent pas dans le cache ou si le cache a expiré, les données seront obtenues à partir de. le serveur et écrit dans le cache ; false signifie d'abord obtenir les données du serveur et écrire les données dans le cache. |
en-tête | Identique au document officiel de WeChat | |||
Type de données | Identique au document officiel de WeChat | |||
Type de réponse | Identique au document officiel de WeChat |
request.method(url, params, options)
method
peut être get
, post
etc.
request.config(options)
options
: éléments de configuration, le type est Object
.
Ce code est distribué selon les termes et conditions de la licence MIT.