1、获取网络类型
wx.getNetworkType({
success: function(res) {
// 返回网络类型, 有效值:
// wifi/2g/3g/4g/unknown(Android下不常见的网络类型)/none(无网络)
var networkType = res.networkType
}
})
2、监听网络状态变化
wx.onNetworkStatusChange(function(res) {
console.log(res.isConnected) //是否连接
console.log(res.networkType) //什么类型的网络
})
3、发送网络请求
wx.request({
url: 'test.php', //仅为示例,并非真实的接口地址
method: 'GET', //GET, POST, PUT, DELETE, ...
data: {
x: '' ,
y: ''
},
header: {
'content-type': 'application/json' // 默认值
},
dataType:'json'
success: function(res) {
console.log(res.data)
}
fail: function(res) {
}
complete:function(res) {
}
})
4、取消请求任务
const requestTask = wx.request({
url: 'http://www...', //仅为示例,并非真实的接口地址
data: {
x: ''
},
success: function(res) {
}
})
requestTask.abort() // 取消请求任务
5、上传
// 如,上传图片
wx.chooseImage({
success: function(res) {
var tempFilePaths = res.tempFilePaths // 图片路径
wx.uploadFile({
url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址
filePath: tempFilePaths[0],
name: 'file', //文件对应的 key , 在服务器端通过这个 key 可获取文件二进制内容
formData:{
'user': 'test'
},
success: function(res){
var data = res.data
//do something
}
})
}
})
6、下载
下载文件资源到本地。
客户端发一个 HTTP GET 请求,返回文件的本地临时路径。
wx.downloadFile({
url: 'https://example.com/.....', // 下载地址
header:
success: function(res) {
// 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调;
if (res.statusCode === 200) {
wx.playVoice({
filePath: res.tempFilePath
//业务需要自行判断是否下载到了想要的内容
})
}
}
})
下载进度、取消下载
const downloadTask = wx.downloadFile({
url: 'http://example.com/......',
success: function(res) {
wx.playVoice({
filePath: res.tempFilePath
})
}
})
downloadTask.onProgressUpdate((res) => {
console.log('下载进度', res.progress)
console.log('已经下载的数据长度', res.totalBytesWritten)
console.log('预期需要下载的数据总长度', res.totalBytesExpectedToWrite)
})
downloadTask.abort() // 取消下载任务
注:文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用wx.saveFile
保存文件到本地
wx.saveFile({
tempFilePath: './filepath/....', //需要保存的文件的 临时路径
success: function(res) {
var savedFilePath = res.savedFilePath
}
})