28 lines
737 B
TypeScript
28 lines
737 B
TypeScript
import { get } from '@/utils/request';
|
||
import type { OssUploadTypeValue } from '@/utils/oss';
|
||
|
||
/** OSS 签名数据 */
|
||
export interface OssSignData {
|
||
host: string;
|
||
dir: string;
|
||
policy: string;
|
||
signature: string;
|
||
x_oss_credential: string;
|
||
x_oss_date: string;
|
||
security_token: string;
|
||
}
|
||
|
||
/**
|
||
* 获取 OSS 上传签名
|
||
* @param type 上传类型(参见 OssUploadType)
|
||
*/
|
||
export async function fetchOssSign(type: OssUploadTypeValue): Promise<OssSignData> {
|
||
// 后端签名接口地址(待对接时调整)
|
||
const res: any = await get('/sys/oss/getUploadSign', { type });
|
||
const data = res?.data as OssSignData;
|
||
if (!data?.host) {
|
||
throw new Error(res?.msg || '获取上传凭证失败');
|
||
}
|
||
return data;
|
||
}
|