摘要:地址是基于進(jìn)行擴展的一個網(wǎng)絡(luò)組件,相較于有更簡單的調(diào)用方式。根據(jù)微信官方文檔的說明,以上方法且默認(rèn)為,會對數(shù)據(jù)進(jìn)行序列化。
地址:https://github.com/afishhhhh/weapp.request
weapp.request 是基于 wx.request 進(jìn)行擴展的一個網(wǎng)絡(luò)組件,相較于 wx.request 有更簡單的調(diào)用方式。
此組件目前主要提供兩個功能,分別的 Promise 以及緩存控制,使用 Promise 之后能讓原先 wx.request 的調(diào)用變得更加簡潔,避免了回調(diào)函數(shù),對于服務(wù)器返回的數(shù)據(jù)可以根據(jù)項目需要在本地進(jìn)行緩存。
歡迎各位 JS 大佬提出改進(jìn)意見。
FeaturesPromise API
緩存控制
Installnpm install weapp.request -SQuick Start
const request = require("weapp.request")
發(fā)送一個 GET 請求
request("https://api.github.com").then(onFulfilled).catch(onRejected)
因為所有的 request 調(diào)用都會返回一個 Promise,所以可以使用 then 對請求結(jié)果進(jìn)行進(jìn)一步處理,用 catch 來捕獲內(nèi)部拋出的錯誤。
發(fā)送一個 GET 請求,并寫入緩存
request("https://api.github.com", {}, { cache: true })
發(fā)送一個 POST 請求
request.post("https://api.github.com", { user: "afishhhhh" })
除了 GET 請求以外,所有其他的 method 都要以 request.method 的形式進(jìn)行調(diào)用。
根據(jù)微信官方文檔的說明,以上 POST 方法且 Content-Type 默認(rèn)為 application/json,會對數(shù)據(jù)進(jìn)行 JSON 序列化。
如果需要以 query string 的形式將數(shù)據(jù)發(fā)送給服務(wù)器,可以采取以下調(diào)用方法,不需要顯示的將 Content-Type 寫為 application/x-www-form-urlencoded:
request.post("https://api.github.com", { form: { user: "afishhhhh" } })
全局配置
配置選項 | 類型 | 說明 | 必填 | 默認(rèn)值 |
---|---|---|---|---|
baseUrl | String/Undefined | 基礎(chǔ)請求路徑 | 否 | |
cacheMaxAge | Number/Undefined | 緩存有效期,時間單位為秒 | 否 | 1800 |
validStatusCode | Function/Undefined | status code 合法區(qū)間,該函數(shù)接受一個參數(shù),并返回一個 Boolean | 否 | code => code >= 200 && code < 300 |
request.config({ baseUrl: "https://api.github.com" })APIs
發(fā)起一個 GET 請求。
params:請求參數(shù),類型為 Object,非必填。
options:配置項,類型為 Object,非必填,可以有以下屬性值:
屬性 | 類型 | 必填 | 默認(rèn)值 | 說明 |
---|---|---|---|---|
cache | Boolean/Undefined | 否 | undefined | undefined 表示從服務(wù)器獲取最新數(shù)據(jù),不寫入緩存;true 表示優(yōu)先從緩存中獲取數(shù)據(jù),如果緩存中不存在該數(shù)據(jù)或者緩存已失效,則從服務(wù)器獲取數(shù)據(jù),并寫入緩存;false 表示優(yōu)先從服務(wù)器獲取數(shù)據(jù),并將數(shù)據(jù)寫入緩存 |
header | 同微信官方文檔 | |||
dataType | 同微信官方文檔 | |||
responseType | 同微信官方文檔 |
method 可以是 get,post 等等。
options:配置項,類型為 Object。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/102278.html
摘要:得益于運行階段處理邏輯的設(shè)計,支持將使用的應(yīng)用轉(zhuǎn)換成微信小程序。我們也在考察這一新的跨端方案和微信小程序融合轉(zhuǎn)化的可行性。 作者:京東ARES多端技術(shù)團隊 前言 Alita是一套由京東ARES多端技術(shù)團隊打造的React Native代碼轉(zhuǎn)換引擎工具。它對React語法有全新的處理方式,支持在運行時處理React語法,實現(xiàn)了React Native和微信小程序之間的主要組件對齊,可以用...
摘要:關(guān)于微信小程序之前只是聽說,并沒有引起我太大的興趣。剛好團隊內(nèi)部有個需求需要微信小程序。暫時沒有上線經(jīng)歷,沒辦法給出這個時間微信小程序的代碼包大小當(dāng)前限制是。 關(guān)于微信小程序之前只是聽說,并沒有引起我太大的興趣。周一被小程序刷屏,然后就順手搜索了解了一下。發(fā)現(xiàn)小程序已經(jīng)火遍了整個程序員圈子。剛好團隊內(nèi)部有個需求需要微信小程序。就緊急對微信小程序進(jìn)行了調(diào)研,閱讀過開發(fā)者文檔后總結(jié)了以下的...
摘要:微信小程序中的每一個頁面的路徑頁面名都需要寫在的中,且中的第一個頁面是小程序的首頁。真機運行截圖運行于,微信版本功能能夠計算里程時間實時獲取跑步路徑有些粗糙思路主要使用了微信小程序的獲取位置和地圖組件。 首發(fā)地址 一、準(zhǔn)備工作 1、注冊一個小程序賬號,得用一個沒注冊過公眾號的郵箱注冊。2、注冊過程中需要很多認(rèn)證,有很多認(rèn)證,比較繁瑣,如果暫時只是開發(fā)測試,不進(jìn)行提審、發(fā)布的話,只要完成...
閱讀 1345·2021-09-22 15:18
閱讀 2676·2021-09-22 15:17
閱讀 2285·2019-08-30 15:55
閱讀 1625·2019-08-30 15:54
閱讀 1116·2019-08-30 13:12
閱讀 669·2019-08-30 13:12
閱讀 1729·2019-08-29 11:33
閱讀 1488·2019-08-26 17:04