yarn add @evolify/wxtools
أو
npm i @evolify/wxtools
قم بتغليف wx.request في نمط Promise. عند استخدامه، ما عليك سوى استخدام طرق get وpost وغيرها. يدعم إضافة اعتراضات، ويمكنه تعيين الرأس والرمز المميز وbaseUrl وما إلى ذلك بشكل منفصل. ما يلي يأخذ طريقة النشر كمثال.
استيراد ملف js:
import { request as req } from '@evolify/wxtools'
تكوين الطلب، يتم تكوينه عادةً في البرنامج الصغير App.js>onLaunch
configReq ( ) {
//配置baseUrl和拦截器,baseUrl例如 /api
req . baseUrl ( config . serverUrl )
. interceptor ( res => {
switch ( res . data . code ) {
case 401 :
wx . showToast ( {
icon : 'loading' ,
title : '重新登录' ,
} )
this . login ( )
return false ;
case 0 :
return true ;
default :
wx . showToast ( {
title : '操作失败' ,
} )
return false ;
}
} )
} ,
قم بتعيين الرمز المميز بعد تسجيل الدخول الناجح
req . token ( token )
تقديم طلب الشبكة
req . post ( '/goods' , data , header )
. then ( res => res . data . data )
. then ( data => {
wx . showToast ( {
title : '创建成功'
} )
} )
العديد من العمليات في wx api غير متزامنة، ونماذج المعلمات متشابهة بشكل أساسي. هنا، يتم تغليف Promise، ويتوافق اسم الطريقة والمعلمات مع واجهة برمجة التطبيقات الرسمية، باستثناء أن عمليات رد الاتصال الناجحة والفشل لا تحتاج إلى تمريرها في المعلمات. . خذ showToast كمثال وقم بإجراء مقارنة بسيطة:
الاستخدام العام:
wx . showToast ( {
title : '成功' ,
icon : 'success' ,
duration : 2000 ,
success : ( ) => {
console . log ( '调用成功' )
} ,
fail : err => {
console . error ( '调用失败' , err )
}
} )
استخدام الوعد:
import { Wx } from '@evolify/wxtools'
Wx . showToast ( {
title : '成功' ,
icon : 'success' ,
duration : 2000 ,
} ) . then ( ( ) => {
console . log ( '调用成功' )
} ) . catch ( err => {
console . error ( '调用失败' , err )
} )
استخدام واجهات برمجة التطبيقات الأخرى هو نفسه بالنسبة للطرق والمعلمات وقيم الإرجاع، يرجى الرجوع إلى الوثائق الرسمية. إذا كانت هناك أخطاء أو عناصر مفقودة، فلا تتردد في إثارة مشكلة.
import { promisify } from '@evolify/wxtools'
function func ( {
param1 ,
param2 ,
success : ( ) => { } ,
fail : ( ) => { }
} ) {
// do something
success ( )
}
const promisifyFunc = params => promisify ( func , params )
// then you can use
promisifyFunc ( data )
. then ( res => {
// on success
} )
. catch ( err => {
// on failed
} )
// instand of
func ( {
... data ,
success : res => {
} ,
fail : res => {
}
} )
في بعض السيناريوهات، نحتاج إلى تحديد تسلسل للمهام المتأخرة، على سبيل المثال، فيما يتعلق بالرسوم المتحركة للواجهة، تدخل بعض العناصر إلى المشهد واحدًا تلو الآخر بفاصل زمني معين مشكلة تدمير الجحيم. الكود قبيح ويصعب صيانته. تم تضمين أداة هنا لحل هذه المشكلات للحصول على مقدمة تفصيلية، يرجى الرجوع إلى المقالة: قائمة انتظار المهام المجدولة في js هي كما يلي:
import { Schedule } from '@evolify/wxtools'
new Schedule ( ) . task ( task1 )
. delay ( 1000 ) . task ( ( ) => this . setData ( { title : 'Shedule' } ) )
. delay ( 500 ) . task ( task3 )