qiniuData.ts 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import { IQiniuData } from '@/interface';
  2. import request from '@/utils/request';
  3. export interface IQiniuKey {
  4. prefix: string;
  5. hash: string;
  6. ext: string;
  7. }
  8. export function fetchQiniuDataList(params) {
  9. return request.get('/qiniu_data/list', {
  10. params,
  11. });
  12. }
  13. export function fetchDiff(params) {
  14. return request.get('/qiniu_data/diff', {
  15. params,
  16. });
  17. }
  18. // 上传图片
  19. export function fetchUpload(data: IQiniuKey) {
  20. // data:new FormData {prefix,uploadFiles}
  21. return request.post<{
  22. flag: boolean;
  23. respBody?: any;
  24. respErr?: any;
  25. respInfo?: any;
  26. resultUrl?: string;
  27. }>('/qiniu_data/upload', data, {
  28. timeout: 1000 * 60,
  29. });
  30. }
  31. // 上传chunk
  32. export function fetchUploadChunk(data) {
  33. // data:new FormData {prefix,uploadFiles}
  34. return request.post<{ percentage: number }>(
  35. '/qiniu_data/upload_chunk',
  36. data,
  37. {
  38. headers: { 'Content-Type': 'multipart/form-data;' },
  39. timeout: 1000 * 60,
  40. }
  41. );
  42. }
  43. // 合并chunk
  44. export function fetchUploadMergeChunk(data) {
  45. // data:new FormData {prefix,uploadFiles}
  46. return request.post('/qiniu_data/merge_chunk', data, {
  47. timeout: 1000 * 60,
  48. });
  49. }
  50. // 获取上传图片进度
  51. export function fetchUploadProgress(params: IQiniuKey) {
  52. return request.get<{ percentage?: number }>('/qiniu_data/progress', {
  53. timeout: 1000 * 10, // 以免并发轮询获取进度的时候超时
  54. params,
  55. });
  56. }
  57. export function fetchCreateLink(data: IQiniuData) {
  58. return request.post('/qiniu_data/create', data);
  59. }
  60. export function fetchUpdateQiniuData(data: IQiniuData) {
  61. return request.instance({
  62. url: `/qiniu_data/update/${data.id!}`,
  63. method: 'put',
  64. data,
  65. });
  66. }
  67. export function fetchDeleteQiniuData(id: number) {
  68. return request.instance({
  69. url: `/qiniu_data/delete/${id}`,
  70. method: 'delete',
  71. });
  72. }
  73. // eslint-disable-next-line camelcase
  74. export function fetchDeleteQiniuDataByQiniuKey(qiniu_key: string) {
  75. return request.instance({
  76. url: `/qiniu_data/delete_by_qiniukey`,
  77. // delete请求的话,设置params参数都是在地址栏的,因此会将如果参数是数组,会将数组序列化,如http://127.0.0.1:3300/role/batch_delete_child_roles?id=1&c_roles=18&c_roles=2&c_roles=%2733%27
  78. method: 'delete',
  79. // data: { qiniu_key },
  80. // eslint-disable-next-line camelcase
  81. params: { qiniu_key }, // 后端的koa-body设置了strict:true,则delete不会解析data数据,因此需要使用params
  82. });
  83. }