request.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. // uniapp封装的请求方法
  2. let timeout = 60 * 1000;
  3. // 获取全局请求头方法
  4. const getHeader = () => {
  5. let header = {
  6. 'Content-Type': 'application/json',
  7. Authorization: uni.getStorageSync('token') || '',
  8. };
  9. return header;
  10. };
  11. // 获取host地址
  12. export const request = ({ url, method = 'GET', data = {}, header = null }: any) => {
  13. const VITE_API_BASE_URL = import.meta.env.VITE_API_BASE_URL || 'http://localhost:3000';
  14. return new Promise((resolve, reject) => {
  15. uni.request({
  16. url: VITE_API_BASE_URL + url,
  17. method,
  18. data,
  19. timeout: timeout,
  20. header: header || getHeader(),
  21. success: (res: any) => {
  22. resolve(res.data);
  23. },
  24. fail: (err) => {
  25. reject(err);
  26. },
  27. });
  28. });
  29. };
  30. export const useClientRequest = {
  31. post: (url: string, data?: any) => {
  32. return request({
  33. url,
  34. method: 'POST',
  35. data,
  36. });
  37. },
  38. get: (url: string, data?: any) => {
  39. return request({
  40. url,
  41. method: 'GET',
  42. data,
  43. });
  44. },
  45. put: (url: string, data?: any) => {
  46. return request({
  47. url,
  48. method: 'PUT',
  49. data,
  50. });
  51. },
  52. delete: (url: string, data?: any) => {
  53. return request({
  54. url,
  55. method: 'DELETE',
  56. data,
  57. });
  58. },
  59. };