使用原生小程序方法时候,我们经常会需要封装请求wx.request,下面分享一下我的一些方法
首先我们在util文件夹下面新建一个叫request的文件;
以下是request文件下面的内容
let devBaseUrl = 'https:/abc.com'
let prdBaseUrl = 'https://prdabc.com'
var BaseUrl = devBaseUrl ;
首先基础域名使用变量定义
使用一个对象来统一管理接口方法
const allPorts= {
queryBanner:'/banner/getBannerList',//获取banner列表
queryBannerDetail:'/banner/getBannerDetailById'//获取banner详情
//等等一系列方法都统一管理
}
然后开始封装get和post方法下的函数
/**
* 请求封装GET
*/
function handleRequest(url, params,type, successFunction, failFunction) {
wx.showLoading({
title: '加载中'
})
wx.request({
url: BaseUrl + url,
data: params,
method: type,
header: {
'content-type':'application/json'
},
success: function (res) {
wx.hideLoading()
if (typeof successFunction == "function") {
successFunction(res);
}
},
fail: function (res) {
wx.hideLoading()
if (typeof failFunction == "function") {
failFunction(res);
}
}
})
}
module.exports = {
handleRequest: handleRequest,
allPorts:allPorts
}
当然根据请求的一些变化或者方式,也可以在此处写入多个请求方法并导出
在页面使用时候代码如下
import { handleRequest , allPorts} from '../../../utils/util.js'
handleRequest(allPorts.queryBanner,{
params:123
},'post',function(res){
if(res.data.code==200){
console.log('success')
}else{
console.log('error')
}
},function(res){
console.log(res)
})
以上是比较基础的一个小程序请求封装方式
我们还可以在对封装进行一定的优化,将函数的参数整合一下,直接传一个对象进去_