file.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import { baseUrl, apiPath, tenantId } from '@/sheep/config';
  2. import request, { getAccessToken } from '@/sheep/request';
  3. const FileApi = {
  4. // 上传文件
  5. uploadFile: (file, directory = '') => {
  6. uni.showLoading({
  7. title: '上传中',
  8. });
  9. return new Promise((resolve, reject) => {
  10. uni.uploadFile({
  11. url: baseUrl + apiPath + '/infra/file/upload',
  12. filePath: file,
  13. name: 'file',
  14. header: {
  15. Accept: '*/*',
  16. 'tenant-id': tenantId,
  17. Authorization: 'Bearer ' + getAccessToken(),
  18. },
  19. formData: {
  20. directory,
  21. },
  22. success: (uploadFileRes) => {
  23. let result = JSON.parse(uploadFileRes.data);
  24. if (result.error === 1) {
  25. uni.showToast({
  26. icon: 'none',
  27. title: result.msg,
  28. });
  29. } else {
  30. return resolve(result);
  31. }
  32. },
  33. fail: (error) => {
  34. console.log('上传失败:', error);
  35. return resolve(false);
  36. },
  37. complete: () => {
  38. uni.hideLoading();
  39. },
  40. });
  41. });
  42. },
  43. // 获取文件预签名地址
  44. getFilePresignedUrl: (name, directory) => {
  45. return request({
  46. url: '/infra/file/presigned-url',
  47. method: 'GET',
  48. params: {
  49. name,
  50. directory,
  51. },
  52. });
  53. },
  54. // 创建文件
  55. createFile: (data) => {
  56. return request({
  57. url: '/infra/file/create', // 请求的 URL
  58. method: 'POST', // 请求方法
  59. data: data, // 要发送的数据
  60. });
  61. },
  62. };
  63. export default FileApi;