Weapp(微信小程序) غلاف واجهة برمجة التطبيقات الرسمي، يهدف إلى الكشف عن واجهة برمجة تطبيقات برمجة عصرية وودية وطلاقة.
واجهة برمجة التطبيقات غير المتزامنة الموعودة
اختصارات لواجهة برمجة تطبيقات wx.request
تحسينات واجهات برمجة التطبيقات الرسمية
عميل http RESTful
# 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
نظام وحدة UMD، ويمكنك تحميله بتنسيق Commonjs أو AMD.
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 )
يلتف تقريبًا حول جميع واجهات برمجة التطبيقات الرسمية، راجع الأساليب الملتفة
قم بإنشاء اختصارات طلب http وفقًا للأفعال المعلنة لبرنامج wechat المصغر (RFC 2616). على وجه الخصوص، قد يكون فعل PATCH
مفيدًا لـ RESTful-ist الصارم، ولذلك فقد تم تعريفه أيضًا.
weapp.request
فهو يحل الاستجابة التي تأخذ رمز الحالة في نطاق [200، 300)، وترفض الاستجابة التي تقع خارج النطاق.
الاستجابة التي تم حلها والسبب/الخطأ المرفوض هي كائن الاستجابة من 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 ] )
وسيطة init
الاختيارية هي دالة ذات وسيطات صفرية لاستكمال معلمات الطلب، وتتوقع إرجاع قيمة كائن بموجب العقد. يمكنك تجاوز أي معلمات طلب بواسطة الكائن الذي تم إرجاعه باستثناء url
method
.
// logic of init function
const config = { ... }
return { ... config , ... init ( ) , url , method }
weapp.requireAuth
(موقوف)مخفض
فيما يلي برنامج وسيط سريع لسيناريو تسجيل الدخول إلى weapp والذي يهدف إلى تسهيل دمج تسجيل الدخول إلى weapp ومنطق getUserInfo. مصادقة صريحة weapp
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 : { } } )
تغيير السجل