// uni-app请求封装 export default class Request { http(router, data = {}, method,contentType) { let that = this; // let path = 'http://localhost:7014'; let path = 'https://api.yjf.runtzh.com'; uni.setStorageSync('requestPath',path) // uni.showLoading({ // title: '加载中' // }); return new Promise((resolve, reject) => { let token = uni.getStorageSync('AppToken'); var httpContentType='application/x-www-form-urlencoded'; if(contentType!=undefined){ //application/json;charset=UTF-8 httpContentType=contentType; } var routers=router; // 请求 uni.request({ header: { // 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Type': httpContentType, 'AppToken': token }, url: `${path}${router}`, data: data, method: method, success: (res) => { //收到开发者服务器成功返回的回调函数 if(res.data.code==401){//没有权限直接退出到登录界面 let pages = getCurrentPages(); pages.forEach(function(element) { if(element!=undefined&&element.route=="pages/auth/login"){ resolve(res.data) return; } }); // let url = pages[ pages.length - 1]; //当前页页面实例 // //如果登录界面已打开,自动关闭 // if(url!=undefined&&url.route=="pages/auth/login"){ // resolve(res.data) // return; // } uni.navigateTo({ url:'/pages/auth/login', success: () => { uni.hideLoading(); }, fail: () => { uni.hideLoading(); } }) return; } if (res.data.token) { uni.setStorageSync('AppToken',res.data.token) } resolve(res.data) }, fail:(res) =>{ //接口调用失败的回调函数 }, complete:(res) =>{ //接口调用结束的回调函数(调用成功、失败都会执行) if (res.data.code == 401) { return false } uni.hideLoading(); } }) }) } }