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