ui: show file names instead of full paths in shares

This commit is contained in:
2026-02-17 22:54:12 +08:00
parent 5f7599bd0d
commit aad1202d5e
2 changed files with 19 additions and 5 deletions

View File

@@ -2985,7 +2985,7 @@
<div v-for="share in filteredShares" :key="share.id" class="share-card">
<div class="share-card__title">
<i class="fas" :class="getShareTypeIcon(share)" style="color: var(--accent-1);"></i>
<span :title="share.share_path">{{ share.share_path }}</span>
<span :title="share.share_path">{{ getPathBaseName(share.share_path) }}</span>
</div>
<div class="share-card__chips">
<span :class="['share-chip', getShareStatus(share).class]">
@@ -3032,7 +3032,7 @@
<table v-else class="share-list-table">
<thead>
<tr style="border-bottom: 2px solid #ddd;">
<th style="padding: 10px; text-align: left; width: 18%;">文件路径</th>
<th style="padding: 10px; text-align: left; width: 18%;">文件</th>
<th style="padding: 10px; text-align: left; width: 30%;">链接地址</th>
<th style="padding: 10px; text-align: center; width: 8%;">访问次数</th>
<th style="padding: 10px; text-align: center; width: 8%;">下载次数</th>
@@ -3042,7 +3042,7 @@
</thead>
<tbody>
<tr v-for="share in filteredShares" :key="share.id" style="border-bottom: 1px solid #eee;">
<td style="padding: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;" :title="share.share_path">{{ share.share_path }}</td>
<td style="padding: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;" :title="share.share_path">{{ getPathBaseName(share.share_path) }}</td>
<td style="padding: 10px; overflow: hidden;">
<span class="share-list-link-text" :title="share.share_url">{{ share.share_url }}</span>
</td>
@@ -3090,7 +3090,7 @@
<table v-else class="share-list-table">
<thead>
<tr style="border-bottom: 2px solid #ddd;">
<th style="padding: 10px; text-align: left; width: 18%;">文件路径</th>
<th style="padding: 10px; text-align: left; width: 18%;">文件</th>
<th style="padding: 10px; text-align: left; width: 30%;">链接地址</th>
<th style="padding: 10px; text-align: center; width: 8%;">访问次数</th>
<th style="padding: 10px; text-align: center; width: 8%;">下载次数</th>
@@ -3100,7 +3100,7 @@
</thead>
<tbody>
<tr v-for="link in filteredDirectLinks" :key="`direct-${link.id}`" style="border-bottom: 1px solid #eee;">
<td style="padding: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;" :title="link.file_path">{{ link.file_path }}</td>
<td style="padding: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;" :title="link.file_path">{{ getPathBaseName(link.file_path, link.file_name) }}</td>
<td style="padding: 10px; overflow: hidden;">
<span class="share-list-link-text" :title="link.direct_url">{{ link.direct_url }}</span>
</td>

View File

@@ -2702,6 +2702,20 @@ handleDragLeave(e) {
return normalized.startsWith('/') ? normalized : `/${normalized}`;
},
getPathBaseName(pathValue, preferredName = '') {
if (typeof preferredName === 'string' && preferredName.trim()) {
return preferredName.trim();
}
const normalized = this.normalizeSharePath(pathValue || '/');
if (normalized === '/') {
return '/';
}
const segments = normalized.split('/').filter(Boolean);
return segments.length > 0 ? segments[segments.length - 1] : '/';
},
isShareAllFiles(share) {
if (!share) return false;
const shareType = share.share_type || 'file';