寫了一個簡單的微信小程序網絡請求組件

地址:github.com/afishhhhh/w…javascript

weapp.request 是基於 wx.request 進行擴展的一個網絡組件,相較於 wx.request 有更簡單的調用方式。html

目前組件主要提供兩個功能,分別的 Promise 以及緩存控制,使用 Promise 以後能讓原先 wx.request 的調用變得更加簡潔,避免了回調函數,對於服務器返回的數據能夠根據項目須要在本地進行緩存。java

後續會繼續作更新,歡迎各位 JS 大佬提出改進意見。git

Features

  1. Promise API
  2. 緩存控制

Install

推薦使用 npm 安裝
npm install weapp.request -S
複製代碼

Quick Start

引入 weapp.request
const request = require('weapp.request')
複製代碼
  1. 發送一個 GET 請求github

    request('https://api.github.com').then(onFulfilled).catch(onRejected)
    複製代碼

    由於全部的 request 調用都會返回一個 Promise,因此能夠使用 then 對請求結果進行進一步處理,用 catch 來捕獲內部拋出的錯誤。npm

  2. 發送一個 GET 請求,並寫入緩存json

    request('https://api.github.com', {}, {
      cache: true
    })
    複製代碼
  3. 發送一個 POST 請求api

    request.post('https://api.github.com', {
      user: 'afishhhhh'
    })
    複製代碼

    除了 GET 請求之外,全部其餘的 method 都要以 request.method 的形式進行調用。緩存

    根據微信官方文檔的說明,以上 POST 方法且 Content-Type 默認爲 application/json,會對數據進行 JSON 序列化。bash

    若是須要以 query string 的形式將數據發送給服務器,能夠採起如下調用方法,不須要顯示的將 Content-Type 寫爲 application/x-www-form-urlencoded

    request.post('https://api.github.com', {
      form: {
        user: 'afishhhhh'
      }
    })
    複製代碼
  4. 全局配置

    配置選項 類型 說明 必填 默認值
    baseUrl String/Undefined 基礎請求路徑
    cacheMaxAge Number/Undefined 緩存有效期,時間單位爲秒 1800
    validStatusCode Function/Undefined status code 合法區間,該函數接受一個參數,並返回一個 Boolean code => code >= 200 && code < 300
    request.config({
      baseUrl: 'https://api.github.com'
    })
    複製代碼

APIs

request(url, params, options)

發起一個 GET 請求。

params:請求參數,類型爲 Object,非必填。

options:配置項,類型爲 Object,非必填,能夠有如下屬性值:

屬性 類型 必填 默認值 說明
cache Boolean/Undefined undefined undefined 表示從服務器獲取最新數據,不寫入緩存;true 表示優先從緩存中獲取數據,若是緩存中不存在該數據或者緩存已失效,則從服務器獲取數據,並寫入緩存;false 表示優先從服務器獲取數據,並將數據寫入緩存
header 同微信官方文檔
dataType 同微信官方文檔
responseType 同微信官方文檔
request.method(url, params, options)

method 能夠是 getpost 等等。

request.config(options)

options:配置項,類型爲 Object

相關文章
相關標籤/搜索