import * as config from '@/config' let baseUrl = config.def().baseUrlNew // 定义基础请求路径(后端服务器地址) const baseRequest = (method, url, data, header) => { var contentheader = 'application/json' if (header) { contentheader = header } let userInfo = uni.getStorageSync('userInfo'); let baseDefaultOpts = { url: baseUrl + url, // 请求接口地址 data: data, // 传入请求参数 method: method, // 配置请求类型 header: { 'content-type': contentheader, //'application/x-www-form-urlencoded; charset=UTF-8', 'accessToken':userInfo.accessToken } } let promise = new Promise(function(resolve, reject) { uni.getNetworkType({}).then((res) => { console.log(res) if (res[1].networkType === "none") { uni.showToast({ icon: 'none', title: '网络异常,请检查网络状况', duration: 2000 }); } else { uni.request(baseDefaultOpts).then( (res) => { // console.log(JSON.stringify(res[1].data)) // if(res[1].data.code == '200' || res[1].data.code == 200){ // // 后端返回的状态码100为成功状态,成功则返回请求结果,在app调试时可以通过console.log(JSON.stringify(res[1].data))来查看返回值(以项目实际情况为准) // resolve(res[1].data) // }else{ // uni.showToast({ // icon:'none', // title: res[1].data.message, // duration: 2000 // }); // } if (res[1]) { if (res[1].data.code == '200' || res[1].data.code == 200) { resolve(res[1].data) }else{ uni.showToast({ icon:'none', title: res[1].data.message, duration: 2000 }); // resolve(res[1].data) } } else { uni.showToast({ icon: 'none', title: '网络异常,请检查网络状况', duration: 2000 }); reject(res) } // // 登录失败 // if(res[1].data.code == '11006' || res[1].data.code == 11006){ // reject(res[1].data) // } // if(res[1].data.code == '105' || res[1].data.code == 105){ // // 后端返回状态码为105则为未登录状态(以项目实际情况为准) // uni.showToast({ // icon:'none', // title: '尚未登录', // duration: 2000 // }); // // 尚未登录的逻辑处理 // return false // } } ).catch( (response) => { uni.showToast({ icon: 'none', title: '系统未知异常,请联系管理员', duration: 2000 }); reject(response) } ) } }) }) return promise }; //带Token请求 const TokenRequest = (method, url, data, header) => { var contentheader = 'application/json' if (header) { contentheader = header } let ac_token = ""; uni.getStorage({ key: 'userInfo', success: function(res) { ac_token = res.data.accessToken } }); //此token是登录成功后后台返回保存在storage中的 let DefaultOpts = { url: baseUrl + url, data: data, method: method, header: { 'content-type': contentheader, 'Token': ac_token, } } let promise = new Promise(function(resolve, reject) { uni.request(DefaultOpts).then( (res) => { console.log(JSON.stringify(res[1].data)) if (res[1].data.code == '200' || res[1].data.code == 200) { // 后端返回的状态码100为成功状态,成功则返回请求结果,在app调试时可以通过console.log(JSON.stringify(res[1].data))来查看返回值(以项目实际情况为准) resolve(res[1].data) } if (res[1].data.code == '105' || res[1].data.code == 105) { // 后端返回状态码为105则为未登录状态(以项目实际情况为准) uni.showToast({ icon: 'none', title: '尚未登录', duration: 2000 }); // 尚未登录的逻辑处理 return false } } ).catch( (response) => { reject(response) } ) }) return promise } export default { baseUrl, baseRequest, TokenRequest }