import util from '../utils/util'; // import { app as vm } from '../main'; const islog = true; export class Server { request(url,data,method,header,isDefaultGet,failMsg){ return new Promise(async (rs,rj)=>{ // const _store = vm.$store; // let storeInfo = _store.state.storeInfo || null; // if(storeInfo)data['brand_id'] = storeInfo.brand_id; const _token = uni.getStorageSync('token') || ''; if(_token)data['token'] = _token; if(method === 'POST'&&_token)url = url + `?token=${_token}` uni.request({ url, data, method, // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT header: {...header, Pcassistant: 2}, // 设置请求的 header // {'custom-header': 'application/json'} success: res=>{ if(islog)console.log('req success---->',{ link: url, query: data, method: method, data: res, }) if(isDefaultGet){ if(failMsg == '')throw Error('默认回调,失败提示不能为空 key -> failMsg'); defaultGet({ url, data, res, failMsg, resolve: rs, reject: rj }); return } rs(res); }, fail: err=>{ if(islog)console.log('req fail---->',{ link: url, query: data, method: method, data: err, }) util.hideLoad(); if(typeof(err.errMsg) == 'string'&&(err.errMsg.indexOf('timeout')!=-1 || err.errMsg.indexOf('interrupted')!=-1 || err.errMsg.indexOf('请求超时')!=-1)){ util.showNone('网络超时!'); }else if(typeof(err.errMsg) == 'string'){ util.showNone(err.errMsg); }else{ util.showNone('请求数据失败!请检查当前网络状态。'); } rj(err); }, }) }) function defaultGet({res,failMsg,resolve,reject,url,data}){ if(res.data.code == 0){ resolve(res.data.data); }else{ util.hideLoad(); util.showNone(res.data.message || failMsg || ''); reject({url,res,data}); } } } get({url,data={},header={},isDefaultGet=true,failMsg=''}){ return this.request(url,data,'GET',header,isDefaultGet,failMsg); } post({url,data={},header={'custom-header': 'application/json'},isDefaultGet=true,failMsg=''}){ return this.request(url,data,'POST',header,isDefaultGet,failMsg); } uploadFile({url,filePath,onProgressCallBack,formData={}}){ return new Promise((rs,rj)=>{ let uploadTask = wx.uploadFile({ url,filePath,formData,name:'file',success:rs,fail:rj }) uploadTask.onProgressUpdate(res=>onProgressCallBack&&onProgressCallBack(res)) }) } } export const servers = new Server(); export default { servers, Server };