使用原生小程序方法時候,我們經常會需要封裝請求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)
})
以上是比較基礎的一個小程序請求封裝方式
我們還可以在對封裝進行一定的優化,將函數的參數整合一下,直接傳一個對象進去_