データ・インターフェースを集約して自由に、例えば、Classクラスによって小さなプログラムは、インタフェースの呼び出しのプロジェクトを達成するための方法を継承します

インタフェースを介して小さなマイクロチャンネルプログラムデータソース、。しかし、データを取得する方法を、調整するためにどのようにインタフェース?誰もが、一例として、異なる方法、フリーインターフェースするために、以下の集計データを有しています。

構成インターフェイスのconfig.jsの

要求インタフェースは、パラメータとしてデータキーを集約する必要があります。

CONST設定= { 
    api_base_url: "http://apis.juhe.cn/goodbook" 
    キー: "93bdf89de207034fa6c7544f88b99c76" 
}。

エクスポート{ 
    設定
}

包装wx.requestの方法

ES6は、この方法ではwx.request呼び出し、クラスメソッドは、クラス名としてHTTPを使用して、直接使用することができる新しい要求のクラスの方法があります。

クラスHTTP { 
  
  // 要求
  リクエスト(paramsは){ 
    ことせ = この; 

    もし(!params.method){ 
      params.method = 'GET' ; 
    } 
    wx.request({ 
      URL:config.api_base_url + params.url + + "キー=" config.key、
      データ:params.data、
      方法:params.method、
      ヘッダ:{
         'コンテンツタイプ':「アプリケーション/ JSON」
      }、
      成功:(RES) => { 
        コードせ = )(res.statusCode.toStringと、
          ERROR_CODEせ = res.error_code。

        IF(code.startsWith( "2" )){ 
          wx.showToast({ 
            :res.data.reason、表題
          ;})

          // 返されたコールバック関数により取得された値
          ; params.success(res.data)を
        } さもなければ{
             この._show_message(ERROR_CODE); 
        } 
      }、
      失敗:(ERR) => { 
          にconsole.log( "ERR" + ERR)
      } 
    }); 
  } 

    // エラーメッセージが表示さ
    _show_message(ERROR_CODE){
         IF(!ERROR_CODE)を{ 
            ERROR_CODEの == 1 
        }
        wx.showToast({ 
            タイトル:ヒント[ERROR_CODE]、
            アイコン: 'エラー' 
            時間: 2500 
        })
    } 
} 

エクスポート{ 
    HTTP 
}

このメソッドは、基本的なインターフェイスの設定ファイルを要求し、情報要求の成功または失敗プロンプトがコンフィグに導入する必要があり、インターフェイスのエラーメッセージを定義してエラーに便利です。

アプレットファイル参照パスが正しく指していない経路をもたらす可能性が絶対パスを使用して、相対パスでなければなりません。

インポート「../config」から{設定} ; 

constのヒント = {
     1: 『申し訳ありませんが、間違っている』、// デフォルトのエラー 
    205001: 『ピクチャーカテゴリは空である』 205002:「ブックカテゴリIDを空にすることはできません"  205 003: "私は結果を見つけることができない"  10001: "不正な要求KEY"  10002: "KEY要求なし権"  10003: "KEYが期限切れ"  10004: "間違っているのOpenID"  10005:「アプリケーションではありません監査タイムアウトは、 "証明書を提出してください 10007:"不明な要求元" 10008:" IP禁止" 10009を"禁止KEY " 10011:"現在のIP要求は「限界を超えて10012:「要求は、制約の数超えた」 10013:「TESTキー要求の上限を超えて」10014: "内部システム例外"  10020: "インタフェースメンテナンス"  10021: "インターフェイスが無効" 
}

外部からの要求を使用する方法は、このクラスはインスタンス化する必要があります。

constのHTTP = 新しいクラス(); 
CONST要求 = http.request()。

データトラフィックを処理する別の方法を使用して、モジュール

さまざまなサービス、異なるインターフェース、コール・インタフェースのパラメータと返されたデータは異なっています。このようこの事業をカタログ、などの方法は、あなたが安全性の問題が発生することで、クエリカタログ、カタログの詳細、カタログディレクトリなど、直接ページにインターフェースを呼び出すしないようにしようも同じ要求処理を使用することはできませんが、が含まれている、データを処理する必要があります彼らは、さまざまなビジネスに書かれていました。誰もが異なる言い回しが異なる場合がありますが、実際の操作で、このような考えを持っている必要があります。

直接リクエストメソッドを呼び出すことにより、HTTPクラスの継承は、データを要求します。

たとえば、クエリーカタログ:

ClassCatalogModel延びHTTP {クラス

    getCatalog(sCallback){ 
      この.request({ 
        URL: "/カタログ" 
        成功:(RES) => {
           // コールバック・メソッドによって取得されたデータに対してデータ
          sCallback(RES)
        } 
      })
    } 
} 

{エクスポート
    ClassCatalogModel 
}
sCallback成功の約束後のコールバック・メソッドとして、取得したデータが返されます。すべてのデータのアプレット要求は、主に、非同期リクエストは、コールバックコールバックデータの使用は、より合理的になります。

ページが読み込まれた後、トリガーモジュール方式

データは、通常のonLoadメソッドでロードされ、実行されています。データがにsetDataメソッドを使用する必要が更新され、注意しなければならない、setDataメソッド名にデータオブジェクトを定義することをお勧めします。

{} ClassCatalogModelインポート」../../models/classCatalog.js'から; 
せcatalogModel = 新しい新しいClassCatalogModel(); 
ページ({ 

  / * * 
   *ページ初期データ
   * / 
  データ:{ 
    CatalogData:ヌル
  } 

  / * * 
   *ライフサイクル機能-ページのロードをリッスン
   * / 
  のonLoad:機能(オプション){ 
    catalogModel.getCatalog((RES) => {
         IF(RES =!ヌル || RES = ''!){
             この.setData({ 
                CatalogData :res.result  
            })。
            にconsole.log(この.data.catalogData); 
        } 
    })
  } 
})

 

便利なメソッドのクラスを使用して、各クラスのクラスは、ES5はプロトタイプ継承チェーンを変更することによって達成されるよりも、継承、およびクリアする非常に簡単にすることができます。

 

おすすめ

転載: www.cnblogs.com/baiyygynui/p/11514382.html