Weapp (微信小程序) offizieller API-Wrapper, der dazu dient, moderne, benutzerfreundliche und flüssige Programmier-APIs bereitzustellen.
Versprochene asynchrone API
Verknüpfungen für wx.request
-API
Verbesserungen der offiziellen APIs
RESTful http-Client
# via Github
npm i xixilive/weapp-next --save-dev
# via npm
npm i weapp-next --save-dev
const weapp = require ( 'weapp-next' ) ( wx )
const client = weapp . Http ( 'https://api.server.com/' )
//async/await
async function postLogin ( ) {
const { code } = await weapp . login ( )
const { errMsg , ... userInfo } = await weapp . getUserInfo ( { withCredentials : true } )
return await client . post ( '/login' , { data : { ... userInfo , code } } )
}
//promise
function postLogin ( ) {
const getUserInfo = code => opts => {
return weapp . getUserInfo ( opts ) . then ( ( { errMsg , ... userInfo } ) => ( { userInfo , code } )
}
const postRequest = data => client . post ( '/login' , { data } )
return weapp . login ( ) . then ( getUserInfo ) . then ( postRequest )
}
weapp-next
verwendet das UMD-Modulsystem. Sie können es im Commonjs- oder AMD-Format laden.
import weapp from 'weapp-next'
// get wrapped wx Object
const { request , Http } = weapp ( wx )
// use request API
request ( { url : 'https://test.com' , method : 'GET' } ) . then ( response => console . log )
// use shortcuts of request API, such as get, post, put, etc.
request . get ( 'https://test.com' ) . then ( response => console . log )
// use Http client
const http = Http ( 'https://server.com/api' )
http . get ( '/path' ) . then ( response => console . log )
// or
const weapp = require ( 'weapp-next' ) ( wx )
Umschließt fast alle offiziellen APIs, siehe Umschlossene Methoden
Erstellen Sie HTTP-Anfrageverknüpfungen gemäß den im Wechat-Miniprogramm deklarierten Verben (RFC 2616). Insbesondere kann das PATCH
Verb für strikte RESTful-Ist nützlich sein und wurde daher auch definiert.
weapp.request
Es löst eine Antwort auf, die einen Statuscode im Bereich von [200, 300) annimmt, und lehnt eine Antwort ab, die außerhalb des Bereichs liegt.
Die aufgelöste Antwort und der abgelehnte Grund/Fehler sind das Antwortobjekt aus der nativen wx.request
.
import weapp from 'weapp-next'
const { request } = weapp ( wx )
request ( { url , method : 'GET' } )
. then ( response => {
// response is the response object from wx.request
} )
. catch ( error => {
// error is the response object from wx.request
} )
request . get ( url : String [ , init : Function ] )
request . post ( url : String , body : String / Object , [ , init : Function ] )
request . put ( url : String , body : String / Object , [ , init : Function ] )
request . patch ( url : String , body : String / Object , [ , init : Function ] )
request . delete ( url : String [ , init : Function ] )
request . head ( url : String [ , init : Function ] )
request . options ( url : String [ , init : Function ] )
request . trace ( url : String [ , init : Function ] )
request . connect ( url : String [ , init : Function ] )
Das optionale init
-Argument ist eine Funktion ohne Argumente zum Interpolieren von Anforderungsparametern und erwartet die Rückgabe eines Objektwerts gemäß Vertrag. Sie können alle Anforderungsparameter des zurückgegebenen Objekts außer der url
und method
überschreiben.
// logic of init function
const config = { ... }
return { ... config , ... init ( ) , url , method }
weapp.requireAuth
(DPRECIATED)ABGESCHÄTZT
Hier ist eine Express-Middleware für das Weapp-Anmeldeszenario, die die Integration der Weapp-Anmeldung und der getUserInfo-Logik vereinfachen soll. express-weapp-auth
import weapp from 'weapp-next'
const http = weapp ( wx ) . Http ( 'https://api.server.com/' )
http . get ( '/status' , { version : '1' } ) // /status?version=1
http . post ( '/status' , { data : { } } )
Änderungsprotokoll