index.ts 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import {uploadFile} from '/@/api/system/uploadFile';
  2. import request from '/@/utils/request';
  3. // 接口基类
  4. export const useBaseApi = (module: string) => {
  5. const baseUrl = `/api/${module}/`;
  6. return {
  7. request,
  8. uploadFile,
  9. baseUrl: baseUrl,
  10. page: (data: any) => request({
  11. url: baseUrl + "page",
  12. method: 'post',
  13. data,
  14. }),
  15. list: (params: any) => request({
  16. url: baseUrl + "list",
  17. method: 'get',
  18. params,
  19. }),
  20. detail: (id: any) => request({
  21. url: baseUrl + "detail",
  22. method: 'get',
  23. data: { id },
  24. }),
  25. dropdownData: (data: any) => request({
  26. url: baseUrl + "dropdownData",
  27. method: 'post',
  28. data,
  29. }),
  30. add: (data: any) => request({
  31. url: baseUrl + 'add',
  32. method: 'post',
  33. data
  34. }),
  35. update: (data: any) => request({
  36. url: baseUrl + 'update',
  37. method: 'post',
  38. data
  39. }),
  40. setStatus: (data: any) => request({
  41. url: baseUrl + 'setStatus',
  42. method: 'post',
  43. data
  44. }),
  45. delete: (data: any) => request({
  46. url: baseUrl + 'delete',
  47. method: 'post',
  48. data
  49. }),
  50. batchDelete: (data: any) => request({
  51. url: baseUrl + 'batchDelete',
  52. method: 'post',
  53. data
  54. }),
  55. downloadTemplate: () => request({
  56. responseType: 'arraybuffer',
  57. url: baseUrl + 'import',
  58. method: 'get',
  59. }),
  60. importData: (file: any) => {
  61. const formData = new FormData();
  62. formData.append('file', file);
  63. return request({
  64. headers: { 'Content-Type': 'multipart/form-data;charset=UTF-8' },
  65. responseType: 'arraybuffer',
  66. url: baseUrl + 'import',
  67. method: 'post',
  68. data: formData,
  69. });
  70. },
  71. }
  72. }