fix(web): 本地优先保存与 design 页体验修复

- 保存先写本地缓存,登录后可选云端同步;退出登录不再因文件操作跳转登录

- 修复 Layui 遮罩残留、design2 保存后线条、toast 被 finally 提前关闭

- 保存过程恢复 loading spinner;成功提示 2.5 秒

- 云端 payload 瘦身与体积超限提示;后端 schema 迁移与 FileService 容错

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
24kycj
2026-06-24 19:24:34 +08:00
parent 4d19d7e814
commit 5fb269cc0a
36 changed files with 894 additions and 358 deletions
@@ -486,12 +486,45 @@ body.soon-admin-page .soon-admin-date-wrap input[type="date"].soon-input::-webki
border-radius: 4px;
}
.soon-admin-form { padding: var(--soon-space-md); }
.soon-admin-form--modal-shell {
display: flex;
flex-direction: column;
flex: 1;
min-height: 0;
width: 100%;
padding: 0;
box-sizing: border-box;
}
.soon-admin-form__scroll {
flex: 1;
min-height: 0;
overflow-x: hidden;
overflow-y: auto;
padding: var(--soon-space-md);
scrollbar-width: thin;
scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
}
.soon-admin-form__scroll::-webkit-scrollbar { width: 8px; }
.soon-admin-form__scroll::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.16);
border-radius: 4px;
}
.soon-layer-content--form-fixed .soon-admin-form--modal-shell {
height: 100%;
}
.soon-admin-form--modal-shell.soon-admin-form--plan .soon-admin-form__scroll,
.soon-admin-tpl-modal.soon-admin-form--modal-shell .soon-admin-form__scroll {
padding: var(--soon-space-lg);
}
.soon-admin-form--plan {
padding: var(--soon-space-lg);
}
.soon-admin-form--plan .soon-admin-form-panel:last-of-type {
margin-bottom: 0;
}
.soon-admin-form--modal-shell .soon-admin-form-panel:last-of-type {
margin-bottom: 0;
}
.soon-admin-form-grid {
display: grid;
grid-template-columns: 1fr 1fr;
@@ -677,6 +710,22 @@ body.soon-admin-page .soon-admin-date-wrap input[type="date"].soon-input::-webki
padding-top: var(--soon-space-md);
border-top: 1px solid var(--soon-border);
}
.soon-admin-form__foot {
display: flex;
justify-content: flex-end;
gap: var(--soon-space-sm);
flex-shrink: 0;
margin-top: 0;
padding: var(--soon-space-md) var(--soon-space-lg);
border-top: 1px solid var(--soon-border);
background: var(--soon-bg-elevated);
}
.soon-admin-tpl-modal.soon-admin-form--modal-shell {
padding: 0;
}
.soon-admin-tpl-modal__actions.soon-admin-form__foot {
padding-top: var(--soon-space-md);
}
.soon-admin-filter-bar {
display: flex;