mpvue~ wx.request封装

mpvue wx.request封装

参考

proxy

封装

api.js:

export default ($wx) => {
  const METHODS = ['get', 'post', 'put', 'delete']

  let handler = {
    get (target, property) {
        target[property] = (url, params = {}) => {
          return new Promise((resolve, reject) => {
            $wx.request({
              url,
              method: property.toLocaleUpperCase(),
              ...params,
              success: res => {
                if (Number(res.statusCode) !== 200) {
                  $wx.showToast({ title: '通讯错误,稍后再试', icon: 'none' })
                  return false
                }

                resolve(res.data)
              },
              fail: error => {
                reject(error)
              }
            })
          })
        }
        return target[property]
    }
  }

  const API = new Proxy({}, handler)
  return API
}
复制代码

使用

main.js:

	import API from 'api.js'
	Vue.prototype.$API = API(wx)
	
xx.vue:

	this.$API.get(url)
            .then(res => {
                // 处理成功
              })
              .catch(e => {
               // 处理失败
              })
              
              
        this.$API.post(url, {data: {xx: 'xxx'}})
            .then(res => {
                // 处理成功
              })
              .catch(e => {
               // 处理失败
              })复制代码
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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 ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值