dispatchRequest.js 813 B

12345678910111213141516171819202122232425262728293031323334353637
  1. export default (config) => {
  2. if (config.baseUrl && !isAbsoluteURL(config.url)) {
  3. config.url = combineURLs(config.baseUrl, config.url);
  4. }
  5. return new Promise((resolve, reject) => {
  6. config = Object.assign(config, {
  7. success: res => {
  8. if (res.statusCode === 200) {
  9. resolve(res);
  10. }else if(res.statusCode === 401){
  11. // 未授权,跳转回登录页
  12. uni.reLaunch({
  13. url: "/pages/Login/Login",
  14. });
  15. reject(res);
  16. }else {
  17. reject(res);
  18. }
  19. },
  20. fail: res => {
  21. reject(res);
  22. }
  23. });
  24. uni.request(config);
  25. });
  26. }
  27. const combineURLs = (baseUrl, relativeUrl) => {
  28. return relativeUrl ?
  29. baseUrl.replace(/\/+$/, '') + '/' + relativeUrl.replace(/^\/+/, '') :
  30. baseUrl;
  31. }
  32. const isAbsoluteURL = (url) => {
  33. return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
  34. };