|
|
@@ -19,9 +19,10 @@
|
|
|
<el-table-column label="id" align="center" prop="id" />
|
|
|
<el-table-column label="用戶id" align="center" prop="userId" />
|
|
|
<el-table-column label="所屬用戶" align="center" prop="userName" />
|
|
|
- <el-table-column label="圖片" align="center" prop="url" >
|
|
|
+ <el-table-column label="圖片" align="center" prop="url" width="120">
|
|
|
<template #default="{ row }">
|
|
|
- <image-preview :src="getImageUrl(row.url)" :width="80" :height="80"/>
|
|
|
+ <image-preview v-if="row.url" :src="getImageUrl(row.url)" :width="80" :height="80"/>
|
|
|
+ <span v-else style="color: #909399;">-</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="圖片時間" align="center" prop="createDate" />
|
|
|
@@ -44,7 +45,7 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="圖片" prop="url">
|
|
|
<image-preview v-if="form.url" :src="getImageUrl(form.url)" :width="100" :height="100"/>
|
|
|
- <image-upload :limit="1" v-model="form.url"/>
|
|
|
+<!-- <image-upload :limit="1" v-model="form.url"/>-->
|
|
|
</el-form-item>
|
|
|
<el-form-item label="圖片時間" prop="createDate">
|
|
|
<el-input v-model="form.createDate" placeholder="請輸入圖片時間" />
|
|
|
@@ -92,8 +93,17 @@ const getImageUrl = (url) => {
|
|
|
if (filePath && url.startsWith(filePath)) {
|
|
|
return url
|
|
|
}
|
|
|
- // 在前面加上文件路径前缀
|
|
|
- return filePath ? filePath + url : url
|
|
|
+ // 如果 filePath 是完整URL(以 http:// 或 https:// 开头),在前面加上文件路径前缀
|
|
|
+ // 这样返回的URL会被 ImagePreview 组件识别为外部链接,不会再添加 VITE_APP_BASE_API
|
|
|
+ if (filePath && isExternal(filePath)) {
|
|
|
+ // 确保 filePath 以 / 结尾,url 不以 / 开头
|
|
|
+ const normalizedFilePath = filePath.endsWith('/') ? filePath : filePath + '/'
|
|
|
+ const normalizedUrl = url.startsWith('/') ? url.substring(1) : url
|
|
|
+ return normalizedFilePath + normalizedUrl
|
|
|
+ }
|
|
|
+ // 如果 filePath 不是完整URL,直接返回原始URL,让 ImagePreview 组件自己处理
|
|
|
+ // 因为 ImagePreview 会添加 VITE_APP_BASE_API
|
|
|
+ return url
|
|
|
}
|
|
|
|
|
|
onMounted(()=>{
|