feat: update

This commit is contained in:
yanghao05
2025-04-09 19:24:04 +08:00
parent cc557198f7
commit 8210787009

View File

@@ -189,17 +189,15 @@ const getFileIcon = (file) => {
// Format file size helper
const formatFileSize = (bytes) => {
if (bytes === 0) return '0 B';
const k = BigInt(1024);
if (!bytes && bytes !== 0) return '0 B';
const sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
const bytesValue = BigInt(bytes);
let i = 0;
let size = bytesValue;
while (size >= k && i < sizes.length - 1) {
size = size / k;
i++;
}
return `${Number(size).toLocaleString('en-US')} ${sizes[i]}`;
const base = 1024;
let size = Number(bytes);
if (isNaN(size)) return '0 B';
const i = Math.floor(Math.log(size) / Math.log(base));
size = size / Math.pow(base, i);
return `${size.toFixed(2)} ${sizes[i]}`;
};
</script>
@@ -271,16 +269,17 @@ const formatFileSize = (bytes) => {
class="relative border border-gray-200 rounded-md p-2 flex items-center">
<div v-if="media.thumbnailUrl" class="flex-shrink-0 h-10 w-10 mr-3">
<img class="h-10 w-10 object-cover rounded" :src="media.thumbnailUrl"
:alt="media.fileName">
:alt="media.file_name">
</div>
<div v-else
class="flex-shrink-0 h-10 w-10 mr-3 bg-gray-100 rounded flex items-center justify-center">
<i :class="getFileIcon(media)" class="text-2xl"></i>
</div>
<div class="flex-1 overflow-hidden">
<div class="text-sm font-medium text-gray-900 truncate">{{ media.fileName }}
<div class="text-sm font-medium text-gray-900 truncate">
{{ media.name }}
</div>
<Badge :value="media.fileType" :severity="getBadgeSeverity(media.fileType)"
<Badge :value="media.file_type" :severity="getBadgeSeverity(media.file_type)"
class="text-xs" />
</div>
<Button icon="pi pi-times" class="p-button-rounded p-button-text p-button-sm"
@@ -334,32 +333,28 @@ const formatFileSize = (bytes) => {
<Column field="fileName" header="文件名">
<template #body="{ data }">
<div class="flex items-center">
<div v-if="data.thumbnailUrl" class="flex-shrink-0 h-10 w-10 mr-3">
<img class="h-10 w-10 object-cover rounded" :src="data.thumbnailUrl" :alt="data.fileName">
</div>
<div v-else
class="flex-shrink-0 h-10 w-10 mr-3 bg-gray-100 rounded flex items-center justify-center">
<i :class="getFileIcon(data)" class="text-2xl"></i>
</div>
<div class="text-sm font-medium text-gray-900">{{ data.fileName }}</div>
</div>
<div class="text-sm font-medium text-gray-900">{{ data.name }}</div>
</template>
</Column>
<Column field="fileType" header="文件类型">
<template #body="{ data }">
<Badge :value="data.fileType" :severity="getBadgeSeverity(data.fileType)" />
<Badge :value="data.file_type" :severity="getBadgeSeverity(data.file_type)" />
</template>
</Column>
<Column field="file_size" header="文件大小">
<Column field="fileSize" header="文件大小">
<template #body="{ data }">
{{ formatFileSize(data.file_size) }}
</template>
</Column>
<Column field="uploadTime" header="上传时间"></Column>
<Column field="createdAt" header="上传时间">
<template #body="{ data }">
{{ new Date(data.upload_time).toLocaleString('zh-CN') }}
</template>
</Column>
</DataTable>
<template #footer>