刘光辉
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
import type { DmsPermissionResource } from '#/api/x/dms/permission';
import type { DmsPersonalFolderFile } from '#/api/x/dms/personalFolder';
 
export function personalFileDisplayName(file: DmsPermissionResource) {
  return file.fileName || file.documentName || file.name;
}
 
export function personalFileSize(sizeBytes?: number) {
  if (sizeBytes === undefined || sizeBytes === null) return '—';
  if (sizeBytes < 1024) return `${sizeBytes} B`;
  if (sizeBytes < 1024 ** 2) return `${(sizeBytes / 1024).toFixed(1)} KB`;
  if (sizeBytes < 1024 ** 3) return `${(sizeBytes / 1024 ** 2).toFixed(1)} MB`;
  return `${(sizeBytes / 1024 ** 3).toFixed(1)} GB`;
}
 
export function personalFileTone(fileName: string) {
  const name = fileName.toLowerCase();
  if (name.endsWith('.pdf')) return 'pdf';
  if (/\.(?:doc|docx)$/.test(name)) return 'word';
  if (/\.(?:xls|xlsx|csv)$/.test(name)) return 'excel';
  if (/\.(?:gif|jpe?g|png|webp)$/.test(name)) return 'image';
  return 'file';
}
 
export function personalFileExpired(file: DmsPersonalFolderFile, now = Date.now()) {
  if (!file.validTo) return false;
  const validTo = Date.parse(file.validTo);
  return !Number.isFinite(validTo) || validTo <= now;
}