import env from '../js/env.js'; function service(options = {},flag) { options.url = `${env.baseUrl}${options.url}`; // 判断本地是否存在token,如果存在则带上请求头 let access_token = uni.getStorageSync('accessToken') let refresh_token = uni.getStorageSync('refresh_token') if (flag){ options.header = { 'Authorization': 'Bearer '+ access_token, 'content-type':'application/x-www-form-urlencoded' }; }else { options.header = { 'Authorization': 'Bearer '+ access_token, 'content-type':'application/json' }; } // resolved是返回成功数据,rejected返回错误数据 return new Promise((resolved, rejected) => { options.success = (res) => { // 如果请求回来的状态码不是200则执行以下操作 if (res.data.code !== 200) { // 非成功状态码弹窗 console.log('错误信息:+++',res.data.msg) // 这里可以做一些状态码判断以及操作 if(res.data.code === 401){ uni.showToast({ icon: 'none', duration: 3000, title: '登录过期,即将跳转登录页' }); setTimeout(()=>{ uni.navigateTo({ url:'/pages/login/login' }) },3000) }else{ uni.showToast({ icon: 'none', duration: 3000, title: res.data.msg || '系统繁忙,请重试!' }); } // 返回错误信息 rejected(res) } else { // 请求回来的状态码为200则返回内容 resolved(res) } }; options.fail = (err) => { console.log('错误信息:+++',err) // 请求失败弹窗 uni.showToast({ icon: 'none', duration: 3000, title: '服务器连接失败,请检查网络' }); rejected(err); }; uni.request(options); }); } export default service;