47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
import type { UploadProps } from 'ant-design-vue';
|
|
|
|
import type { UploadRawFile } from '#/views/mp/hooks/useUpload';
|
|
|
|
import { useAccessStore } from '@vben/stores';
|
|
|
|
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,
|
|
};
|