網絡 API 相似於 ajax 向服務器請求網絡地址,惟一不一樣的是這個請求有不少的規則,且必須向服務器上請求,不能在本地請求ajax
網絡json
發送請求:數組
wx.request() 發起https網絡請求 參數:對象緩存
對象的屬性:服務器
url:類型 字符串 開發者服務器的接口地址(且擁有諸多的限制,必須是https的網絡請求)網絡
如圖:tcp
若是咱們沒有合法的域名,也能進行測試:函數
咱們須要對調試基礎庫的選項進行打勾就行了post
data:類型 字符串/對象/數組/緩存 請求的參數測試
header:類型 對象 請求設置的 header (獲得數據的返回值,默認是 json 格式,咱們都知道在服務器請求到的數據都是字符串)
method:類型 字符串 請求的方式:
屬性值:options / get / head / post / put / delete / tract / connect 這是請求的方式
dataType:類型 字符串 返回的數據格式
屬性值:json 會對返回的數據爲 json,若是不是,會對返回的數據進行一次 JSON.parse()
其餘 不對返回的內容進行JSON.parse()
responseType:類型 字符串 響應的數據類型
屬性值:text 響應的數據爲 文本
arraybuffer 響應的數據爲 ArrayBuffer
success:類型 函數 接口返回成功的回調函數 對象對象上擁有3個屬性
屬性值:
data:類型 字符串/對象/數組/緩存 開發者服務器返回的數據
statusCode:類型 數字 開發者服務器返回的 http 碼
header:類型 對象 開發者服務器返回的 HTTP Response Header
RequestTask 網絡請求的任務對象(擁有屬性和方法)
RequestTask.abort() 中斷請求的任務 直接執行
RequestTask.onHeadersReceived() 監聽 HTTP Response Header 事件,會比請求完成事件更早 參數:回調函數 (事件對象的 header 屬性)返回值:開發者服務器返回 HTTP Response Header
RequestTask.offHeadersReceived() 取消監聽 HTTP Response Header 事件 參數:回調函數
下載:
wx.downloadFile() 下載文件資源到本地,客戶端直接發起一個 HTTPS GET 請求,返回文件的本地臨時路徑,單次下載容許的最大文件爲 50 MB 參數:對象
注意:請在服務端響應的 header 中指定合理的 Content-Type 字段,以保證客戶端正確處理文件類型
對象的屬性:
url:類型 字符串 下載資源的url
header:類型 object HTTP 請求的 Header,Header 中不能設置 Referer
filePath:類型 字符串 指定文件下載後的儲存路徑
success:類型 函數 接口調用成功後的回調函數
事件對象上的屬性:
tempFilePath:類型 字符串 臨時文件的路徑,沒傳入 filePath 指定文件儲存路徑時會返回,下載後的文件儲存到一個臨時文件
filePath:類型 字符串 用戶文件路徑,傳入 filePath 時會返回,跟傳入的 filePath 一致
statusCode:類型 數字 開發者服務器返回的 HTTP 狀態碼
DownloadTask:一個能夠監聽下載進度變化事件,以及取消下載任務的對象 (擁有屬性和方法)
Download.abort() 中斷下載任務
DownloadTask.onProgressUpdate() 監聽下載進度變化事件 參數:回調函數
事件對象的屬性:
progress:下載進度百分比
res.totalBytesWritten:已經下載的數據長度
res.totalBytesExpectedToWrite:預期須要下載的數據總長度
DownloadTask.offProquressUpdate() 取消監聽下載進度變化事件 直接使用
DownloadTask.onHeadersReceived() 監聽 HTTP Response Header 事件,會比請求完成事件更早 參數:回調函數
DownloadTask.offHeadersReceived() 取消監聽 HTTP Response Header 事件
上傳:
wx.uploadFile() 將本地資源上傳到服務器,客戶端發起一個 HTTPS POST 請求,其中 content-type 爲 multipart/form-data。 參數:對象
對象的屬性:
url:類型 字符串 開發者服務器地址
filePath:類型 字符串 要上傳的文件資源路徑
name:類型 字符串 文件對應的 key ,開發者能夠經過 key 獲取文件的二進制內容
header:類型 對象 HTTP 請求 Header,Header 中不能設置 Referer
formData:類型 對象 HTTP 請求中其餘額外的 form data
success:類型 函數 接口調用成功的回調函數
事件對對象上的屬性
data:類型 字符串 開發者服務器返回的數據
statusCode:類型 數字 開發者服務器返回的 HTTP 狀態碼
uploadTask:一個能夠監聽上傳進度變化事件,以及取消上傳任務的對象(擁有屬性和方法)
uploadTask.abort():中斷上傳任務
UploadTask.onProgressUpdate():監聽上傳進度變化事件
事件對象的屬性
progress:上傳進度百分比
totalBytesSent:已經上傳的數據長度
totalBytesExpectedToSend:預期須要上傳的數據總長度
UploadTask.offProgressUpdate():取消監聽上傳進度變化事件
UploadTask.onHeadersReceived():監聽 HTTP Response Header 事件,會比請求完成事件更早
UploadTask.offHeadersReceived():取消監聽 HTTP Response Header 事件
WebSocket
wx.sendSocketMessage():經過 WebSocket 鏈接發送數據,須要線 wx.connectSocker,並在 wx.onSocketOpen 回調以後才能發送 參數:對象
對象的屬性:
data:類型 字符串/數組/緩存 須要發送的內容
wx.onSocketOpen():監聽 WebSocket 鏈接打開事件 參數:回調函數
事件對象的屬性:
header:類型 對象 鏈接成功的 HTTP 響應 Header
wx.onSocketMessage():監聽 WebSocket 接受到服務器的消息事件 參數:回調函數
事件對象:
data:類型 對象/數組/緩衝 服務器返回的消息
wx.onSocketError():監聽 WebSocket 錯誤事件
wx.connectSocket():建立一個 WebSocket 鏈接 參數:對象
對象的屬性:
url:類型 字符串 (必填) 開發者服務器 wss 接口地址
header:類型 對象 HTTP 請求 Header (注意:這個 Header 中不能設置 Referer)
protocols:類型 數組 子協議數組
tcpNoDelay:類型 布爾 創建 TCP 鏈接的時候 TCP_NODELAY 設置
wx.closeSocket():關閉 WebSocket 鏈接 參數:對象
對象的屬性:
code:類型 數字 一個數字表示關閉鏈接的狀態號,表示被關閉的緣由
reason:類型 字符串 一個可讀的字符串,表示被關閉的緣由
SocketTask:WebSocket 任務,可經過 wx.connectSocket() 接口建立返回的對象(擁有屬性和方法)
SocketTask.send():經過 WebSocket 鏈接發送數據
SocketTask.close():關閉 WebSocket 鏈接
SocketTask.onOpen():監聽 WebSocket 鏈接打開事件
SocketTask.onClose():監聽 WebSocket 鏈接關閉事件
SocketTask.onError():監聽 WebSocket 錯誤事件
SocketTask.onMessage():監聽 WebSocket 接受到服務器的消息事件
mDNS
wx.stopLocalServiceDiscovery() 中止搜索 mDNS 服務 參數:對象
對象的屬性:
success:類型 成功 參數:回調函數
事件對象上的屬性:
errMsg:類型 字符串
屬性值:task not found 在當前沒有處在搜索服務中調用 stopLocalServiceDiscovery
wx.startLocalServiceDiscovery() 開始搜索局域網下的 mDNS 服務,搜索的結果會經過 wx.onLocalService 事件返回 參數:對象
對象的屬性:
serviceType:類型 字符串 要搜索的服務類型
success:事件對象的屬性:
errMsg:類型 字符串 錯誤信息
屬性值:invalid param serviceType 爲空
scan task already exist 當前 startLocalServiceDiscovery() 發起搜索未中止的狀況下,在次調用 startLocalServiceDiscovery()
wx.onLocalServiceResolveFail() 監聽 mDNS 服務解析失敗事件 參數:回調函數
事件對象上的屬性:serviceType:類型 字符串 服務的類型
serviceName:類型 字符串 服務的名字
wx.onLocalServiceLost() 監聽 mDNS 服務離開事件 參數:回調函數
事件對象上的屬性:serviceType:類型 字符串 服務的類型
serviceName:類型 字符串 服務的名字
wx.onLocalServiceFound() 監聽 mDNS 服務發現的事件 參數:回調函數
事件對象上的屬性:serviceType:類型 字符串 服務的類型
serviceName:類型 字符串 服務的名字
ip:類型 字符串 服務器的 ip 地址
port:類型 數字 服務器的端口
wx.onLocalServiceDiscoveryStop() 監聽 mDNS 服務中止搜索的事件 參數:回調函數
wx.offLocalServiceResolveFail() 取消監聽 mDNS 服務解析失敗的事件 參數:回調函數
wx.offLocalServiceLost() 取消監聽 mDNS 服務離開的事件 參數:回調函數
wx.offLocalServiceFound() 取消監聽 mDNS 服務發現的事件 參數:回調函數
wx.offLocalServiceDiscoveryStop() 取消監聽 mDNS 服務中止搜索的事件 參數:回調函數
UDP通訊
wx.createUDPSocket() 建立一個 UDP Socket 實例 返回值:一個UDP Socket 的實例對象
UDPSocket 一個 UDP Socket 的 實例,默認使用 IPv4 協議
實例的方法:
UDPSocker.bind() 綁定一個系統隨機分配的可用端口
UDPSocket.send() 向指定的 IP 和 port 發送消息
UDPSocket.close() 關閉UDP Socket 實例,至關於銷燬。在關閉以後,UDP Socket 實例不能在發送消息,每次調用 UDP Socket.send 將會觸發錯誤事件,而且 message 事件回調函數也不會在執行。在UDP Socket 實例被建立後將被 Native 強引用,保證其不被GC。在UDPSocket.close 後將被解除對其的強引用,讓 UDPSocket 實例聽從 GC。
UDPSocket.onClose() 監聽關閉事件 參數:回調函數
UDPSocket.offClose() 取消監聽關閉事件 參數:回調函數
UDPSocket.onError() 監聽錯誤事件
UDPSocket.offError() 取消監聽錯誤事件
UDPSocket.onListening() 監聽開始監聽數據包消息的事件
UDPSocket.offListening() 取消監聽開始監聽數據包消息的事件
UDPSocket.onMessage() 監聽收到消息的事件
UDPSocket.offMessage() 取消監聽收到消息的事件