|
@@ -262,11 +262,11 @@
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
<div class="logo-upload-text">点击或拖拽上传</div>
|
|
<div class="logo-upload-text">点击或拖拽上传</div>
|
|
|
- <div class="logo-upload-hint" v-if="logoLoadError">图片加载出错或已被删除,请重新上传</div>
|
|
|
|
|
|
|
+ <div class="logo-upload-hint" v-if="logoLoadError">LOGO指向的文件不存在或加载失败,请重新上传</div>
|
|
|
<div class="logo-upload-hint" v-else>支持PNG、JPG格式</div>
|
|
<div class="logo-upload-hint" v-else>支持PNG、JPG格式</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div v-else class="logo-upload-preview">
|
|
<div v-else class="logo-upload-preview">
|
|
|
- <img :src="'file:///' + form.logo_path" alt="LOGO预览" class="logo-preview-image" @error="handleLogoLoadError" />
|
|
|
|
|
|
|
+ <img :src="'file:///' + form.logo_path" alt="LOGO预览" class="logo-preview-image" @error="handleLogoLoadError" />
|
|
|
<div class="logo-upload-actions">
|
|
<div class="logo-upload-actions">
|
|
|
<span class="logo-action-btn" @click.stop="previewLogo">
|
|
<span class="logo-action-btn" @click.stop="previewLogo">
|
|
|
<el-icon><ZoomIn /></el-icon>
|
|
<el-icon><ZoomIn /></el-icon>
|
|
@@ -275,6 +275,10 @@
|
|
|
<el-icon><Delete /></el-icon>
|
|
<el-icon><Delete /></el-icon>
|
|
|
</span>
|
|
</span>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <div class="logo-upload-footer">
|
|
|
|
|
+ <el-button type="primary" link @click.stop="openLogoUpload">重新上传</el-button>
|
|
|
|
|
+ <el-button type="danger" link @click.stop="removeLogo">删除</el-button>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -913,7 +917,7 @@ const scenePrompt = ref('')
|
|
|
// 本地缓存键(与弹窗组件保持一致)
|
|
// 本地缓存键(与弹窗组件保持一致)
|
|
|
const DETAIL_MODEL_CACHE_KEY = 'model_selection_cache'
|
|
const DETAIL_MODEL_CACHE_KEY = 'model_selection_cache'
|
|
|
const DETAIL_SCENE_PROMPT_CACHE_KEY = 'scene_prompt_cache'
|
|
const DETAIL_SCENE_PROMPT_CACHE_KEY = 'scene_prompt_cache'
|
|
|
-const DETAIL_LOGO_CACHE_KEY = 'detail_logo_cache'
|
|
|
|
|
|
|
+const detail_logo_cache_1_KEY = 'detail_logo_cache_1'
|
|
|
const DETAIL_DATA_TYPE_CACHE_KEY = 'detail_data_type_cache'
|
|
const DETAIL_DATA_TYPE_CACHE_KEY = 'detail_data_type_cache'
|
|
|
const DETAIL_SERVICES_CACHE_KEY = 'detail_services_cache'
|
|
const DETAIL_SERVICES_CACHE_KEY = 'detail_services_cache'
|
|
|
const DETAIL_TEMPLATE_CACHE_KEY = 'detail_template_cache'
|
|
const DETAIL_TEMPLATE_CACHE_KEY = 'detail_template_cache'
|
|
@@ -943,9 +947,10 @@ const loadDetailCache = () => {
|
|
|
|
|
|
|
|
// 加载LOGO缓存
|
|
// 加载LOGO缓存
|
|
|
try {
|
|
try {
|
|
|
- const logo = localStorage.getItem(DETAIL_LOGO_CACHE_KEY)
|
|
|
|
|
|
|
+ const logo = localStorage.getItem(detail_logo_cache_1_KEY)
|
|
|
if (logo) {
|
|
if (logo) {
|
|
|
- form.logo_path = logo
|
|
|
|
|
|
|
+ form.logo_path = logo || ''
|
|
|
|
|
+ console.log(form.logo_path);
|
|
|
console.log('loadDetailCache - logo:', logo);
|
|
console.log('loadDetailCache - logo:', logo);
|
|
|
}
|
|
}
|
|
|
} catch {}
|
|
} catch {}
|
|
@@ -1008,10 +1013,7 @@ const saveScenePromptToCache = (prompt: string) => {
|
|
|
// 保存LOGO到缓存
|
|
// 保存LOGO到缓存
|
|
|
const saveLogoToCache = (logoPath: string) => {
|
|
const saveLogoToCache = (logoPath: string) => {
|
|
|
try {
|
|
try {
|
|
|
- if (logoPath) {
|
|
|
|
|
- localStorage.setItem(DETAIL_LOGO_CACHE_KEY, logoPath)
|
|
|
|
|
- console.log('saveLogoToCache:', logoPath);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ localStorage.setItem(detail_logo_cache_1_KEY, logoPath)
|
|
|
} catch {}
|
|
} catch {}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1628,7 +1630,9 @@ const previewLogo = () => {
|
|
|
// 删除LOGO
|
|
// 删除LOGO
|
|
|
const removeLogo = () => {
|
|
const removeLogo = () => {
|
|
|
if (form.logo_path) {
|
|
if (form.logo_path) {
|
|
|
- const currentLogoPath = form.logo_path
|
|
|
|
|
|
|
+ saveLogoToCache('')
|
|
|
|
|
+ form.logo_path = ''
|
|
|
|
|
+ /* const currentLogoPath = form.logo_path
|
|
|
clientStore.ipc.send(icpList.generate.deleteLogo, {
|
|
clientStore.ipc.send(icpList.generate.deleteLogo, {
|
|
|
path: currentLogoPath
|
|
path: currentLogoPath
|
|
|
});
|
|
});
|
|
@@ -1643,11 +1647,12 @@ const removeLogo = () => {
|
|
|
logoList.value.splice(index, 1)
|
|
logoList.value.splice(index, 1)
|
|
|
}
|
|
}
|
|
|
clientStore.ipc.removeAllListeners(icpList.generate.deleteLogo);
|
|
clientStore.ipc.removeAllListeners(icpList.generate.deleteLogo);
|
|
|
- })
|
|
|
|
|
|
|
+ })*/
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const handleLogoLoadError = () => {
|
|
const handleLogoLoadError = () => {
|
|
|
|
|
+ if (!form.logo_path) return
|
|
|
if (!logoLoadError.value) {
|
|
if (!logoLoadError.value) {
|
|
|
logoLoadError.value = true
|
|
logoLoadError.value = true
|
|
|
form.logo_path = ''
|
|
form.logo_path = ''
|
|
@@ -2413,6 +2418,13 @@ const selectFolder = () => {
|
|
|
&:hover .logo-upload-actions {
|
|
&:hover .logo-upload-actions {
|
|
|
opacity: 1;
|
|
opacity: 1;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ .logo-upload-footer {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: flex-end;
|
|
|
|
|
+ gap: 12px;
|
|
|
|
|
+ padding: 8px 4px 0;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.logo-upload {
|
|
.logo-upload {
|