Web 端本地缓存、首页与会员弹窗体验优化

新增 IndexedDB 与最近文件 L1 缓存、云保存/打开链路;首页支持下载与清空本地缓存;修复清空 storage 后语言初始化报错;优化 design2 背景加载与侧栏标签样式;完善会员激活/支付弹层样式;后端补充文件缩略图字段与 thumb 接口。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
24kycj
2026-06-11 11:05:44 +08:00
parent 877fd278c2
commit 4ce4486b26
33 changed files with 3190 additions and 1143 deletions
+131 -3
View File
@@ -424,6 +424,7 @@ body.soon-design-page,
body.soon-design-page .layui-fluid.main,
body.soon-design-page .layui-row {
width: 100%;
max-width: 100%;
}
html:has(body.soon-design-page) {
@@ -431,15 +432,22 @@ html:has(body.soon-design-page) {
overflow: hidden;
}
body.soon-design-page,
body.soon-design-page *,
body.soon-design-page *::before,
body.soon-design-page *::after {
box-sizing: border-box;
}
body.soon-design-page {
height: 100vh;
max-height: 100vh;
max-width: 100vw;
overflow: hidden;
margin: 0;
padding: 0 !important;
display: flex;
flex-direction: column;
box-sizing: border-box;
background-color: #1e1e1e;
-webkit-font-smoothing: antialiased;
}
@@ -448,7 +456,21 @@ body.soon-design-page .soon-design-portal-bar,
body.soon-design-page .soon-portal-topbar {
position: static !important;
width: 100%;
max-width: 100%;
min-width: 0;
flex-shrink: 0;
overflow: hidden;
}
body.soon-design-page .soon-portal-topbar__brand {
flex-shrink: 0;
}
body.soon-design-page .soon-portal-topbar__actions {
flex: 1 1 auto;
min-width: 0;
overflow: hidden;
justify-content: flex-end;
}
body.soon-design-page #portal-topbar {
@@ -457,6 +479,7 @@ body.soon-design-page #portal-topbar {
body.soon-design-page .layui-fluid.main {
flex: 1;
min-width: 0;
min-height: 0;
height: auto !important;
overflow: hidden;
@@ -467,6 +490,7 @@ body.soon-design-page .layui-fluid.main {
body.soon-design-page .layui-row {
flex: 1;
min-width: 0;
min-height: 0;
display: flex;
flex-direction: row-reverse;
@@ -477,7 +501,7 @@ body.soon-design-page .layui-row {
}
body.soon-design-page .col-left {
flex: 1;
flex: 1 1 0;
min-width: 0;
margin-right: 0;
float: none;
@@ -509,15 +533,116 @@ body.soon-design-page .tools-bar {
background-color: #31373d;
}
body.soon-design-page .tools-bar.left-bar {
display: flex;
flex-direction: row;
align-items: center;
min-width: 0;
overflow: hidden;
}
body.soon-design-page .tools-bar.left-bar .mode-left {
display: flex;
flex: 1 1 auto;
min-width: 0;
overflow: hidden;
}
body.soon-design-page .tools-bar.left-bar .mode-warp {
min-width: 0;
overflow-x: auto;
overflow-y: hidden;
flex-wrap: nowrap;
-ms-overflow-style: none;
scrollbar-width: none;
}
body.soon-design-page .tools-bar.left-bar .mode-warp::-webkit-scrollbar {
display: none;
}
body.soon-design-page .tools-bar.left-bar .mode3 {
float: none;
flex-shrink: 0;
line-height: normal;
margin-right: 12px;
display: flex;
align-items: center;
}
body.soon-design-page #version_change {
white-space: nowrap;
flex-shrink: 0;
min-width: 60px;
display: flex;
display: inline-flex;
align-items: center;
justify-content: center;
}
body.soon-design-page .soon-side-tabs {
display: inline-flex;
flex-shrink: 0;
align-items: stretch;
margin-left: 10px;
height: 32px;
border: 1px solid #646E76;
border-radius: 6px;
overflow: hidden;
background-color: #2a2f35;
box-sizing: border-box;
}
body.soon-design-page .soon-side-tabs .ui-button {
margin-left: 0;
border: none;
border-radius: 0;
min-width: 48px;
height: 100%;
width: auto;
padding: 0 12px;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 13px;
white-space: nowrap;
line-height: 1;
box-sizing: border-box;
background-color: transparent;
color: #e8eaed;
}
body.soon-design-page .soon-side-tabs .ui-button + .ui-button {
border-left: 1px solid #646E76;
}
body.soon-design-page .soon-side-tabs .ui-button.ui-button-active {
background-color: #646E76;
color: #fff;
}
body.soon-design-page .soon-side-tabs .ui-button:not(.ui-button-active):hover {
background-color: #4a535c;
}
body.soon-design-page .soon-side-tabs .ui-button.ui-button-active:hover {
background-color: #74808a;
}
body.soon-design-page .soon-tool-text-btn {
flex-shrink: 0;
height: 32px;
min-width: 52px;
margin-left: 10px;
padding: 0 12px;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 13px;
white-space: nowrap;
line-height: 1;
box-sizing: border-box;
}
body.soon-design-page .img-warp {
flex-shrink: 0;
}
@@ -567,15 +692,18 @@ body.soon-design-page .container .right {
body.soon-design-page #canvas-div {
flex: 1;
min-width: 0;
min-height: 0;
position: relative;
overflow: hidden;
width: 100%;
max-width: 100%;
display: flex;
}
body.soon-design-page .canvas-wrapper {
width: 100%;
max-width: 100%;
height: 100%;
overflow: auto;
position: relative;