import type { DmsPreviewResourceType } from './preview';
|
import type { DmsWatermarkParameters } from './watermarkParameters';
|
|
import { defHttp } from '#/api/request';
|
|
export interface DmsFilePrintTicketRequest extends DmsWatermarkParameters {
|
copies?: number;
|
requireSerialWatermark?: boolean;
|
operationId: string;
|
printPages?: string;
|
resourceId: string;
|
resourceType: DmsPreviewResourceType;
|
}
|
|
export interface DmsFilePrintTicket {
|
accessTicket: string;
|
copies: number;
|
expiresAt: string;
|
fileName: string;
|
fileVersionId: string;
|
mimeType?: string;
|
printPages?: string;
|
sizeBytes?: number;
|
}
|
|
interface DmsApiResult<T> {
|
code: number;
|
data: T;
|
msg?: string;
|
}
|
|
export interface DmsPrintRenderItem {
|
accessTicket: string;
|
fileName: string;
|
fileVersionId: string;
|
printPages?: string;
|
}
|
|
export type DmsPrintRenderRequest = DmsPrintRenderItem | { items: DmsPrintRenderItem[]; source: DmsPrintRenderItem };
|
|
export function createDmsFilePrintTicket(data: DmsFilePrintTicketRequest) {
|
return defHttp.post<DmsApiResult<DmsFilePrintTicket>>({ url: '/api/dms/file-print-tickets', data }, { errorMessageMode: 'none' });
|
}
|
|
export function getDmsFilePageCount(fileVersionId: string) {
|
return defHttp.get<DmsApiResult<{ fileName: string; fileVersionId: string; pageCount: number }>>({
|
url: `/api/dms/file-versions/${fileVersionId}/page-count`,
|
});
|
}
|
|
export function renderDmsPrintPdf(data: DmsPrintRenderRequest) {
|
return defHttp.post<Blob>(
|
{
|
url: '/api/biz/onlyoffice/dms-print/render',
|
data,
|
headers: { Accept: 'application/pdf' },
|
responseType: 'blob',
|
},
|
{ errorMessageMode: 'none', isTransformResponse: false },
|
);
|
}
|