import config from '../config.js' import {login} from '@/api/login.js' //请求 function request (req) { let data = req.data const method = req.method const url = req.url let loading = false if (req.data.loading){ loading = data.loading delete data.loading } let header = { 'Content-Type': 'application/json', 'timestamp': Date.parse(new Date()), // 'token': uni.getStorageSync('user').access_token, 'Authorization':'Bearer ' + uni.getStorageSync('user').access_token } if (loading){ uni.hideLoading() uni.showLoading({ title: '请求中', mask:true }) } return new Promise((resolve, reject) => { console.log('REQ ==>', url) console.log( data ) uni.request({ url: url, data: data, header: header, method: method.toUpperCase(), timeout:1000 * 60 * 3, //超时三分钟 success: async (res) => { uni.hideLoading() console.log("RES <==", url) console.log( res ) if (res.statusCode == 200 && res.data.code == 200){ resolve(res.data.data) }else if (res.statusCode == 401){ //处理token验证出错 console.log('Token过期') if (!uni.getStorageSync('user')){ //其他设备登录了 uni.reLaunch({ url: '/pages/login/pages/login' }); }else{ //token续租 let r = await login(uni.getStorageSync('user').login) let result = await request (req) } }else{ console.error(res.data.msg) if (res.data.msg == '登录状态已过期'){ uni.reLaunch({ url: '/pages/login/pages/login' }) } uni.showToast({ title: res.data.msg, icon: "none", position:"bottom", duration: 3000 }) reject(false) } }, fail: (err) => { uni.hideLoading() uni.showToast({ title: '服务器休息中,请稍后再试', icon: "none", position:"center", duration: 3000 }); console.error(url, err) reject(err) } }); }) } export default request