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.
|
|
var baseUrl = require('../utils/baseUrl')var ajaxtimes = 0module.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() } }, }) }}
|