request.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. //使用方法
  2. // require("promise.prototype.finally").shim(); //使用时请引用finally
  3. // import {request} from '../../request/request'
  4. // request({
  5. // url: '/room/list',
  6. // }).then(res => {
  7. // console.log(res)
  8. // }).catch(err => {
  9. // console.log(err)
  10. // }).finally(() => {
  11. // Loading.close()
  12. // })
  13. //配置文件
  14. import axios from 'axios'
  15. export function request(config) {
  16. let newVar = axios.create({
  17. baseURL: "http://192.168.237.6:9002",
  18. timeout: 10000
  19. });
  20. return newVar(config);
  21. }
  22. //在uni-app中使用对app有效果,h5不需要
  23. axios.defaults.adapter = function (config) {
  24. return new Promise((resolve, reject) => {
  25. var settle = require('axios/lib/core/settle');
  26. var buildURL = require('axios/lib/helpers/buildURL');
  27. uni.request({
  28. method: config.method.toUpperCase(),
  29. url: config.baseURL + buildURL(config.url, config.params, config.paramsSerializer),
  30. header: config.headers,
  31. data: config.data,
  32. dataType: config.dataType,
  33. responseType: config.responseType,
  34. sslVerify: config.sslVerify,
  35. complete: function complete(response) {
  36. response = {
  37. data: response.data,
  38. status: response.statusCode,
  39. errMsg: response.errMsg,
  40. header: response.header,
  41. config: config
  42. };
  43. settle(resolve, reject, response);
  44. }
  45. })
  46. })
  47. }