微信小程序:request请求封装工具类

微信小程序:request请求封装工具类

在微信小程序开发过程中,难免不了要请求后台,我们总不能一个请求写一个微信的请求,这样不容易管理,而且如果后改动的话,就可想而知了,这篇就分享下自己的请求的公具方法

附送一个官网request请求的传送门

/**
 * 请求方法,这里就写两种最常用的
 * 其他的请求方式同理(微信官网提供了OPTIONS,HEAD,PUT,DELETE,TRACE,CONNECT)
 */
function request_post(url, data) {
  let param = packagingParam(url, data, "POST", "application/x-www-form-urlencoded");
  return WXRequest(param);
}
function request_get(url, data) {
  let param = packagingParam(url, data, "GET", "application/x-www-form-urlencoded");
  return WXRequest(param);
}
function request_json_post(url, data) {
  let param = packagingParam(url, data, "POST", "application/json");
  return WXRequest(param);
}
function request_json_get(url, data) {
  let param = packagingParam(url, data, "GET", "application/json");
  return WXRequest(param);
}

/**
 * 封装参数
 */
function packagingParam(url, data, method, contentType) {
  var param = {};
  param.url = url;
  param.data = data;
  param.method = method;
  param.contentType = contentType;
  return param;
}

/**
 * 发送请求
 * 这里的header只写了一种,一般都需要传输token,用户前后接口的调用的校验
 * 还有的加入了Cookie,加入到header中即可
 */
function WXRequest(param) {
  //用于请求的计时
  console.time('请求用时:');
  //遮罩提示,这个可以写成公用的调用,这里就简单说明
  wx.showLoading({
    title: '加载中...',
    mask: true
  })
  return new Promise((resolv, reject) => {
	wx.request({
	  url: param.url,
	  data: param.data,
	  method: param.method,
	  header: {
		'Content-Type': contentType
	  },
	  success: function (res) {
		if(res.data == '服务器异常'){
		  wx.showModal({
			title: '提示',
			content: '网络错误或服务器繁忙!',
		  })	
		}else{
		   resolv(res.data);
		}
	  },
	  fail: function (err) {
		reject(err)
		wx.showModal({
		  title: '提示',
		  content: '网络错误或服务器繁忙!',
		})
	  },
	  complete:function(com){
		wx.hideLoading();
		console.timeEnd('请求用时:' + param.url); 
	  }
	})
  })
}
//最后把方法暴露出去
module.exports = {
	request_post,request_get,request_json_post,request_json_get
}

 

使用方法:

//引入包
const util = require('../utils/util.js');
 
//url和参数组装习惯因人而异
let url = 'htttps://test/test';
var param = {id:'123456789'};
util.request_post(url, param).then((res) => {
	console.log('请求成功了');
},(err) => {
	console.log('请求出错了')
});

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值