微信小程序封装好的request请求,建议放在utils文件夹下
class Base {
constructor() {
this.baseRequesUrl = '你的服务器请求地址';
}
// 封装request方法基类
request(params, callback, fail) {
wx.showLoading({
title: '加载中...',
})
var url = this.baseRequesUrl + params.url;
// 如果请求方法为空就赋值get的方法请求
if (!params.type) {
params.type = 'GET';
}
wx.request({
url: url,
data: params.data,
header: {
'content-type': 'application/json',
'token': wx.getStorageSync('token')
},
method: params.type,
dataType: 'json',
responseType: 'text',
success: function (res) {
// 回调
if (callback) {
callback(res)
}
wx.hideLoading()
},
fail: function (err) {
console.log(err)
},
complete: function (res) { },
})
}
// 获得元素上面绑定的值
getDataSet(event, key) {
// console.log(e.currentTarget.dataset.id);
return event.currentTarget.dataset[key];
//event.currentTarget.dataset.ID
}
//弹出框
message(content, t, s = 1000) {
if (!content) {
content = "没有内容";
}
if (t == 1) {
var ic = "success";
} else {
var ic = "loading";
}
wx.showToast({
title: content,
duration: s,
icon: ic
})
}
//组合跳转方式
goLocation(url, t) {
//判断链接是否存在
if (!url) {
url = index;
t = 5;
}
//判断打开的页面是否到达5个
var ob = getCurrentPages();
if (ob.length >= 5 && t != 3) {
t = 1;
}
//获取是否开启自定义底部
var autoFooter = wx.getStorageSync('autoFooter');
var autoFooter = 1;
//判断是否导航页
var has = false;
if (autoFooter != 1) {
var bar = getBarList();
has = contains(bar, url);
}
if (has) {
t = 2;
} else {
if (t == 2) {
if (url > 0) {
t = 3;
} else {
t = 1;
}
}
}
if (t == 1) {
wx.redirectTo({
url: url
})
} else if (t == 2) {
wx.switchTab({
url: url
})
} else if (t == 3) {
wx.navigateBack({
delta: url
})
} else {
wx.navigateTo({
url: url,
})
}
}
//跳转方式结束
//前往导航栏页面
goBarList(mid, url) {
if (!url) {
url = index;
}
wx.switchTab({
url: url,
})
}
/*
* 合并数组
*/
SplitArray = function (list, sp) {
if (typeof list != 'object') return [];
if (sp === undefined) sp = [];
for (var i = 0; i < list.length; i++) {
sp.push(list[i]);
}
return sp;
}
SplitArray(list, sp) { return util.SplitArray(list, sp) }
}
export { Base }
用法:import { Base } from 'utils/base.js';