مكتبة شبكة صغيرة للبرامج، توفر
代码自动完成
类型检查
، ودعمPromise
،重试
التلقائية،缓存
المؤقت،取消
،自定义超时
،自动暂停恢复
،拦截
العالمي،事件监听
، وما إلى ذلك...أعد تعريف واجهة برمجة تطبيقات الشبكة الخاصة بـ Wechat MiniProgram، بما في ذلك
IntelliSense
الكاملType Checking
، معPromise
،retry
،Cache
،CancelToken
،timeout
،ensureOnline
،interceptors
العالمية،event listeners
والمزيد.
onHeadersReceived
) و(حدث onProgressUpdate
) transformSend
/ transformRresponse
اعتراض البيانات المخصصة onSend
و onResponse
و onRejected
و onAbort
و onComplete
npm i miniprogram-network
متوافق مع es5
const Network = require ( 'miniprogram-network' ) ;
// 也可使用 es6 import 写法
// setConfig设置所有网络请求的全局默认配置,一次定义,所有文件中使用均生效
Network . setConfig ( 'baseURL' , 'https://miniprogram-network.newfuture.cc/' )
// 也可Network.REQUEST.Defaults,Network.DOWNLOAD.Defaults,Network.UPLOAD.Defaults 分别设置不同默认配置
Network . REQUEST . Defaults . transformResponse = Network . transformRequestResponseOkData
Network . get ( 'index.html' )
. then ( res => console . log ( res ) )
. finally ( ( ) => { console . info ( 'done' ) } ) //支持 finally操作
Network . patch ( 'items/{id}' , { dataKey : 'dataValue' } , {
params : { id : 123456 } , // 绑定模板参数
retry : 3 , // 重试3次
} ) . then ( ( item ) => console . log ( item ) )
Network . download ( 'network/' , 'lcoalpath' , {
onProgressUpdate : progressUpdateCallBack , //进度回调
transformResponse : Network . transformDownloadResponseOkData , //状态码2xx成功,返回本地路径
} ) . then ( path => console . log ( path ) )
. catch ( console . error )
جاهز للاستخدام، لا يلزم تكوين إضافي أو إعلان عن النوع
import { setConfig , REQUEST , download , transformRequestResponseOkData , transformDownloadResponseOkData , delayRetry } from 'miniprogram-network' ;
// setConfig设置所有网络请求的全局默认配置,一次定义,所有文件中使用均生效
setConfig ( 'baseURL' , 'https://miniprogram-network.newfuture.cc/' ) ;
// 也可通过 REQUEST.Defaults,DOWNLOAD.Defaults,UPLOAD.Defaults 分别设置不同默认配置
REQUEST . Defaults . transformResponse = transformRequestResponseOkData ;
// 请求发送失败时, 间隔1s再次重试,最多重试2次
REQUEST . Defaults . retry = delayRetry ( 1000 , 2 ) ;
REQUEST . get ( 'index.html' )
. then ( res => console . log ( res ) )
. finally ( ( ) => { console . info ( 'done' ) } ) ; //支持 finally操作
REQUEST . patch < Item > ( 'items/{id}' , { dataKey : 'dataValue' } , {
params : { id : 123456 } , // 绑定参数
retry : 3 , // 重试3次
} ) . then ( ( item : Item ) => console . log ( item ) ) ;
download < string > ( 'network/' , 'lcoalpath' , {
onProgressUpdate : ( res ) => console . log ( res ) , //进度回调
transformResponse : transformDownloadResponseOkData , //状态码2xx成功,返回本地路径
} ) . then ( ( path : string ) => console . log ( path ) )
. catch ( console . error ) ;
تقوم miniprogram-network
بتغليف عمليات الشبكة بشكل موحد للحصول على تفاصيل العمليات والاستخدام، يرجى الاطلاع على الوثيقة الكاملة لشبكة miniprogram.
يحتوي على تعريفات كاملة للنوع، بالإضافة إلى المحرر (VScode)، وما إلى ذلك، ويمكنه توفير مطالبات التعليمات البرمجية الكاملة ووظائف الإكمال التلقائي.
يوفر دعمًا عامًا لـ TypeScript ويمكنه إجراء فحص كامل للنوع الثابت.
إذا كنت قلقًا بشأن عدد كبير جدًا من تبعيات الحزمة، فيمكنك استخدام miniprogram-build لحزم البرنامج الصغير وتجميعه في ملف واحد.
نصائح: نظرًا لأن miniprogram-network
>= 5.0.0، لم تعد الطبقة السفلية تستخدم miniprogram-queue
بشكل افتراضي لتغليف قائمة الانتظار، إذا لزم الأمر، يمكنك الرجوع إليها بنفسك، أو استخدام الإصدار 4.x مباشرة.
- يدعم wx.request قوائم الانتظار منذ تطبيق المكتبة الأساسية 1.4.0 (2017.07)
- يدعم wx.downloadFile قوائم الانتظار منذ تطبيق المكتبة الأساسية 1.4.0 (2017.07)
- يدعم wx.uploadFile قوائم الانتظار منذ تطبيق المكتبة الأساسية 2.4.1 (2018.11)
Request
من miniprogram-request
Upload
من miniprogram-uploader
Download
من miniprogram-downloader
abort
)