import App from '../App' export default function request (opt) { opt = opt || {}; opt.url = opt.url || ''; opt.data = opt.data || null; opt.method = opt.method || 'GET'; let otherParam = {}; if(!opt.responseType){ opt.header = opt.header || { "Content-Type": "application/x-www-form-urlencoded", "Language": App.globalData.curLang }; otherParam.dataType = 'json' }else{ opt.header = { "Language": App.globalData.curLang } otherParam.responseType = opt.responseType; } if(opt.url.indexOf('frontLogin/oauth/token')>-1||opt.url.indexOf('v3/video/front/video/setting/getSettingList')>-1){ opt.header.Authorization = 'Basic ZnJvbnQ6ZnJvbnQ='; }else { let userInfo = uni.getStorageSync('userInfo') || ''; let token = ''; if(userInfo&&userInfo.access_token){ token = userInfo.access_token; } opt.header.Authorization = 'Bearer '+token; } return new Promise((resolve,reject)=>{ uni.request({ url: getApp().globalData.apiUrl + opt.url, data: opt.data, method: opt.method, header: opt.header, ...otherParam, success: res=>{ if(res.state == 501){ //需要登录,判断是否有refresh_token let userInfo = uni.getStorageSync('userInfo') || ''; if(userInfo.access_token){ //根据refresh_token获取access_token this.$updateToken(); }else{ resolve(res.data); } }else{ resolve(res.data); } }, fail: err=>{ reject(err); }, complete: (res)=>{ } }) }) }