request.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import App from '../App'
  2. export default function request (opt) {
  3. opt = opt || {};
  4. opt.url = opt.url || '';
  5. opt.data = opt.data || null;
  6. opt.method = opt.method || 'GET';
  7. let otherParam = {};
  8. if(!opt.responseType){
  9. opt.header = opt.header || {
  10. "Content-Type": "application/x-www-form-urlencoded",
  11. "Language": App.globalData.curLang
  12. };
  13. otherParam.dataType = 'json'
  14. }else{
  15. opt.header = {
  16. "Language": App.globalData.curLang
  17. }
  18. otherParam.responseType = opt.responseType;
  19. }
  20. if(opt.url.indexOf('frontLogin/oauth/token')>-1||opt.url.indexOf('v3/video/front/video/setting/getSettingList')>-1){
  21. opt.header.Authorization = 'Basic ZnJvbnQ6ZnJvbnQ=';
  22. }else {
  23. let userInfo = uni.getStorageSync('userInfo') || '';
  24. let token = '';
  25. if(userInfo&&userInfo.access_token){
  26. token = userInfo.access_token;
  27. }
  28. opt.header.Authorization = 'Bearer '+token;
  29. }
  30. return new Promise((resolve,reject)=>{
  31. uni.request({
  32. url: getApp().globalData.apiUrl + opt.url,
  33. data: opt.data,
  34. method: opt.method,
  35. header: opt.header,
  36. ...otherParam,
  37. success: res=>{
  38. if(res.state == 501){
  39. //需要登录,判断是否有refresh_token
  40. let userInfo = uni.getStorageSync('userInfo') || '';
  41. if(userInfo.access_token){
  42. //根据refresh_token获取access_token
  43. this.$updateToken();
  44. }else{
  45. resolve(res.data);
  46. }
  47. }else{
  48. resolve(res.data);
  49. }
  50. },
  51. fail: err=>{
  52. reject(err);
  53. },
  54. complete: (res)=>{
  55. }
  56. })
  57. })
  58. }