request.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. /**
  2. * author:AbuCoder
  3. * date:2022年5月22日13:53:23
  4. * 封装的异步请求处理函数
  5. * 需要在main.js引入与挂载 import request from 'utils/request.js' //引入异步请求函数
  6. * Vue.prototype.request = request.request //挂载到全局
  7. * 使用方法为:
  8. * request('接口名称',{key:value},'请求方式(默认为GET)')
  9. * .then(res=>{console.log(res)})
  10. */
  11. import { getToken} from "./auth";
  12. import { baseUrl,uploadUrl } from "./apiconfig";
  13. // let baseUrl = 'https://ga.rasmall.cn/prod-api/wxapi/';
  14. // let baseUrl = 'http://localhost:8083/wxapi/'
  15. async function request(mehtod, params, type, callBack) {
  16. //创建一个名为request请求的方法函数
  17. if (!type) {
  18. type = 'GET';
  19. }
  20. let header = {
  21. //设置请求头信息
  22. // 'Authorization': getToken(),
  23. // 'X-Requested-With': 'XMLHttpRequest',
  24. "Accept": "application/json",
  25. "Content-Type": "application/json; charset=UTF-8"
  26. };
  27. let http = {
  28. url: baseUrl + mehtod,
  29. data: params,
  30. method: type,
  31. header: header
  32. };
  33. let promise = new Promise((resolve, reject) => {
  34. uni.request(http).then(res => {
  35. let newdata = res[1].data; // if (newdata.code == 403) {
  36. if (newdata == -1) {
  37. //如果错误码为 -1 提示
  38. uni.showToast({
  39. title: res[1].data.msg,
  40. icon: 'none'
  41. });
  42. }
  43. resolve(res[1].data);
  44. }).catch(err => {
  45. reject(err);
  46. console.log(err);
  47. });
  48. });
  49. return promise;
  50. }
  51. async function requestJson(mehtod, params, type, headerParams, callBack) {
  52. //创建一个名为request请求的方法函数
  53. let header = {
  54. //设置请求头信息
  55. 'X-Requested-With': 'XMLHttpRequest',
  56. "Accept": "application/json",
  57. "Content-Type": "application/json; charset=UTF-8"
  58. };
  59. if(headerParams){
  60. header = Object.assign(header, headerParams);
  61. }
  62. let http = {
  63. url: mehtod,
  64. data: params,
  65. method: type,
  66. header: header
  67. };
  68. let promise = new Promise((resolve, reject) => {
  69. uni.request(http).then(res => {
  70. resolve(res);
  71. }).catch(err => {
  72. reject(err);
  73. console.log(err);
  74. });
  75. });
  76. return promise;
  77. }
  78. async function requestForm(mehtod, params, type, callBack) {
  79. //创建一个名为request请求的方法函数
  80. let header = {
  81. //设置请求头信息
  82. 'X-Requested-With': 'XMLHttpRequest',
  83. "Accept": "application/json",
  84. "Content-Type": "application/x-www-form-urlencoded"
  85. };
  86. let http = {
  87. url: mehtod,
  88. data: params,
  89. method: type,
  90. header: header
  91. };
  92. let promise = new Promise((resolve, reject) => {
  93. uni.request(http).then(res => {
  94. resolve(res);
  95. }).catch(err => {
  96. reject(err);
  97. console.log(err);
  98. });
  99. });
  100. return promise;
  101. }
  102. export default {
  103. request,
  104. requestJson,
  105. requestForm
  106. };