You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
2.5 KiB
84 lines
2.5 KiB
var baseUrl = require('../utils/baseUrl')
|
|
var ajaxtimes = 0
|
|
module.exports = {
|
|
http(url, method, params) {
|
|
//发送一次请求就加1
|
|
ajaxtimes++
|
|
let token = 'token' // 获取token,自行获取token和签名,token和签名表示每个接口都要发送的数据
|
|
let sign = 'sign' // 获取签名 (后台怎么定义的,就传什么)
|
|
let data = {
|
|
token,
|
|
sign
|
|
}
|
|
|
|
wx.showLoading({
|
|
title: '加载中...',
|
|
})
|
|
|
|
let urls = baseUrl + url
|
|
if (params.data) { // 在这里判断一下data是否存在,params表示前端需要传递的数据,params是一个对象,有三组键值对,data:表示请求要发送的数据,success:成功的回调,fail:失败的回调,这三个字段可缺可无,其余字段会忽略
|
|
for (let key in params.data) { // 在这里判断传过来的参数值为null,就删除这个属性
|
|
if (params.data[key] == null || params.data[key] == 'null') {
|
|
delete params.data[key]
|
|
}
|
|
}
|
|
data = {
|
|
...data,
|
|
...params.data
|
|
}
|
|
}
|
|
|
|
if (params.id) {
|
|
urls = urls + '/' + params.id
|
|
}
|
|
// console.log(urls);
|
|
var value = null
|
|
try {
|
|
value = wx.getStorageSync('token')
|
|
if (value) {
|
|
// console.log(value);
|
|
}
|
|
} catch (e) {
|
|
// Do something when catch error
|
|
}
|
|
wx.request({
|
|
url: urls, // 就是拼接上前缀,此接口域名是开放接口,可访问
|
|
method: method, // 判断请求类型,除了值等于'post'外,其余值均视作get 其他的请求类型也可以自己加上的 method: method == 'post' ? 'post' : 'get'
|
|
data,
|
|
header: {
|
|
'content-type': 'application/json',
|
|
'Authorization':'Bearer '+ value
|
|
},
|
|
success(res) {
|
|
// console.log(res);
|
|
if(res.data.code == 401){
|
|
wx.showModal({
|
|
title: '提示',
|
|
content: '登录已过期,请重新登录',
|
|
success (res) {
|
|
if (res.confirm) {
|
|
wx.reLaunch({
|
|
url: '/pages/login/login',
|
|
})
|
|
} else if (res.cancel) {
|
|
|
|
}
|
|
}
|
|
})
|
|
}else{
|
|
params.success && params.success(res.data)
|
|
}
|
|
},
|
|
fail(err) {
|
|
params.fail && params.fail(err)
|
|
},
|
|
complete(){
|
|
//完成一次请求就减一
|
|
ajaxtimes--;
|
|
if(ajaxtimes===0){
|
|
wx.hideLoading()
|
|
}
|
|
},
|
|
})
|
|
}
|
|
}
|