【微信小程序】网络请求

时间:2024-03-15 21:02:42

小程序有专门发起网络请求的方法,并且通过全局对象进行访问(个人习惯)

util.js

这一行是设置了 Authorization 头,用于在进行需要授权的 HTTP 请求时发送身份验证信息。在这里,它使用了 Bearer Token 认证方案,通过 'Bearer ' + wx.getStorageSync('token') 获取本地存储的 token 并附加在 Authorization 头中发送给服务端。

总的来说,这段代码的目的是在进行 HTTP 请求时,设置请求头信息,包括内容类型和身份验证信息,以便与服务端进行通信并进行相应的授权操作。

/**
 * 封装request
 */
function request(url, data = {}, method = "GET") {
  return new Promise(function (resolve, reject) {
    wx.request({
      url,
      data,
      method,
      header: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer ' + wx.getStorageSync('token')
      },
      success: (res) => {
        let { code } = res.data
        if (res.statusCode === 200) {
          if (code === 200) {
            resolve(res.data);
          } else if (code === 401) {
            let app = getApp()
            app.login()
          } else {
            reject(res.data);
          }
        } else {
          reject(res.errMsg);
        }
      },
      fail: function (err) {
        reject(err)
      }
    })
  });
}

function get(url, data = {}) {
  return request(url, data, 'GET')
}

function post(url, data = {}) {
  return request(url, data, 'POST')
}

module.exports = {
  get,
  post
}

在其他页面就可以直接使用

const util = require('../../utils/util.js'); 
 util.request(url, data, 'POST').then((res) => {
      if (res.code !== 200) {
      } 
    })