网络 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() 取消监听收到消息的事件