微信小程序网络请求封装

工欲善其事,必先利其器。古人总结的经验在今天看来仍旧是充满着智慧。

最近接手了公司的小程序开发,原先是八流的安卓开发,刚开始被小程序的什么cs、js看的头晕目眩,好在还有那么一点点基础才不至于被完全挫败。从0到1终于有了进展,但是在某个时刻又觉得从1变回了0,不会写到会写的这个过程克服了,又遇到了第二个问题,会写就完了吗,仅仅只停留在会写这个层面就可以了吗,在会写之后渐渐的不满足了,首先看到那一个个  wx.request({})就觉得有点恶心了,每一次请求接口都要写一大堆,一个页面好多个接口,那就是好多个一大堆,恶不恶心啊,有点受不了了,所以才有了网络请求封装的想法。当然,我只是一个初学者,可能在大佬看来这只是很简单的一个操作,有什么价值去值得你写blog,没办法啊,我就是个小菜鸡而且心态还好,我只是单纯的想记录下自己走过的路,仅此而已。

废话不多说了,开干咯

1、在utils文件夹下新建api.js文件用来保存自己的请求地址和接口路径,新学小程序的同学如果不知道怎么在utils文件夹下新建js文件就自行百度下

 

//测试地址
const ApiRootUrl = 'http://ip地址:端口';

module.exports = {

  请求路径1: ApiRootUrl + '接口路径', //1、完整的请求地址
  请求路径1: ApiRootUrl + '接口路径', //1、完整的请求地址
  请求路径1: ApiRootUrl + '接口路径', //1、完整的请求地址
  请求路径1: ApiRootUrl + '接口路径', //1、完整的请求地址

};

2、网络请求封装--》在util.js文件中,get、post方法

 

/**封装网络请求 */

/**
 * GET请求封装
 */
function get(url, data = {}) {
  return request(url, data, 'GET')
}

/**
 * POST请求封装
 */
function post(url, data = {}) {
  return request(url, data, 'POST')
}

/**
 * 微信的request
 */
function request(url, data = {}, method = "GET") {
  var contentType = 'application/x-www-form-urlencoded;charset=UTF-8'
  return new Promise(function (resolve, reject) {
    wx.request({
      url: url,
      data: data,
      method: method,
      header: {
        'Content-Type': contentType,
      },
      success: function (res) {
        console.log('===============================================================================================')
        console.log('==    接口地址:' + url)
        console.log('==    接口参数:' + JSON.stringify(data))
        console.log('==    请求类型:' + method)
        console.log("==    接口状态:" + res.statusCode);
        console.log("返回数据" + JSON.stringify(res))
        console.log('===============================================================================================')
//然后就可以开始你相对应的操作啦

        if (res.statusCode == 200) {
              resolve(res.data);
        } else {
          //请求失败
          reject("请求失败:" + res.statusCode)
        }
      },
      fail: function (err) {
        //服务器连接异常
        console.log('===============================================================================================')
        console.log('==    接口地址:' + url)
        console.log('==    接口参数:' + JSON.stringify(data))
        console.log('==    请求类型:' + method)
        console.log("==    服务器连接异常")
        console.log('===============================================================================================')
        reject("服务器连接异常,请检查网络再试")
      }
    })
  });
}

//暴露方法
module.exports = {
  formatTime,
  request,
  get,
  post
}

3、使用

//js引入
const util = require('../../utils/util.js')
const api = require('../../utils/api.js')


 /**
     * get、post方法中有两个参数
     * get、post以指明用哪种方式请求
     * url:请求路径    eg:api.请求路径1
     * data:请求参数   eg:data{}
     */

let data = {
          参数1: xxxx,
          参数2:xxxx
        }

 util.get(url, data).then((res) => {
        console.log("打印信息"+res.data)
    }).catch((errMsg) => {
      //错误提示信息
      wx.showToast({
          title: errMsg,
          icon: "none"
        })
    });

完工,小菜鸡的网络请求哔哔完了,如果你和我一样是个新手,那就别怕别放弃,没有谁是天生下来就什么都会的,自己加油加油加油!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值