miniprogram network
1.0.0
ミニ プログラム ネットワーク ライブラリ。完全な
代码自动完成
と类型检查
提供し、Promise
のサポート、自動重试
、缓存
、取消
、自定义超时
、自动暂停恢复
、グローバル拦截
、事件监听
などをサポートします。
Promise
、retry
、Cache
、CancelToken
、timeout
、ensureOnline
、グローバルinterceptors
、event listeners
などを使用して、完全なIntelliSense
とType Checking
を含む Wechat MiniProgram のネットワーク API を再定義します。
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-network の完全なドキュメントを参照してください。
完全な型定義が含まれており、エディター (VScode) などと組み合わせることで、完全なコード プロンプトと自動補完機能を提供できます。
TypeScript の汎用サポートを提供し、完全な静的型チェックを実行できます。
パッケージの依存関係が多すぎることが心配な場合は、miniprogram-build を使用して小さなプログラムをパッケージ化し、単一のファイルにロールアップできます。
ヒント: miniprogram-network
>= 5.0.0 以降、最下層はデフォルトでキューのカプセル化にminiprogram-queue
直接使用しなくなりました。必要に応じて、自分で参照するか、v4.x を直接使用できます。
- wx.request は、基本ライブラリ 1.4.0 (2017.07) アプレット以降キューをサポートしています
- wx.downloadFile は、ベース ライブラリ 1.4.0 (2017.07) アプレット以降キューをサポートしています
- wx.uploadFile は、ベース ライブラリ 2.4.1 (2018.11) アプレット以降キューをサポートしています
miniprogram-request
からのRequest
miniprogram-uploader
からUpload
miniprogram-downloader
からDownload
abort
)