約束(GET、PUT、POST、DELETE)とアプレットリクエストパッケージライブラリ

1.本のロジックは、私たちが地元にトークンとユーザー情報を格納し、ユーザーのログインが成功しています

 

2.configファイルがbaseUrlに保存されています

1 CONST設定= {
 2  
3          URL: 'HTTPS:XXX / index.phpを'
 4  }
 5  エクスポート{
 6      コンフィグ
 7 }

 

3.ライブラリ要求requset.js、HTTPリクエスト関数は、要求が失敗した拒否、リクエストが成功した解決があるwx.requestインターフェイスをマイクロチャネルを使用して、約束のオブジェクトを返します。 

  1  インポート{
   2      設定
   3 } './config.js'から
   4インポートトースト' ../ui/dist/toast/toast」から
   5  
  。6  // パブリック要求インターフェース方法
  。7  VARのOnOff = trueに
  8 CONST = HTTP(方法、URL、データ)=> {
   9。 
10      // ローディングアニメーション
11。     wx.showLoading({
 12は          タイトル: 'ローディング...' 13は          showCancel:trueに14          マスク:trueに
15      });
 16  
。17      // ユーザ情報オブジェクト
18れている 
19。      LET LOGININFO = wx.getStorageSync( 'login_info')JSON.parse(wx.getStorageSync( 'login_info'? )):{
 20は          トークン:ヌル21は          ID:ヌル
22である     };
 23は     戻り 、新しい新しいプロミス(関数(解決、リジェクト){
 24  
25          wx.request({
 26である              方法:方法、// 要求種別
27              URL:URLのconfig.url +、// 要求アドレス
28              ヘッダ:{ // 要求ヘッダー
29                 'コンテンツタイプ': 'ファイルアプリケーション/ JSON' 30                  'トークン' :loginInfo.token、
 31が                  'ID' :loginInfo.id
 32              }、
 33は              データ:データは、// パラメータ要求
34は、              成功:RES => {
 35                  WX )(.hideLoading; // ローディングアニメーションクローズする要求の完了
36                  // トークンは、(対応する後行ノックダウンに応じてリターン・ステータスコード)を透明なユーザ情報を有効期限が切れる
37                  IF(res.data.error_code == 21000 ){
 38はである                      (にconsole.log "ログインタイムアウト" 39                      IF(!ONOFF)リターン
40                      wx.showModal({
 41は                          タイトル: 'プロンプト' 42は                          コンテンツ: 'ログインの期限が切れている' 43は                          confirmText: "再度ログイン" 44は                          showCancel:falseに45                          の成功(RES){
 46である                           IF (res.confirm){
 47                              wx.removeStorageSync( "login_info" );
 48                              wx.setStorageSync( 'isLogin'、falseに);
 49                             wx.reLaunch({URL: "/ページ/ログイン/ページ/ガイド/ガイド" })。
50                              // ONOFF ONOFF =!。
51                            } 
 52                          }
 53                        })
 54               
55                      リターン
56                  }
 57                  であれば(res.statusCode == 200 ){
 58                      ONOFF = 59                      解決(res.data)。// 成功回调
60                  } {
 61                     console.log(res.data、666 62がされて                     wx.showToast({
 63です                          :res.data.msg || 'ネットワークエラー!'のタイトル64                          アイコン: 'なし' 65                          :DURATION 2000
 66                        })
 67                  }
 68              } 、
 69は              失敗:ERR => {
 70                  にconsole.log(ERR、 "要求が失敗した" 71のISは                  (ERR)を拒否; // 失敗コールバック
72                  wx.hideLoading(); //请求完成关闭加载动画
73       
83              }、
 84              完全:インフォメーション=> {
 85  
86                  
87              }
 88          })
 89      })
 90  }
 91  
92 CONST取得=(URL、データ)=> HTTP( 'GET' 、URL、データ)
 93ポスト=(URL、データ)=> HTTP( 'POST'のconst 、URL、データ)
 94のconst PUT =(URL、データ)=> HTTP( 'PUT' 、URL、データ)
 95のconst DELETE =(URL、データ)=> HTTP( '削除' 、URL、データ)
 96  輸出{
 97      取得、
 98      ポスト、
99      DELETE、
 100      PUT
 101 }

4.apiファイル

1  インポート{
 2      取得、
 3      後、
 4      PUT
 。5 }「../utils/request.js'から
 6つの // アカウントのログインインターフェース
7エクスポート関数loginHandle(paramsは){
 8      リターン・ポスト( '/ API / V1 /ログイン' 、paramsは)
 。9 }

ページの呼び出し

インポート{
loginHandle
 }「../utils/request.js'から

loginHandle()。次に、(RES => { 

  にconsole.log(RES、 "要求であった成功した戻り値")
})


 

おすすめ

転載: www.cnblogs.com/l-y-c/p/12667071.html