微信小程序封装request请求

我的个人刷Java面试题网站:http://www.study-java.cn/

在小程序开发中,通过接口获取后台数据,这时候我们不得不在每个页面的js文件中写到:wx.request({

url:'',.....}) 但是调用很多接口的时候,会非常频繁的使用request,作为一名java开发人员,显然我们需要对他进行一下封装:

 

1.在utils同级目录下建立service

2.typeof cb == "function" && cb(res.data) 我的理解是

利用的&&的运算规律,首先判断cb是不是一个方法, 这里的==可以作为类型是否相当的判断,然后在&&中如果前面的不满足,

后面的则不会执行;如果是cb是一个方法,调用cb方法,并且传入success成功回调的userinfo参数

并且return 的是回调函数,而不是具体的数据

 

var rootDocment = 'https://xxxxxxxxxxxxx/';
var header = {
  'Accept': 'application/json',
  'content-type': 'application/json',
  'Authorization': null,
}
function getReq(url, cb) {
  wx.showLoading({
    title: '加载中',
  })
  console.log("header=="),
    console.log(header)
  wx.request({
    url: rootDocment + url,
    method: 'get',
    header: header,
    success: function (res) {
      wx.hideLoading();
      return typeof cb == "function" && cb(res.data)
    },
    fail: function () {
      wx.hideLoading();
      wx.showModal({
        title: '网络错误',
        content: '网络出错,请刷新重试',
        showCancel: false
      })
      return typeof cb == "function" && cb(false)
    }
  })
}

function postReq(url, data, cb) {
  wx.showLoading({
    title: '加载中',
  })
    console.log("header=="),
    console.log(header),
    wx.request({
      url: rootDocment + url,
      header: header,
      data: data,
      method: 'post',
      success: function (res) {
        wx.hideLoading();
        return typeof cb == "function" && cb(res.data)
      },
      fail: function () {
        wx.hideLoading();
        wx.showModal({
          title: '网络错误',
          content: '网络出错,请刷新重试',
          showCancel: false
        })
        return typeof cb == "function" && cb(false)
      }
    })

}
module.exports = {
  getReq: getReq,
  postReq: postReq,
  header: header,
}  

header 中的一些数据可能是需要在app.js中登录后返回的Token,这时候我们需要在app.js中

var http = require('service/http.js')

http.header.Authorization = 'Bearer '+res.data;//给header 赋值

// 将方法暴露出去

getReq: http.getReq,

postReq: http.postReq,


使用:

    http.getReq("item/getshopbanner/"+getApp().globalData.shopIdx,function(res){
                      console.log("banner==")
                      console.log(res)
                    })

更多文章请关注公众号:每天学Java。想获得更多最新面试提醒请进入小程序:每天学Java

 公众号二维码:                                                                                          小程序二维码:

                       

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值