小程序get/post/上传文件请求用promise封装

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/deng1456694385/article/details/88316840

小程序的wx.request没有对传过来的请求进行处理,对于各种状态进行处理,所以需要在代码里封装,这里是直接写app.jsl里的,get和post的封装.

首先写通用header

header

 header: {
      'app_code': "DAFENGBAODAI",
      'client': 'miniProgram',
      'imei': 'idfv',
      'applicationId': 'miniprogram',
      'wxToken': '',
      'Content-Type': 'application/json',
    }

post

 post(options) {
      let header = this.header
      return new Promise((resolve, reject) => {
        const requestTask = wx.request({
          method: 'POST',
          header: header,
          url: this.baseUrl + options.url, //baseUrl就是自己服务器的地址
          data: options.data,
          success(res) {
            if (res.data.ErrorCode !== 0) {
              reject(res.data);
            }
            resolve(res.data);
          },
          fail(e) {
            reject(e)
          }
        })
      })
    }

GET

  get(options) {
      let header = this.header
      return new Promise((resolve, reject) => {
        const requestTask = wx.request({
          method: 'GET',
          header: header,
          url: this.baseUrl + options.url,
          data: options.data,
          success(res) {
            if (res.data.ErrorCode !== 0) {
              reject(res.data);
            }
            resolve(res.data);
          },
          fail(e) {
            reject(e)
          }
        })
      })
    }

上传

   upload(options) {
      let header = {}
      Object.assign(header, this.header)
      header['Content-Type'] = 'application/x-www-form-urlencoded'
      return new Promise((resolve, reject) => {
        const requestTask = wx.uploadFile({
          method: 'POST',
          name: "file",
          header: header,
          url: this.baseUrl + options.url,
          filePath: options.filePath,
          success(res) {

            if (options.url ==...) {
              let obj = JSON.parse(res.data)
              if (obj.ErrorCode !== 0) {
                reject(obj.data);
              }
              resolve(obj.data);
            } else {
              let obj = JSON.parse(res.data)
              if (obj.ErrorCode != 0) {
                reject(obj.data);
              }
              resolve(obj.data);
            }
          },
          fail(e) {
            reject(e)
          }
        })
      })
    }
 

猜你喜欢

转载自blog.csdn.net/deng1456694385/article/details/88316840