diff --git a/frontend/src/views/CanvasView.vue b/frontend/src/views/CanvasView.vue
index 5858890..b69e3a1 100644
--- a/frontend/src/views/CanvasView.vue
+++ b/frontend/src/views/CanvasView.vue
@@ -817,7 +817,7 @@ onBeforeRouteLeave(async () => {
})
const saveLabel = computed(() => ({
- saved: '', dirty: '', saving: '保存中…', error: '保存失败,重试中',
+ saved: '', dirty: '', saving: '', error: '保存失败,重试中',
}[saveState.value] || ''))
@@ -853,10 +853,7 @@ const saveLabel = computed(() => ({
-
-
+
{{ saveLabel }}
@@ -972,19 +969,25 @@ const saveLabel = computed(() => ({
-
+
-
插入图片(点击放置到画布)
-
-
-
-
+
图片库(点击插入画布)
+
加载中…
-
还没有生成过图片
+
![]()
({
border-color: rgb(124 92 252 / 0.55);
box-shadow: 0 8px 20px var(--accent-glow);
}
+.cv-picker__up {
+ width: 100%;
+ aspect-ratio: 1;
+ border-radius: 10px;
+ border: 2px dashed rgb(124 92 252 / 0.45);
+ background: transparent;
+ color: var(--m-orange);
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ gap: 6px;
+ font-size: 12px;
+ font-weight: 700;
+ cursor: pointer;
+ transition: transform 0.12s ease, border-color 0.12s ease, background 0.12s ease, box-shadow 0.12s ease;
+}
+.cv-picker__up:hover {
+ transform: translateY(-2px);
+ border-color: var(--m-orange);
+ background: rgb(124 92 252 / 0.08);
+ box-shadow: 0 8px 20px var(--accent-glow);
+}
+.cv-picker__up:disabled {
+ opacity: 0.6;
+ cursor: wait;
+}
+.cv-picker__up-icon {
+ font-size: 22px;
+ line-height: 1;
+}