一、WebSocket
参考MDN
创建WebSocket对象
let ws = new WebSocket()
WebSocket.url
类型 String 请求url,必须是wss或ws协议
WebSocket.protocol
类型 String 子协议组
WebSocket.bufferedAmount
类型 Number 未发送至服务器的字节数
WebSocket.extensions
类型 String 服务器选择的扩展
WebSocket.readyState
类型 Number 当前的链接状态0 正在链接中、1 已经链接并且可以通讯、2 连接正在关闭、3 已经关闭
WebSocket.binaryType
类型 String 使用二进制的数据类型连接,值为'blob'或'arraybuffer'
Websocket.send(String message)
使用ws对象发送消息
message
要发送的消息
ws.send("Hello server!");
Websocket.close(code, reason)
关闭连接
属性名 | 类型 | 必须 | 说明 |
code | Number | 否 | 一个数字状态码,它解释了连接关闭的原因。如果没有传这个参数,默认使用1005。CloseEvent的允许的状态码见状态码列表 |
reason | String | 否 | 一个人类可读的字符串,它解释了连接关闭的原因。这个UTF-8编码的字符串不能超过123个字节 |
事件
Websocket.onopen
监听websocket连接打开的状态。给onopen赋予一个函数,在连接打开之后会执行该函数,该函数的第一个参数为连接打开事件
ws.onopen = function(event) {
console.log("WebSocket is open now.");
};
Websocket.onmessage
消息事件的监听,用于接收服务端发来的message,给onmessage赋予一个函数,在服务器返回消息时会执行该函数,该函数的第一个参数为监听器接收到的消息
ws.onmessage = function(event) {
console.debug("WebSocket message received:", event);
};
Websocket.onclose
关闭连接的监听,给onclose赋予一个函数,在连接关闭时会执行该函数,该函数的回调参数属性信息如下
属性 | 类型 | 说明 |
code | Number | 服务器返回关闭的状态码 |
reason | String | 服务器返回的关闭原因 |
wasClean | Boolean | 是否正常关闭 |
ws.onclose = function(event) {
console.log("WebSocket is closed now.");
};
Websocket.onerror
错误事件的监听器,给onclose赋予一个函数,在连接关闭时会执行该函数,该函数的回调参数属性信息如下
ws.onerror = function(event) {
console.error("WebSocket error observed:", event);
};
二、上传
UploadTask qg.uploadFile(Object object)
将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 content-type
为 multipart/form-data
。
参数 Object object
属性 | 类型 | 必填 | 说明 |
url | String | 是 | 开发者服务器地址 |
filePath | String | 是 | 要上传文件资源的路径 |
name | String | 是 | 文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容 |
header | Object | 否 | HTTP 请求 Header,Header 中不能设置 Referer |
formData | Object | 否 | HTTP 请求中其他额外的 form data |
success | Function(Object res) | 否 | 接口调用成功的回调函数 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
- success 回调函数的参数 Object res
属性 | 类型 | 说明 |
data | String | 开发者服务器返回的数据 |
statusCode | Number | 开发者服务器返回的 HTTP 状态码 |
返回值
- UploadTask
一个可以监听上传进度进度变化的事件和取消上传的对象
示例代码
const uploadTask = qg.uploadFile({
url: '',
filePath:'',
name:'test',
success: function (res) {
console.log('success::', res)
},
fail: function (res) {
console.log('fail::', res)
},
complete: function (res) {
console.log('complete::', res)
}
})
uploadTask.onProgressUpdate(function (res) {
console.log('uploadTask::onProgressUpdate', res)
})
UploadTask.onProgressUpdate(Function callback)
监听上传进度变化事件
参数 Function callback
上传进度变化事件的回调函数
- callback回调函数参数 Object res
属性 | 类型 | 说明 |
progress | Number | 上传进度百分比 |
totalBytesSent | Number | 已经上传的数据长度,单位 Bytes |
totalBytesExpectedToSend | Number | 预期需要上传的数据总长度,单位 Bytes |
UploadTask.offProgressUpdate(Function callback)
取消监听上传进度变化事件
参数 Function callback
上传进度变化事件的回调函数
UploadTask.abort()
中断上传任务
三、数据请求
参考MDN
XMLHttpRequest
创建网络请求对象 var xmlHttp = new XMLHttpRequest()
XMLHttpRequest.prototype.onreadystatechange
当readyState属性发生变化时调用的EventHandler xmlHttp.onreadystatechange = function(){}
XMLHttpRequest.prototype.readyState
属性
XMLHttpRequest.prototype.response
属性
XMLHttpRequest.prototype.responseText
属性
XMLHttpRequest.prototype.responseType
定义响应类型的枚举值
XMLHttpRequest.prototype.responseURL
属性
XMLHttpRequest.prototype.responseXML
属性
XMLHttpRequest.prototype.status
属性
XMLHttpRequest.prototype.statusText
属性
XMLHttpRequest.prototype.timeout
设置超时时间
XMLHttpRequest.prototype.withCredentials
用来指定跨域的请求是否应该使用证书
XMLHttpRequest.prototype.abort()
中断请求
XMLHttpRequest.prototype.getAllReponseHeader()
获取响应头内容
XMLHttpRequest.prototype.getResponseHeader()
获取响应头中指定的键名header对应的值
XMLHttpRequest.prototype.open()
指定和服务器端交互的HTTP方法,URL地址及其他请求信息
XMLHttpRequest.prototype.overrideMimeType()
重写由服务器返回的MIME type
XMLHttpRequest.prototype.send()
向服务器发出请求
XMLHttpRequest.prototype.setRequestHeader(String name,Any value)
添加请求头部
四、下载
qg.downloadFile(Object object)
下载文件资源到本地
参数 Object object
属性 | 类型 | 是否必填 | 说明 |
url | String | 是 | 下载资源的 url |
header | Object | 是 | HTTP 请求的 Header,Header 中不能设置 Referer |
filePath | String | 否 | 指定文件下载后存储的路径 |
success | Function(Object res) | 否 | 接口调用成功的回调函 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function() | 否 | 接口调用结束的回调函数 |
- success回调函数参数Object res
属性 | 类型 | 说明 |
tempFilePath | String | 临时文件路径 |
statusCode | Number | 开发者服务器返回的 HTTP 状态码 |
示例代码
const downloadTask = qg.downloadFile({
url: 'xxx',
success: function (res) {
const file = require('@system.file')
qg.getFileSystemManager().getFileInfo({
filePath: res.tempFilePath,
success (res) {
console.log('qg.getFileInfo success', res)
}
})
console.log(file.readBase64Sync(res.tempFilePath))
console.log('success::', res)
},
fail: function (res) {
console.log('fail::', res)
},
complete: function (res) {
console.log('complete::', res)
}
})
DownloadTask
一个可以监听下载进度变化事件,以及取消下载任务的对象
DownloadTask.abort()
中断下载任务
DownloadTask.onProgressUpdate(Function callback)
监听下载进度变化事件
callback
监听的下载进度变化事件的回调方法
- callback回调函数的参数Object res
属性 | 类型 | 说明 |
progress | Number | 下载进度百分比 |
totalBytesWritten | Number | 已经下载的数据长度,单位 Bytes |
totalBytesExpectedToWrite | Number | 预期需要下载的数据总长度,单位 Bytes |
DownloadTask.offProgressUpdate(Function callback)
取消监听下载进度变化事件
callback
监听的下载进度变化事件的回调方法