wx.request的封装

先放一个官方文档

网络 / 发起请求 / wx.request (qq.com)

为避免使用者高频率的点击发送请求

在接口开始时调用wx.showLoading

结束时wx.hideLoading()关闭

界面 / 交互 / wx.showLoading (qq.com)

关于Promise

 转载大白话讲解Promise(一) - 吕大豹 - 博客园 (cnblogs.com)

封装url、data

url以 域名+传入的请求地址拼接,域名写在配置文件里

data可以根据后台对接收参数的不同来定制

header的作用

后台filter对登录信息、状态的判断,是否可以访问后台的代码

HttpServletRequest.getHeader("token");

HttpServletRequest.getHeader("openId");

success、fail里该怎么写

success仅仅是成功访问了到了后台接口

fail则是没有访问到后台的接口

讯息的回传

 notifyNotify 消息通知 - Vant Weapp (youzan.github.io)

下面这个示例 为一个已经运行的小程序 ,其中的url以及msg仅为示例

/**

 * 多笔资料请求

 */

function requestList(url, data = {},limit,page,app) {

  wx.showLoading({

    title: '数据加载中...',

    mask: true

  })

  return new Promise(function(resolve, reject) {

    wx.request({

      url: erp+url,

      data: {

        pageParams: {

          conditions: data,

          filter: {},

          limit: limit,

          order: "asc",

          pages: page,

        }

      },

      method: "POST",

      header: {

        'Content-Type': 'application/json',

        'openId': wx.getStorageSync('openId'),

        'token': wx.getStorageSync('token')

      },

      success: function(res) {

        app.globalData.msg=res.data.msg.msg

        if (res.statusCode == 200) {

          if (res.data.errCode) {

            console.log('res.data.errCode='+res.data.errCode)

            Notify({ type: 'warning', message: app.globalData.msg });

            switchLogin()

            return

          }

          if (res.data.msg.type == 'info' && res.data.msg.msg != '查询成功') {

            Notify({ type: 'success', message: res.data.msg.msg });

          }else if(res.data.msg.msg != '查询成功'){

            Notify({ type: res.data.msg.type, message: res.data.msg.msg, duration: 5000, });

          }

          resolve(res.data);

        } else {

          reject(res.errMsg);

        }

      },

      fail: function(err) {

        Notify({ type: 'warning', message: '请求失败,请检查网络连接或联系开发人员' });

        reject(err)

      },

      complete:function() {

        wx.hideLoading()

      },

    })

  });

}

wx.request微信小程序中用于发起网络请求的API。在给定的引用内容中,有两个文件对wx.request进行了封装。首先,在http目录下的request.js文件中,二次封装wx.request方法,对请求的接口地址、请求方式、要传递的参数等进行了处理。封装后的方法可以通过传入不同的参数来发起请求并返回Promise对象。具体的封装逻辑可以参考。 另外,在http目录下的api.js文件中,也封装了一些基于业务的接口方法,这些方法使用了先前封装request方法来发起请求。例如,banners方法用于请求轮播图的数据,getGoodsList方法用于获取商品列表,addGoodsFav方法用于添加商品收藏,getGoodsCate方法用于获取商品分类等。这些方法也可以根据具体的需求进行参数的传递和是否添加子域名的设置。更多关于这些方法的具体信息可以参考。 综上所述,在给定的引用内容中,我们可以看到对wx.request封装主要是为了方便地发起网络请求,并且将请求过程进行了抽象和简化,使得代码更加可读和易于维护。同时,这样的封装也遵循了一些常见的封装原则和规范,使得代码具有良好的可扩展性和复用性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [微信小程序 wx.request封装](https://blog.csdn.net/JxufeCarol/article/details/117755736)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值