小程序原生API收集--网络API

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
      }
    })

你可能感兴趣的:(小程序原生API收集--网络API)