微信小程序封装API
大家在写小程序时是不是都遇到了接口太乱,导致后期维护及其不方便,今天就告诉大家怎么封装api接口。
创建JS文件
这个文件名字随便起,我这的是叫fetch.js文件。
废话不多说上代码!!!
注意这个文件最好是在utils文件夹里面哦!!!
var API_BASE_URL = 'https://t-a.bldby.shop' // 定义url,这个是域名
// var subDomain = 'bldby' // 如果后期需要就把它加上 https://t-a.bldby.shop/bldby
const request = (url, needSubDomain, method, data) => {
const _url = API_BASE_URL + (needSubDomain ? '' : '') + url
// const _url = API_BASE_URL + (needSubDomain ? '/' + subDomain : '') + url // 如果需要在添加的话就把 定义好的subDomain加上
return new Promise((resolve, reject) => {
wx.request({
url: _url,
method: method,
data: data,
header: {
'Content-Type': 'application/json',
},
success(request) {
resolve(request.data)
},
fail(error) {
reject(error)
},
complete(aaa) {
// 加载完成
}
})
})
}
/**
* 小程序的promise没有finally方法,自己扩展下
*/
Promise.prototype.finally = function (callback) {
var Promise = this.constructor;
return this.then(
function (value) {
Promise.resolve(callback()).then(
function () {
return value;
}
);
},
function (reason) {
Promise.resolve(callback()).then(
function () {
throw reason;
}
);
}
);
}
//以下是封装好的接口
module.exports = {
init2: (a, b) => {
API_BASE_URL = a
subDomain = b
},
init: (b) => {
subDomain = b
},
request,
// code
code: (data) => { //括号里的是传递的参数,如果不需要传参的话可以不写,但建议还是把它写上,反正不会报错
return request(`/wx/getWxInfo`, true, 'get', data)
},
// 首页数据
homePage: (data) => {
return request(`/homePage/index`, true, 'get', data)
},
}
以上内容有不懂的地方可以私信,也可以在下方评论哦!!!
最后小伙伴们别忘了!!点赞!!评论!!加收藏哦!!!