request.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. const http = uni.$u.http;
  2. /**
  3. * 混入默认个性化配置
  4. * @param {*} config
  5. * @returns
  6. */
  7. function mixinCustom (config) {
  8. config.custom = Object.assign({
  9. auth: true,
  10. toast: true,
  11. catch: true,
  12. loading: true
  13. }, config.custom || {});
  14. return config;
  15. }
  16. /**
  17. * 格式化get请求url参数,将对象解析为字符串
  18. * @param {*} url
  19. * @param {*} params
  20. * @returns
  21. */
  22. function urlFormater (url, params) {
  23. if (params) {
  24. let paramList = [];
  25. for (let key in params) {
  26. paramList.push(key + '=' + params[key])
  27. }
  28. return url.indexOf('?') > -1 ? (url + '&' + paramList.join('&')) : (url + '?' + paramList.join('&'))
  29. }
  30. return url;
  31. }
  32. const request = {
  33. // post提交
  34. post (url, params, config = {}) {
  35. config = mixinCustom(config)
  36. return http.post(url, params, config);
  37. },
  38. // get提交
  39. get (url, params, config = {}) {
  40. config = mixinCustom(config)
  41. let path = urlFormater(url, params)
  42. return http.get(path, config);
  43. },
  44. // put提交
  45. put (url, params, config = {}) {
  46. config = mixinCustom(config)
  47. return http.put(url, params, config);
  48. },
  49. // delete提交
  50. delete (url, params, config = {}) {
  51. config = mixinCustom(config)
  52. return http.delete(url, params, config);
  53. },
  54. };
  55. export default request;