刘光辉
5 小时以前 cf11e63b659afcc9792ab3e395f1b45d844431a8
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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 },
  );
}