feat: 实现 AI 日报历史资产化

This commit is contained in:
电摇小子
2026-07-14 11:07:35 +08:00
committed by 电摇小子
parent 16a9aed6bb
commit c291c94bd8
16 changed files with 1488 additions and 41 deletions
+480 -1
View File
@@ -2788,7 +2788,19 @@ body {
background: var(--wxex-bg-main);
}
.report-page > * {
.report-center-page {
display: grid;
grid-template-columns: 292px minmax(420px, 1fr) 304px;
width: 100%;
height: 100%;
min-height: 0;
min-width: 0;
overflow: hidden;
background: var(--wxex-bg-main);
}
.report-page > *,
.report-center-page > * {
min-height: 0;
min-width: 0;
}
@@ -3284,6 +3296,13 @@ body {
color: #fff;
}
.ai-report-footer button.secondary {
min-width: 92px;
border-color: var(--wxex-border);
background: var(--wxex-bg-elevated);
color: var(--wxex-text-primary);
}
.ai-report-footer button:disabled {
border-color: var(--wxex-border);
background: #e8ebe9;
@@ -3423,3 +3442,463 @@ body {
opacity: 1;
cursor: default;
}
.report-history-sidebar {
display: flex;
min-width: 0;
min-height: 0;
height: 100%;
flex-direction: column;
overflow: hidden;
border-right: 1px solid var(--wxex-border);
background: var(--wxex-bg-sidebar);
}
.report-history-header {
display: flex;
flex: 0 0 auto;
align-items: flex-start;
justify-content: space-between;
gap: 12px;
padding: 18px 16px 12px;
border-bottom: 1px solid var(--wxex-border);
}
.report-history-header h2,
.report-settings-panel header h2,
.report-viewer-header h1 {
margin: 0;
color: var(--wxex-text-primary);
}
.report-history-header h2 {
font: 700 18px/24px var(--wxex-font);
}
.report-history-header p,
.report-settings-panel header p,
.report-viewer-header p {
margin: 4px 0 0;
color: var(--wxex-text-secondary);
font: 12px/18px var(--wxex-font);
}
.report-history-header > span {
color: var(--wxex-text-muted);
font: 12px/18px var(--wxex-font);
}
.report-history-search {
display: flex;
flex: 0 0 auto;
align-items: center;
gap: 8px;
margin: 12px 14px 8px;
padding: 0 10px;
height: 36px;
border: 1px solid var(--wxex-border);
border-radius: var(--wxex-radius-md);
background: var(--wxex-bg-elevated);
color: var(--wxex-text-muted);
}
.report-history-search svg {
width: 16px;
height: 16px;
}
.report-history-search path,
.report-history-search circle {
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}
.report-history-search input {
min-width: 0;
flex: 1;
border: 0;
outline: 0;
background: transparent;
color: var(--wxex-text-primary);
font: 13px/18px var(--wxex-font);
}
.report-history-filters {
display: grid;
flex: 0 0 auto;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 6px;
padding: 0 14px 10px;
}
.report-history-filters button {
height: 28px;
border: 1px solid var(--wxex-border);
border-radius: var(--wxex-radius-sm);
background: var(--wxex-bg-elevated);
color: var(--wxex-text-secondary);
cursor: pointer;
font: 12px/16px var(--wxex-font);
}
.report-history-filters button.active {
border-color: var(--wxex-brand);
background: var(--wxex-brand-soft);
color: var(--wxex-brand);
}
.report-history-list {
flex: 1 1 auto;
min-height: 0;
overflow-y: auto;
padding: 0 10px 12px;
}
.report-history-item {
position: relative;
display: flex;
width: 100%;
min-width: 0;
gap: 10px;
padding: 10px 10px 10px 12px;
border: 0;
border-radius: var(--wxex-radius-md);
background: transparent;
color: var(--wxex-text-primary);
text-align: left;
cursor: pointer;
font-family: var(--wxex-font);
}
.report-history-item:hover {
background: rgba(255, 255, 255, 0.62);
}
.report-history-item.active {
background: var(--wxex-brand-soft);
color: var(--wxex-brand);
}
.report-history-item.active::before {
position: absolute;
left: 0;
top: 8px;
bottom: 8px;
width: 3px;
border-radius: 4px;
background: var(--wxex-brand);
content: '';
}
.report-history-avatar {
display: grid;
width: 36px;
height: 36px;
flex: 0 0 auto;
place-items: center;
overflow: hidden;
border-radius: var(--wxex-radius-md);
background: var(--wxex-bg-elevated);
color: var(--wxex-brand);
font: 700 14px/1 var(--wxex-font);
}
.report-history-avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
.report-history-text {
display: grid;
min-width: 0;
gap: 2px;
}
.report-history-text b,
.report-history-text small,
.report-history-text em {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.report-history-text b {
color: inherit;
font: 600 13px/18px var(--wxex-font);
}
.report-history-text small,
.report-history-text em {
color: var(--wxex-text-muted);
font: normal 12px/16px var(--wxex-font);
}
.report-history-empty {
display: grid;
gap: 10px;
padding: 18px 8px;
color: var(--wxex-text-muted);
font: 13px/18px var(--wxex-font);
}
.report-history-empty button,
.report-center-empty button {
justify-self: start;
min-height: 32px;
padding: 0 12px;
border: 1px solid var(--wxex-brand);
border-radius: var(--wxex-radius-md);
background: var(--wxex-brand);
color: #fff;
cursor: pointer;
font: 600 13px/18px var(--wxex-font);
}
.report-history-account {
flex: 0 0 auto;
padding: 12px;
border-top: 1px solid var(--wxex-border);
}
.report-viewer {
display: flex;
min-width: 0;
min-height: 0;
height: 100%;
flex-direction: column;
overflow: hidden;
background: #f2f1ee;
}
.report-viewer-header {
display: flex;
flex: 0 0 auto;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
padding: 18px 22px 12px;
border-bottom: 1px solid var(--wxex-border);
background: var(--wxex-bg-main);
}
.report-viewer-header h1 {
font: 700 20px/27px var(--wxex-font);
}
.report-viewer-toolbar {
display: flex;
flex: 0 0 auto;
align-items: center;
gap: 8px;
}
.report-viewer-toolbar button,
.report-zoom-bar button,
.report-more-popover button,
.report-settings-section button {
min-height: 32px;
padding: 0 12px;
border: 1px solid var(--wxex-border);
border-radius: var(--wxex-radius-md);
background: var(--wxex-bg-elevated);
color: var(--wxex-text-primary);
cursor: pointer;
font: 600 13px/18px var(--wxex-font);
}
.report-viewer-toolbar button.primary {
border-color: var(--wxex-ai);
background: var(--wxex-ai);
color: #fff;
}
.report-viewer-toolbar button:disabled {
color: var(--wxex-text-muted);
cursor: not-allowed;
opacity: 0.72;
}
.report-more-menu {
position: relative;
}
.report-more-popover {
position: absolute;
top: 38px;
right: 0;
z-index: 8;
min-width: 128px;
padding: 6px;
border: 1px solid var(--wxex-border);
border-radius: var(--wxex-radius-md);
background: var(--wxex-bg-elevated);
box-shadow: var(--wxex-shadow-popover);
}
.report-more-popover button {
width: 100%;
border: 0;
text-align: left;
}
.report-viewer-status {
flex: 0 0 auto;
padding: 8px 22px;
border-bottom: 1px solid var(--wxex-border);
background: var(--wxex-ai-soft);
color: var(--wxex-ai);
font: 12px/18px var(--wxex-font);
}
.report-viewer-stage {
display: flex;
flex: 1 1 auto;
min-height: 0;
min-width: 0;
justify-content: center;
overflow: auto;
padding: 22px;
}
.report-canvas {
align-self: flex-start;
padding: 0;
background: #fff;
box-shadow: 0 8px 24px rgba(32, 39, 36, 0.14);
}
.report-canvas img {
display: block;
max-width: none;
height: auto;
}
.report-zoom-bar {
display: flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
gap: 8px;
min-height: 48px;
border-top: 1px solid var(--wxex-border);
background: var(--wxex-bg-main);
}
.report-zoom-bar span {
min-width: 48px;
color: var(--wxex-text-secondary);
text-align: center;
font: 12px/18px var(--wxex-font);
}
.report-center-empty {
display: grid;
align-self: center;
justify-self: center;
max-width: 360px;
gap: 10px;
margin: auto;
color: var(--wxex-text-secondary);
text-align: center;
}
.report-center-empty h2 {
margin: 0;
color: var(--wxex-text-primary);
font: 700 18px/24px var(--wxex-font);
}
.report-center-empty p {
margin: 0;
font: 13px/20px var(--wxex-font);
}
.report-center-empty button {
justify-self: center;
}
.report-settings-panel {
display: flex;
min-width: 0;
min-height: 0;
height: 100%;
flex-direction: column;
overflow-y: auto;
border-left: 1px solid var(--wxex-border);
background: #f7f9f8;
}
.report-settings-panel header {
flex: 0 0 auto;
padding: 20px 18px 14px;
border-bottom: 1px solid var(--wxex-border);
}
.report-settings-panel header h2 {
font: 700 16px/22px var(--wxex-font);
}
.report-settings-section {
margin: 0;
padding: 16px 18px;
border-bottom: 1px solid var(--wxex-border);
}
.report-settings-section h3 {
margin: 0 0 8px;
color: var(--wxex-text-primary);
font: 700 14px/20px var(--wxex-font);
}
.report-settings-section p,
.report-settings-section code {
margin: 0 0 10px;
color: var(--wxex-text-secondary);
font: 12px/18px var(--wxex-font);
}
.report-settings-section code {
display: block;
max-width: 100%;
overflow-wrap: anywhere;
padding: 8px;
border-radius: var(--wxex-radius-sm);
background: var(--wxex-bg-elevated);
}
.report-settings-section.muted {
color: var(--wxex-text-muted);
}
.report-export-list {
display: grid;
gap: 8px;
margin-bottom: 10px;
}
.report-export-list div {
display: flex;
justify-content: space-between;
gap: 12px;
color: var(--wxex-text-secondary);
font: 12px/18px var(--wxex-font);
}
.report-export-list b {
color: var(--wxex-text-primary);
font-weight: 600;
}
@media (max-width: 1120px) {
.report-center-page {
grid-template-columns: 268px minmax(360px, 1fr) 280px;
}
.report-viewer-header {
flex-direction: column;
}
}