微信小程序网络请求封装

本文介绍了一个在微信小程序中实现HTTP请求的封装,包括GET、POST和DELETE方法,以及在页面中如何调用这些接口进行操作,如店铺收藏的取消。同时展示了在providers文件夹下创建的service.js文件,用于进一步封装常用API,简化页面上的请求调用。
摘要由CSDN通过智能技术生成

1.根目录下新建providers文件夹,新建httpRequest.js文件

var baseURL= ‘https://xxx.xxx.com/;//服务器地址
const globalData = getApp().globalData;
//请求成功的回调
var onSuccess = function(res,success){
	if(res.code == 200){
		success(res.data);
	}else if(res.code == 401){
		wx.clearStorageSync();
		globalData.userInfo = "";
		wx.showModal({
			content:'登录失效,请重新登录',
			success:function(res){
				if(res.confirm){
					//前往登录页的代码
				}
			}
		})
	}
}
//封装请求
module.exports= {
	//get请求
	get:function(url,options,success,fail){
		wx.request({
          url: baseUrl + url,
          method: "GET",
          header: {
            'access-token': wx.getStorageSync("token")
          },
         data: options,
         success: function(res) {
           onSuccess(res, success);
         },
         fail: function(err) {
           if (fail) fail();
           console.log(err);
           wx.showToast({
             title: '网络连接失败',
             icon: "none"
           });
         }
      });
	},
	//post请求
	post: function(url, options, success, fail) {
    wx.request({
      url: baseUrl + url,
      method: "POST",
      header: {
        'content-type': 'application/x-www-form-urlencoded',
        'access-token': wx.getStorageSync("token")
      },
      data: options,
      success: function(res) {
        onSuccess(res, success);
      },
      fail: function(err) {
        if (fail) fail();
        console.log(err);
        wx.showToast({
          title: '网络连接失败',
          icon: "none"
        });
      }
    })
  },
  //delete请求
  delete: function (url,success, fail) {
    wx.request({
      url: baseUrl + url,
      method: "DELETE",
      header: {
        'access-token': wx.getStorageSync("token")
      },
      success: function (res) {
        successFun(res, success);
      },
      fail: function (err) {
        if (fail) fail();
        console.log(err);
        wx.showToast({
          title: '网络连接失败',
          icon: "none"
        });
      }
    })
  },
}

2.delete请求在页面上直接使用(例:店铺取消收藏)
/**取消收藏 */
  deleteShop:function(storeId){
    var url ="xxx/xxx?storeId="+storeId;
    httpService.delete(url,function (res) {
      if (res.code == "200") {
       wx.showToast({
         title: '已取消',
       })
      } else {
        wx.showModal({
          content: res.message
        })
      }
    })
  },
3.get和post请求二次封装,providers文件夹下新建service.js文件
//引入httpService
const httpRequest = require("./httpRequest");
module.exports = {
	/** get请求不带参数 */
  getOrders: function(success) {
    httpRequest.get("xxx/xxx", {}, function(data) {
      if (data.code == 200) {
        success(data.result);
      } else {
        wx.showModal({
          content: data.message
        });
      }
    })
  },
  /** get请求带参数 */
  getPrice: function(options, success) {
    httpRequest.get("xxx/xxx", options, function(data) {
      if (data.code == 200) {
        success(data.result);
      } else {
        wx.showModal({
          content: data.message
        })
      }
    })
  },
   /** post请求 */
  reserve: function(options, success) {
    httpRequest.post("xxx/xxx", options, function(data) {
      if (data.code == 200) {
        success(data.result);
      } else {
        wx.showModal({
          content: data.message
        });
      }
    })
  },
}
4.页面上使用
//全局引入
const service = require("../../providers/service.js");
page({
	data:{},
	onLoad:function(options){
		service.getPrice({userId:options.storeId},res=>{
			console.log(res)
		})
	}
)}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值