gaoluyang
2026-06-24 bfdc0e0e6d5e47aa501f9b6fadd143d9c97cf00a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import type { UploadProps } from 'ant-design-vue';
 
import type { UploadRawFile } from '#/views/mp/hooks/useUpload';
 
import { useAccessStore } from '../../../../packages/stores/src';
 
import { UploadType, useBeforeUpload } from '#/views/mp/hooks/useUpload';
 
const accessStore = useAccessStore();
const HEADERS = { Authorization: `Bearer ${accessStore.accessToken}` }; // 请求头
const UPLOAD_URL = `${import.meta.env.VITE_BASE_URL}/admin-api/mp/material/upload-permanent`; // 上传地址
 
interface UploadData {
  accountId: number;
  introduction: string;
  title: string;
  type: UploadType;
}
 
const beforeImageUpload: UploadProps['beforeUpload'] = function (
  rawFile: UploadRawFile,
) {
  return useBeforeUpload(UploadType.Image, 2)(rawFile);
};
 
const beforeVoiceUpload: UploadProps['beforeUpload'] = function (
  rawFile: UploadRawFile,
) {
  return useBeforeUpload(UploadType.Voice, 2)(rawFile);
};
 
const beforeVideoUpload: UploadProps['beforeUpload'] = function (
  rawFile: UploadRawFile,
) {
  return useBeforeUpload(UploadType.Video, 10)(rawFile);
};
 
export {
  beforeImageUpload,
  beforeVideoUpload,
  beforeVoiceUpload,
  HEADERS,
  UPLOAD_URL,
  type UploadData,
  UploadType,
};