// uni-app请求封装 export default class Request { http(router, data = {}, method,contentType) { let that = this; // let path = 'http://1.95.39.2:7015' let path = 'http://192.168.10.131:7015' // let path = 'http://192.168.10.150:7015' // let path = 'http://120.46.11.55:7015'//正式 uni.setStorageSync('requestPath',path) // uni.showLoading({ // title: '加载中' // }); return new Promise((resolve, reject) => { let token = uni.getStorageSync('AppToken'); let usertoken = uni.getStorageSync("UserToken") 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, 'UserToken':usertoken }, url: `${path}${router}`, data: data, method: method, success: (res) => { //收到开发者服务器成功返回的回调函数 if(res.data.code==401){//没有权限直接退出到登录界面 let pages = getCurrentPages(); let currentPage = pages[ pages.length - 1]; //当前页页面实例 // 条件编译判断平台,设置不同登录页路径 let loginPage = ''; // #ifdef H5 loginPage = '/pages/auth/login'; // #endif // #ifdef MP-WEIXIN loginPage = '/pages/auth/wxlogin'; // #endif //如果登录界面已打开,自动关闭 if (currentPage.route === loginPage.replace(/^\//, '')) { resolve(res.data); return; } uni.reLaunch({ url:loginPage, success: () => { uni.hideLoading(); }, fail: () => { uni.hideLoading(); } }) return; } if (res.token) { uni.setStorageSync('UserAppToken',res.token) } resolve(res.data) }, fail:(res) =>{ //接口调用失败的回调函数 }, complete:(res) =>{ //接口调用结束的回调函数(调用成功、失败都会执行) if (res.data.code == 401) { return false } uni.hideLoading(); } }) }) } }