dispatchRequest.js 657 B

12345678910111213141516171819202122232425262728293031
  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 {
  11. reject(res);
  12. }
  13. },
  14. fail: res => {
  15. reject(res);
  16. }
  17. });
  18. uni.request(config);
  19. });
  20. }
  21. const combineURLs = (baseUrl, relativeUrl) => {
  22. return relativeUrl ?
  23. baseUrl.replace(/\/+$/, '') + '/' + relativeUrl.replace(/^\/+/, '') :
  24. baseUrl;
  25. }
  26. const isAbsoluteURL = (url) => {
  27. return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
  28. };