微信小程序请求拦截器

博客围绕小程序拦截器展开,但具体内容缺失。小程序拦截器在小程序开发中可起到拦截请求等作用,能对数据传输等进行处理和控制,在信息技术领域有一定应用价值。
const apiHttp = 'https://pdm.chiefchain.cn/'
const header = {
  cookie: 'JSESSIONID=' + wx.getStorageSync('JSESSIONID'),
  'content-type': 'application/x-www-form-urlencoded'
}

function request(url, method, data, complete) {
  url = apiHttp + url
  Object.assign(data, {
    tokenId: wx.getStorageSync('tokenId'),
  })
  let promise = new Promise(function(resolve, reject) {
    wx.request({
      url,
      header,
      data,
      method,
      success: res => {
        resolve(res)
      },
      fail: res => {
        reject(res)
      },
      complete: res => {
        wx.hideNavigationBarLoading()
        complete(res)
      }
    })
  })
  return promise
}
let fn = function() {}
module.exports = {
  $get: function({
    url,
    data = {},
    complete = fn
  }) {
    return request(url, 'GET', data, complete)
  },
  $post: function({
    url,
    data = {},
    complete = fn
  }) {
    return request(url, 'POST', data, complete)
  },
  $$get: function({
    url,
    data = {},
    complete = fn
  }) {
    wx.showNavigationBarLoading()
    return request(url, 'GET', data, complete)
  },
  $$post: function({
    url,
    data = {},
    complete = fn
  }) {
    wx.showNavigationBarLoading()
    return request(url, 'POST', data, complete)
  },
}

 

微信小程序请求拦截器可以在使用 wx.request 发起请求之前,对请求进行拦截和处理。你可以通过以下步骤来实现请求拦截器: 1. 在 app.js 或者需要使用请求拦截器的页面中,定义一个全局变量 interceptorList 来存储拦截器列表: ```javascript App({ // 全局变量 globalData: { interceptorList: [] } }) ``` 2. 创建一个拦截器对象,包含 request 和 response 两个方法。这些方法会在请求发送之前和请求响应之后被调用: ```javascript // 拦截器对象 const interceptor = { // 请求拦截 request: (config) => { // 对请求进行处理,比如添加 token 等 return config; }, // 响应拦截 response: (response) => { // 对响应进行处理,比如处理错误码等 return response; } } ``` 3. 在需要使用拦截器的页面中,将拦截器对象添加到全局变量 interceptorList 中: ```javascript // 获取全局变量 const app = getApp(); // 将拦截器添加到列表中 app.globalData.interceptorList.push(interceptor); ``` 4. 最后,在发起请求的地方使用 wx.request,并在其中执行拦截器的 request 方法: ```javascript wx.request({ // 其他配置项 ... success: (response) => { // 获取全局变量 const app = getApp(); // 遍历拦截器列表,执行响应拦截方法 app.globalData.interceptorList.forEach((interceptor) => { response = interceptor.response(response); }) // 处理响应结果 ... } }) ``` 通过以上步骤,你可以实现微信小程序请求拦截器,对请求和响应进行处理。你还可以根据具体需求,进一步完善拦截器的功能,比如错误统一处理、添加请求头等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值